1
我们有许多pdf文档,每个文档都有打开其他pdf文档的链接。当点击链接时,它将在同一个文件系统中打开另一个pdf文档。问题是我们需要更改一些目录的名称,这些目录需要更改指向该目录中的pdf文档的所有链接。我们会手动执行此操作,但实际上有成千上万的链接需要修改。修改其他PDF文档的链接
我们尝试过使用iTextSharp和PdfSharp来改变链接,但是很难找到合适的对象。下面显示了带有两个链接的示例pdf文件的内容。您可以看到对象12是一个链接,引用对象21和对象21使用对象20中的引用打开一个新窗口。Filespec类型的对象20包含链接的pdf文件夹名称/ A.pdf的路径。第二个环节遵循相同的模式,但使用对象16,23和22
12 0 obj<</Type/Annot/P 5 0 R/F 4/C[1 0 0]/Subtype/Link/A 21 0 R/M(D:20130710103035-07'00')/Border[0 0 0]/Rect[144 612 216 630]/NM(QVDTKWKAZGVAAGHJ)/BS 13 0 R>>
endobj
13 0 obj<</W 0/S/S/Type/Border>>
endobj
16 0 obj<</Type/Annot/P 5 0 R/F 4/C[1 0 0]/Subtype/Link/A 23 0 R/M(D:20130710103040-07'00')/Border[0 0 0]/Rect[126 594 216 612]/NM(WFAYQFGTTIESQOKW)/BS 17 0 R>>
endobj
17 0 obj<</W 0/S/S/Type/Border>>
endobj
20 0 obj<</Type/Filespec/F(Folder-Name/A.pdf)/UF(Folder-Name/A.pdf)/Desc()>>
endobj
21 0 obj<</S/GoToR/D[0/Fit]/NewWindow true/F 20 0 R>>
endobj
22 0 obj<</Type/Filespec/F(Folder-Name-2/B.pdf)/UF(Folder-Name-2/B.pdf)/Desc()>>
endobj
23 0 obj<</S/GoToR/D[0/Fit]/NewWindow true/F 22 0 R>>
endobj
我们如何使用iTextSharp的或PdfSharp更改“文件夹名称”和“文件夹名称-2”的一些其他任意文件夹路径?
这是任何帮助吗? http://stackoverflow.com/a/8141831/231316 –
这实际上是我开始。我试图调整你提供的代码,使其工作,但不能。正如您在提供的PDF文档中看到的那样,没有URI引用。 Annotation引用一个GoToR对象,然后引用一个Filespec对象。这是一个不同于你提供代码的链接结构。 –
不幸的是,我生产的PDF看起来像这样的问题。我可以使用'A'动作创建一个链接到文件的文件,或者我可以创建一个普通的'FileSpec',但是对于我来说我无法创建一个指向'FileSpec'的动作。你能提供任何示例文件吗?或者你可以通过电子邮件发送给我,我的地址在我的个人资料中。 –