Dim PdfDoc As Document = New Document
PdfDoc.SetMargins(0, 0, 0, 0)
Dim PdfWriter As PdfWriter = PdfWriter.GetInstance(PdfDoc, New FileStream(PdfName, FileMode.Create))
PdfDoc.Open()
For i = 0 To Imgs.Length - 1
s = Strings.Right(Imgs(i), 4).ToLower
Select Case s
Case ".jpg", ".png"
Dim PageImg As Image = iTextSharp.text.Image.GetInstance(Imgs(i))
PdfDoc.SetPageSize(New Rectangle(PageImg.Width, PageImg.Height))
PdfDoc.NewPage()
PdfDoc.Add(PageImg)
Case Else
End Select
Next
下面的代码可以加上书签,以纯数字表示,即第一页,书签为1
Dim Cb As PdfContentByte = PdfWriter.DirectContent
Dim Root As PdfOutline = Cb.RootOutline '书签的根
Dim Outline As PdfOutline
Dim Action As PdfAction
For i = 1 To 总页数 '从第一页到最后一页(跳过前面的附属页),逐个添加书签
Action = PdfAction.GotoLocalPage(i, New PdfDestination(PdfDestination.FIT), PdfWriter)
Outline = New PdfOutline(Root, Action, i.ToString)
Next i
pdfdoc.close
要是一个现有的pdf,就不知道如何弄过来。试验了几次,不行。我想关键点应该在打开pdf的方法上。
Spire.PDF添加书签到现有PDF文档参考以下代码,这只是一个参考,你可根据自己的实际情况修改。//加载文档
PdfDocument pdf = new PdfDocument()
pdf.LoadFromFile("示例.pdf")
for (int i = 0i <pdf.Pages.Counti++)
{
//添加书签
PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("第{0}章", i+1))
//设置书签指向的页面和位置
bookmark.Destination = new PdfDestination(pdf.Pages[i])
bookmark.Destination.Location = new PointF(0, 0)
//设置书签的文本格式和颜色
bookmark.DisplayStyle = PdfTextStyle.Bold
bookmark.Color = Color.Black
}
//保存文档
pdf.SaveToFile("Bookmark2.pdf")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)