你好的开发伙伴们,无文本打印使用iText的创建7个
打印,我已经自动与利用iText 7. Java应用程序生成的PDF文件时,我有一个问题,当我打印这样的PDF PDF文件时,打印输出包含所有图片和图形,但不包含任何文字。
有人能告诉我问题可能是什么?我已经尝试了Adobe的“以图片形式打印”选项,并得出了相同的结果。
非常感谢。
编辑/添加的代码和链接:
Link to PDF file created this way
document = new Document(new PdfDocument(new PdfWriter(new FileOutputStream(dest))));
this.form = PdfAcroForm.getAcroForm(document.getPdfDocument(), true);
PdfTextFormField fw1Field = PdfTextFormField.createText(document.getPdfDocument(),
new Rectangle(Variables.llx, Variables.lly, Variables.urx, Variables.ury), "Feld1");
fw1Field.setValue(fw1);
fw1Field.setReadOnly(Variables.readonly);
fw1Field.setBorderColor(Color.WHITE);
form.addField(fw1Field);
PdfTextFormField fsText = PdfTextFormField.createText(document.getPdfDocument(),
new Rectangle(Variables.llx + 150, Variables.lly, Variables.urx + 50, Variables.ury), "FSText");
fsText.setValue("Freigabeschein:");
fsText.setBackgroundColor(Variables.backgroundColourText);
fsText.setBorderColor(Color.WHITE);
fsText.setReadOnly(Variables.readonlyText);
fsText.setBorderColor(Color.WHITE);
form.addField(fsText);
PdfTextFormField idField = PdfTextFormField.createText(document.getPdfDocument(),
new Rectangle(Variables.llx + 250, Variables.lly, Variables.urx, Variables.ury), "Freigabeschein Nummer");
idField.setValue(id);
idField.setReadOnly(Variables.readonly);
idField.setBorderColor(Color.WHITE);
form.addField(idField);
PdfTextFormField datumText = PdfTextFormField.createText(document.getPdfDocument(),
new Rectangle(Variables.llx + 350, Variables.lly, Variables.urx, Variables.ury), "DatumText");
datumText.setValue("Datum:");
datumText.setBackgroundColor(Variables.backgroundColourText);
datumText.setBorderColor(Color.WHITE);
datumText.setReadOnly(Variables.readonlyText);
form.addField(datumText);
//more Text, created exactly as above
PdfButtonFormField buttonSpeichern = PdfFormField.createPushButton(document.getPdfDocument(), new Rectangle(450, 20, 100, 30), "speichern", "SPEICHERN");
buttonSpeichern.setBackgroundColor(Color.LIGHT_GRAY);
buttonSpeichern.setValue("Speichern");
buttonSpeichern.setVisibility(PdfFormField.VISIBLE_BUT_DOES_NOT_PRINT);
buttonSpeichern.setAdditionalAction(PdfName.D, PdfAction.createJavaScript("saveFSFunction(1);"));
form.addField(buttonSpeichern);
PdfButtonFormField buttonDrucken = PdfFormField.createPushButton(document.getPdfDocument(), new Rectangle(300, 20, 100, 30), "drucken", "DRUCKEN");
buttonDrucken.setBackgroundColor(Color.LIGHT_GRAY);
buttonDrucken.setValue("Drucken");
buttonDrucken.setVisibility(PdfFormField.VISIBLE_BUT_DOES_NOT_PRINT);
buttonDrucken.setAdditionalAction(PdfName.D, PdfAction.createJavaScript("printFunction(1, 0, 1, \"FS\");"));
form.addField(buttonDrucken);
document.close();
请分享A)用于创建PDF的代码的关键部分B)重现问题的样例PDF。 –
感谢您的回复,我在代码片段中添加了一个带有问题样本PDF的链接。 – Harry
您是否检查过是否将Acrobat设置为打印表单域?要么是,要么你的文本区域的可见性都设置为可见,但不能打印。虽然,我不认为这是使用iText创建文本字段时的默认设置,并且您似乎没有设置您在此共享的代码... –