2017-05-26 2 views
3

Ich versuche, in eine vorhandene PDF mit dem Java-pdf-Stamper zu schreiben, aber aus irgendeinem Grund gibt es eine bestimmte Checkbox in der PDF, dass der Text unter gezeichnet wird .Java PDF Stamper schreiben unter Checkbox (Text wird von Checkbox abgedeckt)

-Code zum Lesen von 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); 

-Code für Zeichentext:

over.beginText(); 
over.setFontAndSize(bf, 11); 
over.setTextMatrix(169, 322); 
over.showText("X"); 
over.endText(); 
+0

Woher kommen Sie? – Jan

+0

Aktualisierter Code. Lass mich wissen, wenn ich irgendeinen anderen Code hinzufügen muss. – King

+0

sieht soweit gut aus. Platzieren Sie ein X an der Position des Kontrollkästchens (nur es erscheint unter) klingen sehr ähnlich wie Sie dieses Kontrollkästchen AUSWÄHLEN möchten? – Jan

Antwort

1

Zunächst einmal:

Iterate über die Formfields in Ihrer PDF und die gültigen Werte herauszufinden einstellen :

Nun sollten Sie das Kontrollkästchen aktivieren können, indem Sie den zulässigen Wert festlegen:

+0

Erhalte den Fehler - "Diese AcroFields-Instanz ist schreibgeschützt." – King

+1

Woher haben Sie Ihre AcroFields? Vom Stamper/dem Schreiber oder vom Leser (in diesem Fall wären sie schreibgeschützt). Teilen Sie den Code in einer Bearbeitung zu Ihrer Frage? – Jan

+0

yeah Ich habe einen anderen Code verwendet, um die IDs aus der PDF-Datei auszugeben, und las anstelle des Stempels aus dem Reader. Habe es zur Arbeit gebracht, Danke! – King