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

Я использую 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.

Пожалуйста, ПОМОГИТЕ

Ответы [ 2 ]

0 голосов
/ 06 марта 2013

http://what -when-how.com / itext-5 / сохранение прав использования-чтения-включенных-форм-itext-5 /

  • установите для параметра FormFalttering значение False и установите RemoveUsageRights () (зависит от версии iText)
0 голосов
/ 28 июня 2012

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

...