簡體   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