txt转pdf,本文用到了字体文件
引用的jar为
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
具体代码如下
package util;
import java.nio.charset.StandardCharsets;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.Font;
import com.itextpdf.text.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.*;
public class TextToPDF {
private static final String FONT = "C:\\Windows\\Fonts\\simhei.ttf";
public static void textToPdf(String text, String pdf) throws DocumentException, IOException {
Document document = new Document();
OutputStream os = Files.newOutputStream(new File(pdf).toPath());
PdfWriter.getInstance(document, os);
document.open();
//使用Windows系统字体
BaseFont baseFont = BaseFont.createFont(FONT, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font = new Font(baseFont);
InputStreamReader isr = new InputStreamReader(Files.newInputStream(new File(text).toPath()), StandardCharsets.UTF_8);
BufferedReader bufferedReader = new BufferedReader(isr);
String str = "";
while ((str = bufferedReader.readLine()) != null) {
document.add(new Paragraph(str, font));
}
document.close();
}
//测试方法
public static void main(String[] args) throws DocumentException, IOException {
String oldPath = "D:\\1.txt";
String rePath = "D:\\1.pdf";
TextToPDF.textToPdf(oldPath, rePath);
}
}