Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在现有pdf中追加数据?_Java_Pdf_Itext_Itext7 - Fatal编程技术网

Java 如何在现有pdf中追加数据?

Java 如何在现有pdf中追加数据?,java,pdf,itext,itext7,Java,Pdf,Itext,Itext7,我试图在Java应用程序中使用iText 7向PDF添加一些数据 我无法在追加模式下成功打开pdf。我在网上寻找了一些解决方案,但都与iText5有关(并且使用了不再存在的类) 我能做什么?具体取决于您想要什么: 合并两个文档: 在文档末尾添加内容: 与之前类似,您可以创建一个新文档(到字节输出流),并将两者合并在一起 向现有页面添加内容: 这很难做到,因为这通常需要重新布局文档,目前没有PDF引擎可以做到这一点 在文档中填写表格: 向文档添加附件: 额外(3): 将内容添加到PDF中,在

我试图在Java应用程序中使用iText 7向PDF添加一些数据

我无法在追加模式下成功打开pdf。我在网上寻找了一些解决方案,但都与iText5有关(并且使用了不再存在的类)


我能做什么?

具体取决于您想要什么:

  • 合并两个文档:

  • 在文档末尾添加内容:
    与之前类似,您可以创建一个新文档(到字节输出流),并将两者合并在一起

  • 向现有页面添加内容:
    这很难做到,因为这通常需要重新布局文档,目前没有PDF引擎可以做到这一点

  • 在文档中填写表格:

  • 向文档添加附件:

  • 额外(3):

    将内容添加到PDF中,在现有内容的中间是非常困难的。 为了解原因,以下是有关如何在内部构建PDF文档的一些信息:

    • PDF文档包含供查看器呈现的指令,而不是纯文本
    • 指令及其参数分组在“对象”中
    • 可以压缩对象以减小文件大小
    • PDF文档保留所有这些对象的内部索引,称为外部参照表
    • PDF文档中的索引使用字节偏移量告诉渲染器可以在何处(文件中)找到对象
    假设您想更改(或添加)某些内容。 这样会弄乱外部参照中的所有字节偏移。观众将无法再次找到任何对象。

    还有一个事实是PDF不包含布局信息。如果您添加了一些新内容,而现有内容需要移动,则需要布局信息(什么对象组成一个句子?哪些句子组成一个段落?)。只有拥有布局信息,你才能明智地重新布局文档。

    它应该是第3个,这很难吗?如果我得到最后一页的文本,将其删除,然后将新文本添加到PDF页面,并将其附加到文档底部?@thenoobdeveloper这是noob无法做到的,因为他不懂PDF,“一个专家不会这么做,因为他非常了解PDF。”布鲁诺洛瓦吉说phrased@JorisSchellekens我们可以把这个短语放在一个框架里,挂在办公室的墙上:D