Как распечатать PDF с редактируемыми полями внутри другого PDF, NET? - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть код, который я использую, чтобы добавить (распечатать) документ PDF в другой документ с другой важной информацией, которая мне нужна, недавно я понял, что это не будет работать с PDF, в котором есть редактируемые поля, PDF будет печатать, но не заполненные поля, первая мысль, которая пришла мне в голову, - преобразовать каждую страницу в формате PDF, а затем распечатать изображение в формате PDF, я начал искать по этому вопросу, но все же я не смог сделать эту работу, у вас, ребята, есть какие-нибудь идеи о том, как я мог бы сделать эту работу?

Это часть моего кода ..

            public static void AttachPdfDocument(DruckKontext<DruckDatenOhneErgebnis> druckKontext, string pdfBaseString, string docName,
        Dictionary<string, List<KeyValuePair<string, string>>> fieldNamesAndValues)
    {
        try
        {

            PdfReader reader = new PdfReader(Convert.FromBase64String(pdfBaseString));
            PdfReader.unethicalreading = true;
            PdfWriter writer = druckKontext.Writer;
            PdfContentByte canvas = writer.DirectContent;
            for (int p = 1; p <= reader.NumberOfPages; p++)
            {

                PdfImportedPage page = canvas.PdfWriter.GetImportedPage(reader, p);
                canvas.AddTemplate(page, (PageSize.A4.Width / page.Width) * 0.7, 0, 0, (PageSize.A4.Height / page.Height) * 0.7, 85, BeratungsdokuStyle.DruckhöheMin + 20);
                if (p < reader.NumberOfPages)
                {
                    druckKontext.NewPageBeratungsdokumentation();
                }
            }
        }

    }

Печатный PDF

PDF с редактируемыми полями

...