我正在尝试使用iTextSharp生成PDF 它将包含许多图像,每个图像前面都有一个标题。但是当我生成PDF时,元素的顺序不会被保留 - 多个标题被组合在一起等等。
我将标题和图片包装在一个段落中,如下所示:
' Create paragraph and heading
Dim paragraph As New iTextSharp.text.Paragraph()
Dim heading As New iTextSharp.text.Chunk("Image title" & vbNewLine, pdfHeadingFont)
' Create image from Chart
Dim image = GetPdfImage(Me.chtMain)
Dim width = iTextSharp.text.PageSize.A4.Width - pdfDocument.LeftMargin - pdfDocument.RightMargin
Dim height = iTextSharp.text.PageSize.A4.Height - pdfDocument.TopMargin - pdfDocument.BottomMargin
image.Alignment = image.ALIGN_CENTER Or image.TEXTWRAP
image.ScaleToFit(width, height)
' Add heading and image to paragraph
paragraph.Add(heading)
paragraph.Add(image)
' Add paragraph to document
pdfDocument.Add(paragraph)
为什么图像和标题没有放在PDF中?我可以用其他方式做这件事吗?
谢谢,
马丁
答案 0 :(得分:1)
想出来,感谢this question。
显然,设置PdfWriter.StrictImageSequence = true
可以解决此问题
iTextSharp通过尝试在每个页面上尽可能多地填充段落来“优化”您的文档 - 无论顺序如何。
马丁