У меня есть файл PDF с формами XFA, который я могу успешно заполнить с помощью динамически созданного XML-файла.iTextSharp - динамически добавленное изображение не отображается в Acrobat Pro, но оно отображается в Foxit Reader
Теперь я пытаюсь вставить изображение (файл подписи в формате JPG), для которого я пробовал несколько способов, с «частичной» удачей.
Я попытался это: How can i set an image to a pdf field in existing pdf file?
И это: How can I insert an image with iTextSharp in an existing PDF?
Я имел в виду "частичный" удачи, потому что изображение не показывают в Foxit Reader, но не показывает в Acrobat Pro.
Любая помощь будет очень признательна.
EDIT:
Это код, я использую, чтобы заменить поле кнопку с изображением.
private void InsertSignatureIntoBOL(string inputFile, string fieldName, byte[] imageFile, string outputFile)
{
using (PdfStamper stamper = new PdfStamper(new PdfReader(inputFile), File.Create(outputFile)))
{
AcroFields.FieldPosition fieldPosition = stamper.AcroFields.GetFieldPositions(fieldName)[0];
PushbuttonField imageField = new PushbuttonField(stamper.Writer, fieldPosition.position, fieldName);
imageField.Layout = PushbuttonField.LAYOUT_ICON_ONLY;
imageField.Image = iTextSharp.text.Image.GetInstance(imageFile);
imageField.ScaleIcon = PushbuttonField.SCALE_ICON_ALWAYS;
imageField.ProportionalIcon = false;
imageField.Options = BaseField.READ_ONLY;
stamper.AcroFields.RemoveField(fieldName);
stamper.AddAnnotation(imageField.Field, fieldPosition.page);
stamper.Close();
}
}
Я также попробовал этот код добавить изображение в абсолютной позиции»
var pdfContentByte = stamper.GetOverContent(1);
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(Convert.FromBase64String(SignatureHiddenField.Value));
image.SetAbsolutePosition(100, 100);
pdfContentByte.AddImage(image, false);
Единственный способ я могу сделать изображение показать в Acrobat Pro является уплощение формы, но Я также заполняю поля XFA в том же виде и при сглаживании поля XFA отображаются пустыми. Как я уже упоминал, он отлично работает в Foxit Phantom, но мой основной интерес представляет Acrobat Pro.
Любой помощь будет очень, высоко оценена.
Если ваш документ является чистым документом xfa, изменения содержимого страницы PDF не должны отображаться при показе PDF. Ответы, на которые вы ссылаетесь, по крайней мере частично работаете с содержимым страницы PDF. Это неудивительно, что их результаты не показаны акробатом. Однако, конечно, пожалуйста, покажите соответствующий код и образец PDF. – mkl
Добавлен код. Любая помощь будет очень, очень ценится. Спасибо. –
Ну, код, добавляющий к содержимому, окончательно добавляет к обычному содержимому страницы, которое игнорируется в случае xfa-форм. Я не очень уверен в комментариях ... Боюсь, что вам придется изменить XML-файл xfa в PDF для ваших требований. – mkl