C# ItextSharp将文本调整到页面

C# ItextSharp将文本调整到页面,c#,text,itextsharp,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 = n

我是意大利人,我为我的英语感到抱歉。 我正在尝试使用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页面中


非常感谢并为我的英语感到抱歉

如果您在PDF页面结束之前到达文本页面的结尾,您可以调用
oDoc.newPage()
。另一种选择并不那么简单

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

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