MergePDFs.vb
'' 完毕:
Imports System.IO
Imports System.Drawing
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Pdf.Annotations

'' 此示例演示如何将两个现有 PDF 合并为一个文档。
'' GcPdfDocument.MergeWithDocument() 方法提供了此功能,
'' 并允许您将另一个 PDF 中的全部或部分页面插入到当前 PDF 中
'' 文档。此示例演示了此方法的最简单形式,
'' 将整个 PDF 附加到当前文档。
Public Class MergePDFs
    Function CreatePDF(ByVal stream As Stream) As Integer
        Dim doc = New GcPdfDocument()
        Using fs0 = New FileStream(Path.Combine("Resources", "PDFs", "The-Rich-History-of-JavaScript.pdf"), FileMode.Open, FileAccess.Read)
            Using fs1 = New FileStream(Path.Combine("Resources", "PDFs", "CompleteJavaScriptBook.pdf"), FileMode.Open, FileAccess.Read)
                doc.Load(fs0)
                '' 保存下面添加的导航链接的页数:
                Dim pgNo = doc.Pages.Count
                Dim doc1 = New GcPdfDocument()
                doc1.Load(fs1)
                doc.MergeWithDocument(doc1, New MergeDocumentOptions())
                '' 在文档开头插入注释:
                Dim page = doc.Pages.Insert(0)
                Dim rc = Util.AddNote(
                    "GcPdfDocument.MergeWithDocument() 方法允许将所有或部分页面添加到当前文档" +
                    "",
                    page)
                '' 将注释链接到第二个文档的首页:
                page.Annotations.Add(New LinkAnnotation(rc, New DestinationFit(pgNo + 1)))
                '' 完成(必须在处理源之前保存目标文档):
                doc.Save(stream)
            End Using
            Return doc.Pages.Count
        End Using
        Return doc.Pages.Count
    End Function
End Class