如何用java替换PDF中的书签,并将替换书签的PDF保存为TXT?

如何用java替换PDF中的书签,并将替换书签的PDF保存为TXT?,java,pdf,pdfbox,Java,Pdf,Pdfbox,我希望能够替换PDF文档中的书签(内容),例如“1.Start”到“”,并将替换的PDF保存到TXT文件中 我使用Java的pdfbox库完成了从PDF到txt的转换。然后,我完成了书签(内容)的提取,并用字符串保存了所有书签,该字符串已成功写入TXT文件。但在我转换书签(内容)后,我无法成功保存转换书签的PDF //用于保存书签字符串 私有静态字符串res=“”; //获取书签的递归调用 私有静态void printBookmark(pOutlineNode书签,int缩进)引发IOExcep

我希望能够替换PDF文档中的书签(内容),例如“1.Start”到“<1.Start>”,并将替换的PDF保存到TXT文件中

我使用Java的pdfbox库完成了从PDF到txt的转换。然后,我完成了书签(内容)的提取,并用字符串保存了所有书签,该字符串已成功写入TXT文件。但在我转换书签(内容)后,我无法成功保存转换书签的PDF

//用于保存书签字符串
私有静态字符串res=“”;
//获取书签的递归调用
私有静态void printBookmark(pOutlineNode书签,int缩进)引发IOException{
PDOutlineItem current=bookmark.getFirstChild();
while(当前!=null){
res+=“”+current.getTitle()+“\n”;
//我可以在这里添加一些代码来更改已加载文档的书签吗?
//我试图定义temp_current,temp_bookmark来存储所需的值和
//最后将其分配给PDDocument对象,但失败。
打印书签(当前,缩进+1);
current=current.getNextSibling();
}
}

对我的书签所做的任何更改都不会影响我从PDF保存到txt的文件。

您指的是页面上的目录,还是Adobe在左侧显示的书签(大纲)?如果是后者,您可以使用
PDOutlineItem.setTitle()
更改它们。是的,我尝试了“current.setTitle”(“+current.getTitle()+”\\n”)”及其更改;但是我不知道如何将更改保存到pdf,所以我无法将更改后的pdf转换为TXT。我只是尝试了一下,效果很好,大纲也更改了。您需要使用document.save()保存文件。但是请注意,页面上的目录是不相关的。那只是文字。它不会“自动”更改。非常感谢你。让我先试试。如何创建TXT文件?您是指页面上的目录,还是Adobe在左侧显示的书签(大纲)?如果是后者,您可以使用
PDOutlineItem.setTitle()
更改它们。是的,我尝试了“current.setTitle”(“+current.getTitle()+”\\n”)”及其更改;但是我不知道如何将更改保存到pdf,所以我无法将更改后的pdf转换为TXT。我只是尝试了一下,效果很好,大纲也更改了。您需要使用document.save()保存文件。但是请注意,页面上的目录是不相关的。那只是文字。它不会“自动”更改。非常感谢你。让我先试试。如何创建TXT文件?