itextpdf怎么往pdf模版中添加列表啊

itextpdf怎么往pdf模版中添加列表啊,第1张

PdfReader reader = new PdfReader(filename)

ByteArrayOutputStream bos = new ByteArrayOutputStream()

PdfStamper ps = new PdfStamper(reader, bos)

BaseFont bf = BaseFont.createFont("C:\\Windows\\Fonts\\simsun.ttc,1",

BaseFont.IDENTITY_H,BaseFont.EMBEDDED)

ArrayList<BaseFont>fontList = new ArrayList<BaseFont>()

fontList.add(bf)

AcroFields s = ps.getAcroFields()

s.setSubstitutionFonts(fontList)

s.setField("a","aaa测试")

s.setField("b","测试奇偶")

ps.setFormFlattening(true)

ps.close()

FileOutputStream fos = new FileOutputStream(file)

fos.write(bos.toByteArray())

fos.close()

} catch (Exception e) {

e.printStackTrace()

}

‘合并图片为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的方法上。


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

原文地址:https://54852.com/bake/7897644.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存