iTextSharp:将两个PDF文档合并为一个

iTextSharp:将两个PDF文档合并为一个,pdf,pdf-generation,itextsharp,Pdf,Pdf Generation,Itextsharp,请原谅我的英语不好 有两个PDF文档。两者共197页。第一篇1-2页的论文与本文件的另一页(3-197页)有链接。 我们需要将这两份文件合并为一份197页的文件: •1-2页-从第一份文件开始(带有工作链接,参考资料应发送到新合并文件的相关页面); •第二份文件中的3-197页 Doc:= New iTextSharp.text.Document(); ReaderDoc1:=New iTextSharp.text.pdf.PdfReader(FileName1); ReaderDoc2:=

请原谅我的英语不好 有两个PDF文档。两者共197页。第一篇1-2页的论文与本文件的另一页(3-197页)有链接。 我们需要将这两份文件合并为一份197页的文件: •1-2页-从第一份文件开始(带有工作链接,参考资料应发送到新合并文件的相关页面); •第二份文件中的3-197页

Doc:= New iTextSharp.text.Document();

ReaderDoc1:=New iTextSharp.text.pdf.PdfReader(FileName1);

ReaderDoc2:=New iTextSharp.text.pdf.PdfReader(FileName2);

FStream:=New System.IO.FileStream(OutFileName, System.IO.FileMode.CreateNew);

Writer := New iTextSharp.text.pdf.PdfCopy(Doc, FStream);

Doc.Open(); 

Writer.AddPage(Writer.GetImportedPage(ReaderDoc1,1));

Writer.AddPage(Writer.GetImportedPage(ReaderDoc1,2));

PageCount := ReaderDoc2.NumberOfPages;

For f := 3 To PageCount Do

Writer.AddPage(Writer.GetImportedPage(ReaderDoc2, f)); 

End For;
结果,链接断开了。向您展示如何保持链接正常工作。
谢谢你的帮助

您有一个a.pdf文档和一个B.pdf文档。文件A.pdf中的链接参考文件B.pdf。现在您需要将A.pdf与B.pdf连接起来。如果操作正确,您将得到一个C.pdf文档,链接将被保留。这意味着从A.pdf文档导入的链接仍将链接到B.pdf文档,而不是从B.pdf导入C.pdf的页面。这个问题的解决方案可以在“iText行动-第二版”的第7章中找到。下面我为您提供了相应的Java和C示例的链接

爪哇:

C#:

关键方法是MakeRemoteNamedDestinationsLocal。这将把原来从A.pdf指向B.pdf的远程链接更改为C.pdf内部的本地链接。
这是一个相当专业的问题。如果您没有成功地使用这些示例,那么很难解释在Stackoverflow这样的论坛上应该做什么。

您有一个文档a.pdf和一个文档B.pdf。文件A.pdf中的链接参考文件B.pdf。现在您需要将A.pdf与B.pdf连接起来。如果操作正确,您将得到一个C.pdf文档,链接将被保留。这意味着从A.pdf文档导入的链接仍将链接到B.pdf文档,而不是从B.pdf导入C.pdf的页面。这个问题的解决方案可以在“iText行动-第二版”的第7章中找到。下面我为您提供了相应的Java和C示例的链接

爪哇:

C#:

关键方法是MakeRemoteNamedDestinationsLocal。这将把原来从A.pdf指向B.pdf的远程链接更改为C.pdf内部的本地链接。
这是一个相当专业的问题。如果你不能成功地使用这些例子,那么很难解释在Stackoverflow这样的论坛上该做什么。

@mkl我在去柏林参加ETSI会议之前就回答了这个问题。我在代码中忽略了PdfCopy;我已经更正了我的答案。@mkl我在去柏林参加ETSI会议之前回答了这个问题。我在代码中忽略了PdfCopy;我已经更正了我的答案。