好的,基于@Mark Storer这里有一些入门代码。第一种方法创建一个包含10页的样本PDF,并在第一页上创建一些链接跳转到PDF的不同部分,以便我们可以使用某些内容。第二种方法打开在第一种方法中创建的PDF并遍历每个注释,试图找出注释链接到哪个页面并将其输出到TRACE窗口。该代码在VB中,但如果需要,应该很容易转换为C#。它的目标是iTextSharp 5.1.1.0。
如果我有机会,我可能会尝试进一步采取这种做法,实际分割和重新链接的东西,但我现在没有时间。
Option Explicit On
Option Strict On
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO
Public Class Form1
''//Folder that we are working in
Private Shared ReadOnly WorkingFolder As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Hyperlinked PDFs")
''//Sample PDF
Private Shared ReadOnly BaseFile As String = Path.Combine(WorkingFolder, "Sample.pdf")
Private Shared Sub CreateSamplePdf()
''//Create our output directory if it does not exist
Directory.CreateDirectory(WorkingFolder)
''//Create our sample PDF
Using Doc As New iTextSharp.text.Document(PageSize.LETTER)
Using FS As New FileStream(BaseFile, FileMode.Create, FileAccess.Write, FileShare.Read)
Using writer = PdfWriter.GetInstance(Doc, FS)
Doc.Open()
''//Turn our hyperlinks blue
Dim BlueFont As Font = FontFactory.GetFont("Arial", 12, iTextShar