簡體   English   中英

如何使用 iTextSharp c# 將 FDF 寫入 PDF

[英]How to write FDF to PDF using iTextSharp c#

我有這個示例以編程方式填充 FDF 並將其可視化。

private readonly string pdfFormFileName = "PDFForm.pdf";

protected void OpenPDF_Click(object sender, EventArgs e)
{
    Response.Clear();
    Response.ContentType = "application/vnd.fdf";

    FdfWriter fdfWriter = new FdfWriter();

    fdfWriter.File = GetAbsolutePath() + pdfFormFileName;

    fdfWriter.SetFieldAsName("txtFirstName", FirstName.Text);
    fdfWriter.SetFieldAsName("txtLastName", LastName.Text);

    Response.AddHeader("Content-disposition", "inline; filename=FlatPDFForm.fdf");        
    fdfWriter.WriteTo(Response.OutputStream);        
    Response.End();
}

我需要將其保存到文件中,而不是顯示文件。

你能幫我嗎?

我找到了解決方案!

string newFile = Server.MapPath("~/") + "ModF23_Final.pdf";
string pdfTemplate = Server.MapPath("~/") + "ModF23.pdf";

PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));
AcroFields pdfFormFields = pdfStamper.AcroFields;
pdfFormFields.SetField("2", FirstName.Text);
pdfFormFields.SetField("2-1", LastName.Text);
pdfStamper.FormFlattening = true;
pdfStamper.Close();

安德里亞你可以嘗試使用這行代碼嗎

Response.ClearHeaders();
Response.ContentType = "application/vnd.fdf";
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment;Filename=FlatPDFForm.fdf");
Response.TransmitFile("FlatPDFForm.fdf");
Response.End();

注釋掉這一行fdfWriter.WriteTo(Response.OutputStream);

添加了正確的 ContentType

暫無
暫無

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

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