私は、既存のPDFにjavaのpdfスタンパーを使って書き込もうとしていますが、何らかの理由でpdfにテキストが描画されているように見えるチェックボックスがあります。Java PDFスタンパーはチェックボックスの下に書いています
over.beginText();
over.setFontAndSize(bf, 11);
over.setTextMatrix(169, 322);
over.showText("X");
over.endText();
私は、既存のPDFにjavaのpdfスタンパーを使って書き込もうとしていますが、何らかの理由でpdfにテキストが描画されているように見えるチェックボックスがあります。Java PDFスタンパーはチェックボックスの下に書いています
over.beginText();
over.setFontAndSize(bf, 11);
over.setTextMatrix(169, 322);
over.showText("X");
over.endText();
まず第一に:あなたのPDFでのフォームフィールドの上に
反復し、設定する有効な値を見つけるテキストを描画するための
PdfReader reader = new PdfReader(Testing.getImagePath() + "form.pdf");
File dir = new File(Testing.getResourcePath() + id + "/");
String destination = Testing.getResourcePath() + id + "form" + id + ".pdf";
File exist = new File(destination);
dir.mkdirs();
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(destination));
stamper.setFormFlattening(true);
PdfContentByte over;
over = stamper.getOverContent(1);
コード:PDFファイルを読むための
コード:
AcroFields form = stamper.getAcroFields();
for(Entry<String, Item> field : form.getFields().entrySet()) {
System.out.println(field.getKey() + ": " + field.getValue());
String[] values = form.getAppearanceStates(field.getKey());
StringJoiner sb = new StringJoiner(",");
for (String value : values) {
sb.add(value);
}
System.out.println("Possible Options: " + sb.toString());
}
これで許容値を設定してチェックボックスを選択できるようになりました:
form.setField("myCheckbox", "myYesValue");
どこからやり直しますか? – Jan
コードを更新しました。他のコードを追加する必要があるかどうかを教えてください。 – King
今のところよく見えます。チェックボックスの位置にXを置くと(その下にのみ表示されます)、そのチェックボックスを選択したいのと同じように聞こえるでしょうか? – Jan