![](/img/trans.png)
[英]How to add text to an existing pdf without overwriting the content with iText7 and C#?
[英]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.