不能让SpacingAfter与iTextSharp一起处理图像

本文关键字:一起 处理 图像 iTextSharp SpacingAfter 不能 | 更新日期: 2023-09-27 18:01:59

嗨,我想在我的iTextSharp生成的pdf文档中的图像后添加一些额外的空间。但由于某些原因无论我怎么做都无法阻止文本换行

示例图片

正如你所看到的"to read everyth…"不像其他的那样缩进

这是应该这样做的代码:

var brevityBox = iTextSharp.text.Image.GetInstance("http://" + domain + "/ImageGen.ashx?Text=" + brevityScore + "&FontSize=120&&FontStyle=Bold&Font=Calibri&Align=Center&image=/media/images/PDF/BrevityBox.jpg");
brevityBox.ScaleToFit(80f, 220f);
brevityBox.Alignment = Image.TEXTWRAP;
brevityBox.SpacingAfter = 460f;
doc.Add(brevityBox);
Chunk c3 = new Chunk(brevityText, FontFactory.GetFont("Verdana", 12, Font.NORMAL)); ;
Paragraph p3 = new Paragraph();
p3.IndentationLeft = 20;
p3.IndentationRight = 20;
p3.Alignment = Element.ALIGN_LEFT;
p3.Add(c3);
doc.Add(p3);

只是为了证明SpacingAfter是460点。

IndentationRight

没问题

任何想法?

不能让SpacingAfter与iTextSharp一起处理图像

我相信iTextSharp甚至没有使用SpacingAfter属性。我修改了方法

iTextSharp.text.pdf.PdfDocument.Add(iTextSharp.text.Image image){}

:

if (imageEnd < 0 || imageEnd < currentHeight + image.ScaledHeight + diff + image.SpacingAfter)
{
    imageEnd = currentHeight + image.ScaledHeight + diff + image.SpacingAfter;
}

从v5.2.1开始,它是PdfDocument.cs

中的第2244行