Не расплющенный PDF, не предоставляющий все записи - PullRequest
0 голосов
/ 03 мая 2019

Я печатаю в PDF-форму, которую я создал в Adobe LiveCycle Designer, используя itextsharp. Когда я отмечаю FormFlattens = true, все поля печатаются, однако, когда я отмечаю FormFlattens = false, поля формально печатаются в форме при открытии файла в Adobe Reader или Adobe Pro. Если я открою файл, скажем, в браузере, все поля будут отображаться так, как они должны, но мне будет сложно попросить конечного пользователя отредактировать PDF в Chrome, затем распечатать в PDF и затем отправить этот файл всем, кому он нужен.

private byte[] Generate(Student student)
    {
        var reader = new PdfReader(Server.MapPath("~/Content/pdf/template.pdf"));
        using (var ms = new MemoryStream())
        {
            using (var pdfStamper = new PdfStamper(reader, ms))
            {
                var pdfFormFields = pdfStamper.AcroFields;

                pdfFormFields.SetField("Id1", student.Id);
                pdfFormFields.SetField("HeaderName1", $"{student.LastName}, {student.FirstName}");
                pdfFormFields.SetField("CurrentYear1", $"Fall {DateTime.Now.Year}");
                pdfFormFields.SetField("SessionAssigned", student.SessionAssigned.ToString());

                pdfFormFields.SetField("StudentName", $"{student.FirstName} {student.MiddleName} {student.LastName}");

var xfa = pdfFormFields.Xfa;
                var xml = pdfFormFields.Xfa.DatasetsNode.FirstChild.OuterXml;
                using (var stringReader = new StringReader(xml))
                {
                    using (var xmlReader = XmlReader.Create(stringReader))
                    {
                        xfa.FillXfaForm(xmlReader);
                        pdfStamper.FormFlattening = false;
                    }
                }

            }

            return ms.ToArray();
        }
    }

Это тоже не те же поля. Это просто случайно, будут ли они показываться в читателе или профессионале.

Я бы хотел, чтобы все поля отображались, когда пользователь уходит на редактирование файла в reader / pro.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...