【问题标题】:c# iText7 PDF AddNewPage fails [duplicate]c#iText7 PDF AddNewPage失败[重复]
【发布时间】:2020-06-15 14:04:00
【问题描述】:

我在这里放了一段c#和iText7 PDF的代码。我不知道为什么它不打印每张 3 行的 3 张纸,因为我在每组 3 行前面都有一个“AddNewPage”(只打印一页,每页 9 行)。你能帮助我吗。谢谢。

private void button1_Click(object sender, EventArgs e)
{
    var writer = new PdfWriter(@"C:\PDFDir\TestPDF.pdf");
    var pdf = new PdfDocument(writer);
    var document = new Document(pdf);
    Paragraph p = new Paragraph("");

    document.SetMargins(6, 0, 0, 18);   //T,R,B,L

    pdf.AddNewPage();                   //Page 1
    p = new Paragraph("Line 1 page 1");
    document.Add(p);
    p = new Paragraph("Line 2 page 1");
    document.Add(p);
    p = new Paragraph("Line 3 page 1");
    document.Add(p);

    pdf.AddNewPage();                    //Page 2 ?
    p = new Paragraph("Line 1 page 2");
    document.Add(p);
    p = new Paragraph("Line 2 page 2");
    document.Add(p);
    p = new Paragraph("Line 3 page 2");
    document.Add(p);

    pdf.AddNewPage();                    //Page 3 ?
    p = new Paragraph("Line 1 page 3");
    document.Add(p);
    p = new Paragraph("Line 2 page 3");
    document.Add(p);
    p = new Paragraph("Line 3 page 3");
    document.Add(p);

    document.Close();

} //End of button1_Click

【问题讨论】:

  • 要让Document 实例将之后添加的内容放到新页面上,您必须通过使用document.Add(new AreaBreak(AreaBreakType.NEXT_PAGE)); 告诉Document 实例,而不是底层PdfDocument 实例,见this answer
  • 我添加了行 'document.Add (new AreaBreak (iText.Layout.Properties.AreaBreakType.NEXT_PAGE));'替换之前的 'pdf.AddNewPage();'现在它可以正常工作了。谢谢。

标签: c# itext itext7


【解决方案1】:

我认为,您混淆了目标,将每个新的 Paragraph 添加到 Document,但将新页面添加到 PdfDocument。尝试在文档中添加中断。

var pdf = new Document();
PdfWriter.GetInstance(docPdf, new FileStream(<path>, FileMode.Create));
pdf.Open();
pdf.Add(new Paragraph("Line 1 page 1"));
pdf.NewPage();
pdf.Close();

【讨论】:

  • OP 在他的问题文本中提到了 iText 7。您的代码适用于 iText 5。
  • 谢谢,但它对我不起作用。进展顺利的是 mkl 之前的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 2016-10-15
相关资源
最近更新 更多