2014-03-25 132 views
0

我有一个现有的PDF(不包括表单字段 - 更多的扫描文档),并使用PdfReader加载PDF“模板”,以便我写上它的文字。使用iTextSharp,有没有办法让文本停留在一个矩形

对于位置简单的领域我使用:

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×200的矩形的特定区域。由于文本的大小不同,它可能会或可能不适合矩形。

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

回答

2

Got it!

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 
); 
相关问题