2017-06-03 33 views
0

私は行の最初にPDFフィールドを整列しようとしています。私はフィールドとその位置を得ることができます。私はまたそれをローカルに変更することができますが、私はpdfを保存すると、フィールドは同じ位置に表示されます。 これはコードです:pdfboxを使ってpdfフィールドを移動する方法は?

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

私の答えが役に立たない場合は、使用しているPDFBoxのバージョンを明確にし、PDFファイルをどこかにアップロードしてください。 –

答えて

1

あなたがウィジェットに変更された矩形再割り当てする必要があります:ウィジェットとは異なり、矩形がPDF内の構造によってバックアップされていないので

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

を。

関連する問題