我有一个Pdf,它的字体存储在 /Resources字典中,在文档的 /Pages级别,以便它们在每一页都可以重复使用。这似乎实现了两件事情:当然正确的显示,但也较小的文件大小。当使用iText从这个Pdf复制页面时,我注意到,无论使用更高级别或更低级别的函数(如PdfPage的复制到或复制到AsXObject),所得到的Pdf都没有这个特性——资源而是存储在每个单独的页面上。
在进行页面复制时,没有坚持这一点有什么特殊的原因吗?
此外,我试图自己这样做,但似乎没有任何方法可以将参考资料放在文档的页面上。我可以使用PdfPages上的. put方法对单个页面执行此操作,但是,对于PdfDocents,似乎没有等效的方法。有没有一种方法可以使用iText创建一个具有此结构的Pdf文档?
你不必担心你的PDF文件膨胀。资源将作为间接对象添加到资源字典中。这意味着资源字典将保留对实际资源对象的引用,而不需要将其嵌入字典中。以下是PDF的/Pages条目:
3 0 obj
<<
/Type /Pages
/Count 3
/Kids [5 0 R 13 0 R 23 0 R ]
/Resources <<
/Font <<
/FAAAAH 7 0 R
/FAAABG 16 0 R
>>
/ExtGState <<
/GS1 15 0 R
/GS2 21 0 R
/GS3 25 0 R
>>
>>
>>
“/FAAAAH 7 0 R”行表示字体FAAAAH是对象#7。正如您所看到的,参考资料字典只保留对字体对象的引用(7 0 R)。实际字体对象位于PDF中的其他位置。每个PDF阅读器和解析器都知道如何访问对象#7。
如果您在复制或合并时遇到膨胀,那么PDF可能包含两次字体,而不是只有一次,并且有两次引用。/Resources的位置与文件的膨胀没有任何关系,是PDF中的内容增加了膨胀。
您可以通过在智能模式下运行PdfWriter在iText中解决这个问题:
pdfWriter.setSmartMode();
我们将研究iText不复制继承的原因。
我使用BIRT报告创建了一个PDF,每个数据页的标题中都包含一个表。现在我使用IText将目录添加到PDF报告中。有没有办法使用IText将标题从数据页复制到TOC页?
问题内容: 我创建了自己的build.xml,其中包含: 效果很好。当我调用ant run时,它会编译并运行我的应用程序,但是我的应用程序带有图标包,并且不会移动到“ build”文件夹,因此我的应用程序以无法找到我的图标的异常结束。当我自己移动它们时,它将起作用。 我尝试使用 它可以工作,但是我想不使用copy命令。javac是否有任何参数?或者是其他东西? 谢谢你的答案。 问题答案: 抱歉,您
我正在尝试将多个pdf页面合并为一个pdf页面。有很多iText的例子展示了如何将pdf页面合并到一个文件中,但是我需要所有的页面都放在一个页面中(一路上缩小它们的宽度和高度) 编辑:尝试从这里这个代码,但它只是合并成一个文件的pdf页面,我需要他们收缩成一个单一的页面
我在用iText7做游戏。净c#。我正在尝试在内存中创建一个多页PDF文档(n页数),其中源PDF文档只包含一页。 我可以用一页创建一个新文档,但无法根据需要创建额外的页面。我试过了 但我得到了一个ArgumentOutOfRange例外。。。索引超出范围。。。等 我试图关闭destPdfDoc,然后重新打开它,认为第二页直到我关闭它才被写入。但是当第二次打开destPdfDoc时,它没有页面。我
想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。 我有一个PDF文档,有两页。我需要阅读此文档的第一页,并使用阅读内容创建一个新的PDF文档。我将如何使用iText执行此操作?到目前为止,我无法尝试任何事情,因为我真的不知道如何开始。最好的方法是什么?
我在android和iText上遇到了一些问题,如果有人能帮忙的话。 android应用程序编写多个页面,每个页面包含不同的表。我没有允许一个表跨越一个页面,而是为每个页面添加一个表,并为下一个页面创建一个新表。这样我就可以控制页面总数、页眉和页脚。 我的问题是Android adobe pdf阅读器显示文档很好,正是我正在寻找的。但是,当我在PC上打开一个窗口以访问平板电脑上的 /mnt/sdc