を見つけることができません。pdfboxは、私が@ASuによってしばらく前示唆されたコードを使用していたシンボル
package pdf_form_filler;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.interactive.form.*;
import java.io.File;
import java.util.*;
public class pdf_form_filler {
public static void listFields(PDDocument doc) throws Exception {
PDDocumentCatalog catalog = doc.getDocumentCatalog();
PDAcroForm form = catalog.getAcroForm();
List<PDFieldTreeNode> fields = form.getFields();
for(PDFieldTreeNode field: fields) {
Object value = field.getValue();
String name = field.getFullyQualifiedName();
System.out.print(name);
System.out.print(" = ");
System.out.print(value);
System.out.println();
}
}
public static void main(String[] args) throws Exception {
File file = new File("test.pdf");
PDDocument doc = PDDocument.load(file);
listFields(doc);
}
}
をしかし、私はPDFieldTreeNodeのシンボルエラーを見つけることができません取得しておきます。私は最新のpdfbox(2.0.4)を持っていますが、とにかくそのクラスを見つけることはできません。私の代わりにPDFieldでこれを使用してみましたが、その後、すべての端末のフィールドを取得するには以降.getvalue
これは 'List getFields()'なので、あなたのコードは動作しません。 'getValue()'のエラーが発生した場合は、そのエラーを教えてください(質問を編集してください)。スタックトレースの場合は、スタックトレースを含めます。 getFields()のjavadocも読んでください。ルートレベルのフィールドのみを提供します。 'getFieldIterator()'はあなたが望むものかもしれません。また、「ASu」でコードにリンクして修正することもできます。 –
@ASuのコードは、私が投稿したのとまったく同じですが、見たい場合は:http://stackoverflow.com/a/27795227/4480374また、私はpdfboxを使っているので初めてですどのように使用するのか本当に分かりません。私はちょうど迅速かつ簡単にPDFからフォームデータを取得するために何かを探していた – User22