gpt4 book ai didi

itextsharp - 图像未按顺序添加到 pdf 文档 itextsharp(元素顺序错误)

转载 作者:行者123 更新时间:2023-12-01 10:49:04 26 4
gpt4 key购买 nike

我现在正在使用 iTextSharp (5.4.5) 几个星期。这周,我在文档中的元素顺序方面遇到了一些奇怪的事情。

我正在处理包含主题和图像(图表)的 pdf 报告。

文档的格式是这样的:

自然保护区。主题 1 的主题标题

主题 1 的图表图像(来自 bytearray)

自然保护区。主题 2 的主题标题

主题 2 的图表图像 ...

下面是一个代码示例。我知道代码并不完全正确,但这只是为了指出问题。假设循环运行 10 次,那么我预计 10 个主题标题都直接跟在图像之后。

我注意到,如果到达页面末尾并且应该添加新的图像,图像将移至下一页并且下一个主题标题将打印在上一页上。

所以在纸面上我们有:

第 1 页:

主题 1图片主题1

话题2图片主题2

主题3主题4

第 2 页:

图片主题3图片话题4

话题5图片主题5

...

所以元素在纸上的顺序与我通过 Document.add 方法将元素放入文档的顺序不同。

这真的很奇怪。有人有什么想法吗?

int currentQuestionNr = 0;
foreach (Topic currentTOPIC in Topics)
{
currentQuestionNr++;

//compose question (via table so all questions (with nr prefix) are aligned the same)
PdfPTable questionTable = new PdfPTable(2);
questionTable.WidthPercentage = 100;
questionTable.SetWidths(new int[] { 4, 96 });

PdfPCell QuestionNrCell = new PdfPCell();
QuestionNrCell.BorderWidth = 0;
QuestionNrCell.HorizontalAlignment = PdfPCell.ALIGN_LEFT;
QuestionNrCell.VerticalAlignment = PdfPCell.ALIGN_TOP;
QuestionNrCell.AddElement(new Paragraph(String.Format("{0}. ", currentQuestionNr), PdfUtility.font_10_bold));

PdfPCell QuestionPhraseCell = new PdfPCell();
QuestionPhraseCell.BorderWidth = 0;
QuestionPhraseCell.HorizontalAlignment = PdfPCell.ALIGN_LEFT;
QuestionPhraseCell.VerticalAlignment = PdfPCell.ALIGN_TOP;
QuestionPhraseCell.AddElement(new Paragraph(currentTOPIC.Title, PdfUtility.font_10_bold));

questionTable.addCell(QuestionNrCell);
questionTable.addCell(QuestionPhraseCell);

//add topic to document
Document.add(questionTable)

//compose image
Image itextImage = GetImageForTopic(currentTOPIC); //let's assume this function returns an image!
Paragraph chartParagraph = new Paragraph();
chartParagraph.IndentationLeft = indentionForQuestionInfo;
chartParagraph.Add(itextImage);

//add image to document
Document.Add(chartParagraph);
}

最佳答案

如果您有一个 PdfWriter 实例(例如 writer),您需要强制 iText 使用像这样的严格图像序列:

writer.setStrictImageSequence(true);

否则,iText 将推迟添加图像,直到页面上有足够的空间来添加图像。

关于itextsharp - 图像未按顺序添加到 pdf 文档 itextsharp(元素顺序错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22664126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com