![](/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.