C# 如何使用iTextSharp下载已编辑的PDF

C# 如何使用iTextSharp下载已编辑的PDF,c#,itext,C#,Itext,我有带字节的pdf,我正在用它阅读pdf byte[] pdfContent =[]; PdfReader pdfReader = new PdfReader(pdfContent); using (MemoryStream outputStream = new MemoryStream()) { using (var pdfStamper = new PdfStamper(pdfReader, outputStream)) { AcroFields pdf

我有带字节的pdf,我正在用它阅读pdf

byte[] pdfContent =[];

PdfReader pdfReader = new PdfReader(pdfContent); 

using (MemoryStream outputStream = new MemoryStream())
{
    using (var pdfStamper = new PdfStamper(pdfReader, outputStream))
    {
        AcroFields pdfFormFields = pdfStamper.AcroFields;
        pdfFormFields .SetField("txtForename", "Test"));
        pdfStamper.Close();
        array = outputStream.ToArray();
    }
}

如何使用memorystream下载此编辑pdf首先,您的代码似乎是错误的。你有空的PdfContent,你正在尝试打开pdf,我猜是空内容。此外,您不需要MemoryStream,因为您的目的是将文件写入磁盘(filestream将是最好的选择)

此示例可以帮助您编辑pdf

private void fillPDFForm()
{
    string formFile = Server.MapPath(P_InputStream);
    string newFile = Server.MapPath(P_OutputStream);
    PdfReader reader = new PdfReader(formFile);
    using (PdfStamper stamper = new PdfStamper(reader, new FileStream(newFile, FileMode.Create)))
    {
        AcroFields fields = stamper.AcroFields;

        // set form fields
        fields.SetField("name", "John Doe");
        fields.SetField("address", "xxxxx, yyyy");
        fields.SetField("postal_code", "12345");
        fields.SetField("email", "johndoe@xxx.com");

        // flatten form fields and close document
        stamper.FormFlattening = true;
        stamper.Close();
    }
}

进一步参考:

下载是什么意思?我们处理的是什么样的申请?它是控制台应用程序吗?网络应用程序?谁将下载该文件?客户是否通过浏览器请求文件?相关:我正在编辑我的pdf我想下载已编辑的pdfDo你想保存到磁盘吗?或者通过url下载?如何获取编辑pdf此处我无法获取编辑的pdf,在该路径中pdf为空无法查看我在pdf中编辑的内容没有将该文档放置在路径中我们可以下载吗?如果我们从internet下载任何内容,我们可以看到浏览器历史记录中的下载路径是默认路径