我正在尝试使用PDF框将unicode文本文件转换为PDF。
任务: 我的方法将unicode编码的TextFile作为输入并输出PDF文件。
问题: 创建的PDF具有零字节。它没有写任何东西。
我正在使用 Apache PDFBox 2.0.6
这是我的代码:
public class TexttoPDF {
public File texttoPDF(File textFile) throws Exception {
PDDocument document = new PDDocument();
PDPage blankPage = new PDPage();
PDFont font = PDType1Font.TIMES_ROMAN;
PDPageContentStream contentStream = new PDPageContentStream(document, blankPage);
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(textFile), "UTF8"));
String str;
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 100, 700 );
while ((str = in.readLine()) != null) {
contentStream.drawString(str);
}
contentStream.endText();
document.save( pdffile.getName());
contentStream.close();
document.close();
in.close();
return pdffile;
}
}
如何解决这个问题?
答案 0 :(得分:0)
在保存之前关闭您的内容流,而不是在保存之后。所以改变
document.save( pdffile.getName());
contentStream.close();
到
contentStream.close();
document.save( pdffile.getName());
在调用new PDPage()
后,将页面添加到您的文档中:
document.addPage(blankPage);