使用iTextSharp,是否有办法防止文本停留在矩形中

时间:2014-03-25 03:13:11

标签: c# itextsharp

我有一个现有的PDF(不包含表单字段 - 更多是扫描文档),并且正在使用PdfReader加载PDF“模板”,以便我在其上写文字。

对于我正在使用的位置简单字段:

PdfReader reader = new PdfReader(templatePath);


Chunk chunk = new Chunk(text, fontToUse);
Phrase phrase = new Phrase();
phrase.Add(chunk);

PdfContentByte canvas = this.PdfWriter.DirectContent;
ColumnText.ShowTextAligned(this.PdfContentByte, alignment, phrase, left, top, 0);

我还需要将一些文本写入一个400 x 200矩形的特定区域。由于文本的大小不同,它可能适合也可能不适合矩形。

有没有办法将文字写入矩形,如果文字太大而根本不显示(如隐藏的溢出会在HTML中有效)?

1 个答案:

答案 0 :(得分:2)

知道了!

Phrase myText = new Phrase(text);

PdfPTable table = new PdfPTable(1);

table.TotalWidth = 300;
table.LockedWidth = true;

PdfPCell cell = new PdfPCell(myText);
cell.Border = 0;
cell.FixedHeight = 40;

table.AddCell(cell);
table.WriteSelectedRows
(
 0, 
 -1, 
 300,
 700,
 writer.DirectContent
);