我正在用Java生成一个PDDocument,代码如下...
HashMap<Integer, PDPageContentStream> mPageContentStreamMap = new HashMap<>();
PDDocument doc = new PDDocument();
for (int i = 1; i <= mNumPages; i++) {
PDPage page = new PDPage(PDRectangle.A4);
page.setRotation(90);
PDPageContentStream pageContentStream = new PDPageContentStream(doc, page);
contentStreamMap.put(i, pageContentStream);
doc.addPage(page);
}
}
然后保存并关闭文档,如下所示...
for (int i : mPageContentStreamMap.keySet()) {
mPageContentStreamMap.get(i).close();
}
doc.save("test-filename");
doc.close();
java.io.IOException: Scratch file already closed
at org.apache.pdfbox.io.ScratchFile.checkClosed(ScratchFile.java:390)
at org.apache.pdfbox.io.ScratchFileBuffer.<init>(ScratchFileBuffer.java:78)
at org.apache.pdfbox.io.ScratchFile.createBuffer(ScratchFile.java:403)
at org.apache.pdfbox.cos.COSStream.createOutputStream(COSStream.java:208)
at org.apache.pdfbox.pdmodel.common.PDStream.createOutputStream(PDStream.java:224)
at org.apache.pdfbox.pdmodel.PDPageContentStream.<init>(PDPageContentStream.java:259)
at org.apache.pdfbox.pdmodel.PDPageContentStream.<init>(PDPageContentStream.java:121)
有没有一种方法可以关闭流并创建多个PDF,而不会出现抓取文件错误?
在第一次运行之后,我为我的绘图逻辑意义创建了一个单例对象,相同的对象在不应该被重用的时候被重用了,因为输入(正在绘制的内容)已经改变了。
我尝试用apache PDFBox保存PDF文件,但出现错误 java.io.IOException:COSStream已关闭,无法读取。也许它所附的PDDocument已经关闭了? 出什么事了?
本质上,我试图用Java创建一个小工具,从某种用户输入中获取文本,想象一个普通的文本框,并用它创建一个PDF文件。 到目前为止,我用我对pdfbox的基本知识很快地学到了一些东西。 在我的应用程序中,我在另一个带有GUI元素的应用程序中实例化这个类(如下所示),如果我输入文本,比方说在一个文本框中,并且运行这个脚本一次--它运行起来非常好,但是第二次运行它,它就会崩溃,并给我带来这个恼人的错误:
我正在尝试用PDFBOX填充重复的表单。我正在使用树状图并用单个记录填充表单。pdf表格的格式是在第一页列出六个记录,在第二页插入一个静态页。(对于大于6条记录的树映射,该过程重复)。Im获得的错误与TreeMap的大小有关。这就是我的问题所在。我不明白为什么当我用35个以上的条目填充TreeMap时,我会得到以下警告: 2018年4月23日2:36:25 AM org.apache.pdfbox
有没有办法只在文件中暂存代码片段而不是整个文件? 只是想知道这是否可能。 使用Visual Studio 2015、TFS 2015(Git)。
Staging Area,暂存区 / 中间区。把对项目做的修改,先放到暂存区,然后再做提交。 用法 把对某个文件的所有修改添加到暂存区: git add <文件> 把在某个目录下做的所有修改添加到暂存区: git add <目录> 把做的所有修改还有新的文件添加到暂存区(不包含删除文件): git add . 把所有东西放到暂存区(修改,新文件,删除文件): git add -A 把做的所
我正在尝试加载PDF文档并打印它。整个过程都正常,但我收到了以下警告“警告:您没有关闭PDF文档”,我不明白为什么在我关闭文档后会出现这种情况。它出现在第11行(job.print();)。因为它是在打印时发生的,所以我无法调试它。