是否可以用itext覆盖PDF标题?

时间:2013-02-01 12:42:20

标签: java pdf itext

我将一些文档合并到一个pdf文件中。有些页面有页眉和页脚,但不是全部。我试图从文档中删除标题但我无法编辑文档。我只能玩pdf文件。 有什么建议吗?

2 个答案:

答案 0 :(得分:2)

是的,可以在合并过程中在所需位置绘制内容。

                //in merge a loop
                for (int i = 1; i <= pages; i++) 
                { 
                    PdfImportedPage page = copy.GetImportedPage(reader, i); 
                    PdfCopy.PageStamp stamp = copy.CreatePageStamp(page); 
                    PdfContentByte cb = stamp.GetUnderContent(); 
                    // use cb to draw your new content
                    stamp.AlterContents(); 
                    copy.AddPage(page); 
                } 

答案 1 :(得分:1)

我认为您合并的文档没有可预测的格式。我的意思是:你事先不知道PDF是否被标记,你事先不知道页眉/页脚是否是OCG的一部分,你事先不知道是否定义了额外的页面边界,你不要事先知道页眉/页脚是否存储在单独的XObjects等中......

最有可能的是,您尝试合并的PDF是具有传统内容流的传统PDF。在这种情况下,页眉/页脚的定义可以在页面内容流中的任何位置,并且PDF没有任何存在的概念。就PDF文档而言,标题是在页面上绘制的一串单词,路径和形状,就像内容的任何其他部分一样。例如:PDF无法区分标题或章节的标题。

请澄清:标题/页脚是否定义为工件?他们以任何方式标记?等等......如果没有,你应该明白你的要求是不可能满足任何图书馆的,包括iText。