繁体   English   中英

首页> C#> itext7-如何添加文本到新页面?

[英]c# - itext7 - How to add text to new page?

我正在使用itext7创建Pdfs。 它允许我将段落添加到第一页,但是我不确定如何将内容添加到第二页。 如果我在调用AddNewPage()之后创建Canvas,那么它可以正常工作,但是当我使用一个段落并将其添加到文档中时,它不起作用。 感谢帮助。 在我的示例中,firstPageText和secondPageText将显示在第一页上:

protected void CreatePdf(string filePath, string firstPageText, string secondPageText)
   {
       PdfWriter writer = new PdfWriter(filePath);
       PdfDocument pdfDocument = new PdfDocument(writer);
       Document doc = new Document(pdfDocument);

       doc.Add(new Paragraph(firstPageText));
       pdfDocument.AddNewPage();
       doc.Add(new Paragraph(secondPageText)); 

       doc.Close();
   }

iText 7:Building Blocks的 第2章对此进行了解释。 请允许我复制该教程的片段:

如果我们使用了AreaBreak类型的NEXT_PAGE ,那么将开始一个新页面; 见图2.11。

在此处输入图片说明

JekyllHydeV5示例中,我们更改了一行:

 AreaBreak nextPage = new AreaBreak(AreaBreakType.NEXT_PAGE); 

现在,iText不再跳到下一列,而是跳到下一页。

默认情况下,新创建的页面将具有与当前页面相同的页面大小。 如果希望iText创建其他尺寸的页面,则可以使用接受PageSize对象作为参数的构造函数。 例如: new AreaBreak(PageSize.A3)

还有一个AreaBreak类型的LAST_PAGE 在不同的渲染器之间切换时,将使用此AreaBreakType

您会这​​样做使我感到惊讶:

doc.Add(new Paragraph(firstPageText));
pdfDocument.AddNewPage();
doc.Add(new Paragraph(secondPageText));

虽然记录的方式是这样的:

doc.Add(new Paragraph(firstPageText));
doc.Add(new AreaBreak(AreaBreakType.NEXT_PAGE));
doc.Add(new Paragraph(secondPageText));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM