2017-06-03 1 views
0

J'essaye d'aligner les champs de pdf au premier sur la rangée. Je suis en mesure d'obtenir des champs et sa position. Je suis également capable de le changer localement mais quand j'enregistre le pdf les champs apparaissent sur la même position. c'est le code:comment déplacer le champ pdf avec pdfbox?

PDDocument pdfDocument = PDDocument.load(new File("MyFile")); 
PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog(); 
PDAcroForm acroForm = docCatalog.getAcroForm(); 
String fieldName = "MyField"; 
PDField f = acroForm.getField(fieldName); 
PDRectangle r = f.getWidgets().get(0).getRectangle(); 
r.setLowerLeftX(10); 
r.setLowerLeftY(10); 
r.setUpperRightX(10); 
r.setUpperRightY(10); 

pdfDocument.save(new File("MyModifiedFile")); 
pdfDocument.close(); 
+1

Si ma réponse ne vous aide pas, veuillez préciser quelle version de PDFBox utilisez-vous et télécharger le fichier PDF quelque part. –

Répondre

1

Vous devez réassigner le rectangle modifié pour le widget:

f.getWidgets().get(0).setRectangle(r); 

Parce que la différence du widget, le rectangle n'est pas soutenu par les structures dans le PDF.