0
PDFBOXに問題があります。私のhtmlフィールドからPDFBOX文書を作成
だから私は、簡単なコード作成:コメント欄の下のコードが正しくdoesntの仕事「/フィールドを埋める」だから、なぜ私を教えてください
public class DelegationsPdf{
public Delegations getPDF(Delegations delegations) throws IOException{
PDDocument delegation = new PDDocument();
PDDocumentCatalog catalog = delegation.getDocumentCatalog();
PDAcroForm pdAcroForm = catalog.getAcroForm();
PDPage page = new PDPage();
delegation.addPage(page);
page = delegation.getPage(0);
PDPageContentStream content = new PDPageContentStream(delegation, page);
content.beginText();
content.setFont(PDType1Font.TIMES_ROMAN, 20);
content.setLeading(14.5f);
content.newLineAtOffset(275, 750);
content.showText("Delegations");
content.endText();
content.beginText();
content.newLineAtOffset(50 ,650);
content.setFont(PDType1Font.TIMES_ROMAN, 12);
content.showText("Worker:");
content.endText();
// FILL THE FIELD
content.beginText();
PDField name = pdAcroForm.getField(delegations.getName());
content.newLineAtOffset(100 ,650);
content.setFont(PDType1Font.TIMES_ROMAN, 12);
pdAcroForm.getFields().add(name);
content.endText();
content.close();
delegation.save("C:/delegation.pdf");
delegation.close();
return delegations;
}
を?私の代表団クラスからの名前に関する情報を取得します。手伝って頂けますか?私はこれを実行し、ボタンをクリックすると、私はNULLとのエラーがあります。
もちろんnullです。 'pdAcroForm.getField(delegations.getName());'はドキュメントにフィールドがないので何も返しません。あなたのコードは混乱しています。 PDDocumentオブジェクトは、 "document"または "delegationDocument"という名前である必要がありますが、 "delegation"ではありません。 PDFieldは "名前"ではなく "フィールド"と呼ばれるべきです。 –
https://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/interactive/form/を見ることをお勧めします。これはフォームの作成方法を示しています。 –
ああ、私はフィールドを追加する必要があることを理解しました。名前は私によって変えられました、何が間違っているかを知りたかったからです。 最初に、テンプレートを作成したときにフォームを作成してそこに追加する必要があります(apache svn-FillFormFieldの例から)。しかし、どのように各フィールドの位置を追加できますか? – Kondziowsky