
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()
}
‘合并图片为pdfDim 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的方法上。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)