2011-01-26 76 views
1

我是意大利人,我很抱歉我的英语。 我想使用itextSharp将一个txt文件转换为pdf文件。 这是我的代码:ItextSharp适合文本到页面

String l = file.ReadLine() + "\r\n"; 
while (l != null) 
{ 
    iTextSharp.text.Font contentFont = iTextSharp.text.FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL); 
    //Chunk line = new Chunk(l, contentFont); 
    Paragraph p2 = new Paragraph(l,contentFont); 
    oDoc.Add(p2); 
    oDoc.Add(Chunk.NEWLINE); 
    l = file.ReadLine(); 
} 
oDoc.Close(); 

的文本页面是一个多页的文件,所以我想重现相同的PDF文件。

当我阅读我的txt文件中的“第2页”时,我需要在pdf文件中创建一个新页面。

我想将第2页之前的所有文本放在一个pdf页面中。

我该如何将所有的文本放在一个pdf页面中?

感谢的这么多,对不起我的英语

回答

0

好吧,如果你达到一个PDF页面结束前一文本页面的结尾,你可以叫oDoc.newPage()。替代方案并不那么简单。

唯一的方法就是在每一页上创建一个文本字段,设置多行标志。然后将字体大小设置为零,字段将自动选择字体大小,以调整字体的大小以适合可用空间(在一些合理限制内)。您可以使用ColumnText并致电go(true)。这将“模拟”布局,让您在实际将文本绘制到内容流之前对实际字体大小进行调整。