// 完毕:
using System;
using System.IO;
using System.Drawing;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Pdf.Annotations;
namespace DsPdfWeb.Demos
{
// 此示例演示如何将两个现有 PDF 合并为一个文档。
// GcPdfDocument.MergeWithDocument() 方法提供了此功能,
// 并允许您将另一个 PDF 中的全部或部分页面插入到当前 PDF 中
// 文档。此示例演示了此方法的最简单形式,
// 将整个 PDF 附加到当前文档。
public class MergePDFs
{
public int CreatePDF(Stream stream)
{
using var fs0 = File.OpenRead(Path.Combine("Resources", "PDFs", "The-Rich-History-of-JavaScript.pdf"));
using var fs1 = File.OpenRead(Path.Combine("Resources", "PDFs", "CompleteJavaScriptBook.pdf"));
var doc = new GcPdfDocument();
doc.Load(fs0);
// 保存下面添加的导航链接的页数:
var pgNo = doc.Pages.Count;
var doc1 = new GcPdfDocument();
doc1.Load(fs1);
doc.MergeWithDocument(doc1, new MergeDocumentOptions());
// 在文档开头插入注释:
var page = doc.Pages.Insert(0);
var rc = Common.Util.AddNote(
"GcPdfDocument.MergeWithDocument() 方法允许将所有或部分页面添加到当前文档" +
"",
page);
// 将注释链接到第二个文档的首页:
page.Annotations.Add(new LinkAnnotation(rc, new DestinationFit(pgNo + 1)));
// 完成(必须在处理源之前保存目标文档):
doc.Save(stream);
return doc.Pages.Count;
}
}
}