У меня есть PDF, где я добавляю TextFields.iTextSharp - содержимое поля PDF становится невидимым
var txtFld = new TextField(stamper.Writer, new Rectangle(cRightX - cWidthX, cTopY3, cRightX, cTopY), FieldNameProtocol) { Font = bf, FontSize = cHeaderFontSize, Alignment = Element.ALIGN_RIGHT, Options = PdfFormField.FF_MULTILINE };
stamper.AddAnnotation(txtFld.GetTextField(), 1);
«бф» выше шрифт Unicode, который встраивается в PDF:
BaseFont bf = BaseFont.CreateFont(UnicodeFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); // Create a Unicode font to write in Greek...
Позже, на меня заполнить эти поля с греческим текстом.
var acrof = stamper.AcroFields;
acrof.SetField(fieldName, field.Value/*, field.Value*/); // Set the text of the form field.
acrof.SetFieldProperty(fieldName, "setfflags", PdfFormField.FF_READ_ONLY, null); // Make it readonly.
Когда я рассматриваю PDF, большую часть времени текст отсутствует, и если я нажимаю на (невидимом) TextField в Acrobat, то текст становится видимым (пока он не теряет фокус снова).
Любая идея, что здесь происходит? Я также пробовал использовать не встроенный шрифт, но я получаю то же самое (хотя я все еще, кажется, получаю встроенные шрифты в PDF, похожие на шрифт, который я использую). Я не знаю, не пропал ли я.
Посмотрите это, его .Net, но нужно легко перевести на Java, http://stackoverflow.com/a/18445315/231316 –
@ChrisHaas: Спасибо! Я попробую в ближайшее время и дам вам знать, как это происходит. (На самом деле я тоже работаю над .NET). – user2173353
Я пробовал обе эти строки кода, и ничего не меняется. Я не знаю, если есть что делать с тем, что я объединять PDF с другим PDF-документом, чтобы получить окончательный PDF ... – user2173353