如何用itext添加书签

如何用itext添加书签,第1张

‘合并图片为pdf

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")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11417692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存