Почему мои поля PDF остаются пустыми в Adobe Reader, если я не выравниваю PDF-документ?

Я использую iTextSharp для заполнения полей в PDF. Я хотел бы, чтобы PDF-файл оставался редактируемым, когда пользователь его открывает (т.е. чтобы я не мог сгладить PDF-файл).

Проблема в том, что когда я печатаю PDF-файл и просматриваю значения в Adobe Reader, поля остаются пустыми. Если я поставлю PDF-файл и сплющу его, а затем просмотрю значения, то поля действительно будут иметь значения.

Как заполнить поля и оставить PDF-файл редактируемым?

Вот мой метод как действие ASP.NET MVC:

public ActionResult GetPdfTWOWithSurname()
{
        PdfHelpers _pdfHelper = new PdfHelpers(Server, Url, "~/Content/newForm.pdf");
        var outStream = new MemoryStream();
    var pdfReader = new PdfReader(_pdfHelper.GetPdfBytes());
        var pdfStamper = new PdfStamper(pdfReader, outStream, '\0', true); //The 'true' value is important. Otherwise the document loses some dynamic features.
    pdfStamper.Writer.CloseStream = false;
    pdfStamper.FormFlattening = false; //Allow editing after close.


    var fields = pdfStamper.AcroFields;

    //Fill in text fields...
        fields.SetField("topmostSubform[0].Page2[0].InvestorDetails_Surname[0]", "This is a surname");
    pdfStamper.Close();

    //Get outStream bytes and return...
    outStream.Seek(0, SeekOrigin.Begin);
    byte[] outBytes = new byte[outStream.Length];
    outStream.Read(outBytes, 0, (int)outStream.Length);

    return File(outBytes, "application/pdf", "ThePdfFileTWO.pdf");
}

Обратите внимание, что этот PDF-файл доступен для чтения, и я предполагаю, что он останется таким даже после сохранения, поскольку Adobe Reader показывает «Расширенный» набор инструментов, когда я открываю файл. И поля остаются редактируемыми.

Также обратите внимание, что PDF-файл остается редактируемым, а поля имеют значения... в программе чтения FoxitPDF.

Пожалуйста помоги


person willem    schedule 09.03.2012    source источник


Ответы (2)


У меня такая же проблема, и это происходит только в том случае, если PDF-файл был создан с помощью Adobe Acrobat с расширенными функциями. Единственный вариант, который я нашел, - это заново создать форму, чтобы у всплывающего окна не было причин всплывать. ГЛ

person Ben Petersen    schedule 28.06.2012

http://what-when-how.com/itext-5/preserving-the-usage-rights-of-reader-enabled-forms-itext-5/

  • установите для FormFalttering значение False и установите RemoveUsageRights() (зависит от версии iText)
person Gregory W    schedule 06.03.2013