ItextSharp将文本适合页面

时间:2011-01-26 14:39:43

标签: c# text itextsharp

我是意大利人,对不起我的英语。 我正在尝试使用itextSharp将txt文件转换为pdf文件。 这是我的代码:

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页面中显示所有文本?

非常感谢,对不起我的英语

1 个答案:

答案 0 :(得分:0)

好吧,如果您在PDF页面结束前到达文本页面的末尾,则只需拨打oDoc.newPage()即可。替代方案并非如此简单。

唯一的简单方法就是在每个页面上创建一个文本字段,并设置多行标志。然后,您将字体大小设置为零,该字段将自动选择一个字体大小,该字体大小将调整字体大小以适应可用空间(在一些合理的限制范围内)。

您还可以使用ColumnText并致电go(true)。这将“模拟”布局,允许您在实际将文本绘制到内容流之前调整实际字体大小。