Я использую itextSharp 4.1.6 для добавления AcroFields в существующий PDF и на втором этапе заполните эти поля контентом. Когда я открываю эти документы в Adobe Reader, я вижу содержимое. Когда я пытаюсь распечатать документ, все заполненные поля пусты.Отпечатано Pdf нет содержимого заполненных AcroForms
Это происходит с обоими, редактируемыми и сплющенными PDF-файлами. «GenerateAppearances» имеет значение True. Из-за существующей концепции лицензии я не могу перейти на другую версию. Мой код:
var dlg = new OpenFileDialog
{
FileName = "",
Filter = @"pdf|*.pdf"
};
if (dlg.ShowDialog() != DialogResult.OK) return;
// first step: create field
var outputpath1 = Path.Combine(Path.GetTempPath(), string.Format("{0}.pdf", Guid.NewGuid().ToString("N")));
var pdfReader1 = new PdfReader(dlg.FileName);
var output1 = new FileStream(outputpath1, FileMode.Create, FileAccess.Write);
var stamper1 = new PdfStamper(pdfReader1, output1);
InsertTextfield(stamper1, 1, 20, 500, 150, 100, "test");
stamper1.Close();
pdfReader1.Close();
// second step: insert some text
var outputpath2 = Path.Combine(Path.GetTempPath(), string.Format("{0}.pdf", Guid.NewGuid().ToString("N")));
var pdfReader2 = new PdfReader(outputpath1);
var output2 = new FileStream(outputpath2, FileMode.Create, FileAccess.Write);
var stamper2 = new PdfStamper(pdfReader2, output2);
stamper2.AcroFields.GenerateAppearances = true;
var formData = stamper2.AcroFields;
formData.SetField("test", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. ");
stamper2.Close();
pdfReader2.Close();
Process.Start(outputpath2);
И InsertTextField
:
private static void InsertTextfield(PdfStamper stamper, int page, float x, float y, float width, float height, string fieldname)
{
var field = PdfFormField.CreateTextField(stamper.Writer, true, false, 500);
field.SetWidget(new Rectangle(x, y, x + width, y + height), PdfAnnotation.HIGHLIGHT_INVERT);
field.SetFieldFlags(PdfAnnotation.FLAGS_PRINT);
field.FieldName = fieldname;
stamper.AddAnnotation(field, page);
}
Для документа, просто создать новый текстовый документ, добавить текст и сохранить в формате PDF. Выберите этот документ для начала.
Итак, как я могу получить свое содержимое для печати в печатных изданиях?
EDIT: Добавлен код
1. Доля код 2. Доля ваших документов 3. Попробуйте воспроизвести проблему в самом последнем выпуске, 5.5.9. –
* Это происходит с обоими, редактируемыми и сплющенными PDF-файлами * - если это происходит и с сплющенными документами, что-то очень подозрительное, если вы не используете дополнительные группы контента, которые отключены во время печати. – mkl
Благодарим за обмен кода. Теперь попробуйте еще раз с iTextSharp '5.5.9'. –