我有一个现有的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中有效)?
答案 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
);