簡體   English   中英

使用iTextSharp將PDF附加到生成的PDF

[英]Appending PDFs to generated PDF using iTextSharp

我正在使用iTextSharp生成pdf。 如果某些屬性為true,那么我還想插入具有靜態內容的現有pdf。

private byte[] GeneratePdf(DraftOrder draftOrder)

  // create a pdf document
  var document = new Document();

  // set the page size, set the orientation
  document.SetPageSize(PageSize.A4);

  // create a writer instance
  var pdfWriter = PdfWriter.GetInstance(document, new FileStream(file, FileMode.Create));

  document.Open();

  if(draftOrder.hasProperty){
    //add these things to the pdf
    var textToBeAdded = "<table><tr>....</table>";
  }
  FormatHtml(document, textToBeAdded , css);

  if(someOtherProperty){
    //add static pdf from file
    document.NewPage();

    var reader = new PdfReader("myPath/existing.pdf");
    PdfImportedPage page;

    for(var i = 0; i < reader.NumberOfPages; i++){
      //It's this bit I don't really understand
      //**how can I add the page read to the document being created?**
    }

我可以從源代碼加載pdf,但是當我遍歷頁面時,似乎無法將它們添加到正在創建的文檔中。

干杯

請閱讀http://manning.com/lowagie2/samplechapter6.pdf

如果你不介意失去所有的交互性,你可以從與作家對象模板GetImportedPage()方法,它用添加到文檔AddTemplate ()

這個問題在StackOverflow上已經回答了很多次,您會注意到我總是警告某些危險:您需要意識到導入頁面的尺寸可能與最初定義的頁面尺寸不同。 因此,導入頁面的不可見部分可以變得可見; 可見部分可能會變得不可見。

我更喜歡使用PdfCopy在第二個步驟中添加額外的頁面,但這也許就是我自己。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM