生成PDF后,PDFBox会保留打开的字体文件

时间:2016-03-14 08:57:02

标签: java pdf fonts pdfbox

我遇到了为生成PDF而加载的TTF字体的问题,最终导致Linux上打开的文件过多。我最后测试的PDFBox版本是2.0.0-RC3。

基本上对于每个PDF我创建一个文档并加载我想要使用的两种字体。生成文档后,我关闭所有资源,但两种字体的文件描述符保持打开状态。

我的问题是如何关闭这两个文件?

这是我的基本代码:

doc = new PDDocument();
page = new PDPage(PDRectangle.A4);
doc.addPage(page);

PDFont font = PDType0Font.load(doc, new File(settings.getProperty("font.location")));
PDFont boldFont = PDType0Font.load(doc, new File(settings.getProperty("bold.font.location")));

PDPageContentStream content = new PDPageContentStream(doc, page);
// add content stuff

content.close();
bos = new ByteArrayOutputStream();
doc.save(bos);
bos.flush();
byte[] bytes = bos.toByteArray();
doc.close();

0 个答案:

没有答案