2012-06-20 50 views
3

我想使用iTextSharp創建基於PDF模板的多頁PDF文檔。不幸的是,該模板只有一個頁面,但我想將它放在生成的文檔中。使用基於iTextSharp的模板創建PDF文檔

public static void GeberateFromTamplate(string pathTamplate) 
{ 
    //string pathTamplate = Server.MapPath("PDFs"); 
    string pdfTemplate = pathTamplate + @"\newTemplate.pdf"; 
    string newFile = pathTamplate + @"\Filled-outForm.pdf"; 

    PdfReader pdfReader = new PdfReader(pdfTemplate); 
    PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(
     newFile, FileMode.Create)); 

    AcroFields pdfFormFields = pdfStamper.AcroFields; 
    // set form pdfFormFields         
    // 
    pdfFormFields.SetField("f1_01(0)", "1"); 
    pdfFormFields.SetField("f1_02(0)", "1"); 
    pdfFormFields.SetField("f1_03(0)", "1"); 
    pdfFormFields.SetField("f1_04(0)", "8"); 
    pdfFormFields.SetField("f1_05(0)", "0"); 
    pdfFormFields.SetField("f1_06(0)", "1"); 
    pdfFormFields.SetField("f1_07(0)", "16"); 
    pdfFormFields.SetField("f1_08(0)", "28"); 
    pdfFormFields.SetField("f1_09(0)", "Franklin A."); 
    pdfFormFields.SetField("f1_10(0)", "Benefield"); 
    pdfFormFields.SetField("f1_11(0)", "532"); 
    pdfFormFields.SetField("f1_12(0)", "12"); 
    pdfFormFields.SetField("f1_13(0)", "1234"); 

    // The form's checkboxes 
    pdfFormFields.SetField("c1_01(0)", "0"); 
    pdfFormFields.SetField("c1_02(0)", "Yes"); 
    pdfFormFields.SetField("c1_03(0)", "0"); 
    pdfFormFields.SetField("c1_04(0)", "Yes"); 

    pdfStamper.FormFlattening = false; 

    // close the pdf 
    pdfStamper.Close(); 
} 
+0

根據您希望在「生成的文檔中」乘以哪個標準?另外,請解釋一下,您希望結果是多個文檔文件還是基於相同模板的多個頁面的單個pdf文件? –

+0

嗨ebad86。需要基於相同模板創建包含多個頁面的單個pdf文件 – Max

+0

您可以使用PDFConcatenate將基於模板的文檔組合在一起。看看類似的問題[這裏](http://stackoverflow.com/questions/20485886/converting-multiple-images-into-multiple-pages-pdf-using-itextsharp/) –

回答