java - 如何使用 Java pdfbox api 以 PDF 形式设置值

标签 java pdf pdfbox

我需要使用 JAVA pdacroform api 为 PDF 表单设置一个值

在为 PDF 文件中的特定字段设置值的代码下方 但它抛出

线程“main”中的异常 java.lang.NoClassDefFoundError: org/fontbox/afm/AFMParser

尽管添加了 fontbox-1.7.jar

谁能帮帮我

import java.io.IOException;

import org.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.pdfbox.pdmodel.interactive.form.PDField;

import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.pdmodel.PDDocumentCatalog;

import org.pdfbox.exceptions.COSVisitorException;

import org.pdfbox.examples.AbstractExample;

public class SetField extends AbstractExample {

    public void setField(PDDocument pdfDocument, String name, String value)
            throws IOException {
        PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
        PDAcroForm acroForm = docCatalog.getAcroForm();
        PDField field = acroForm.getField(name);
        if (field != null) {
            field.setValue(value);
        } else {
            System.err.println("No field found with name:" + name);
        }

    }

    public static void main(String[] args) throws IOException,
            COSVisitorException {
        SetField setter = new SetField();
        setter.setField(args);
    }

    private void setField(String[] args) throws IOException,
            COSVisitorException {
        PDDocument pdf = null;
        try {
            if (args.length != 3) {
                usage();
            } else {
                SetField example = new SetField();

                pdf = PDDocument.load(args[0]);
                example.setField(pdf, args[1], args[2]);
                pdf.save(args[0]);
            }
        } finally {
            if (pdf != null) {
                pdf.close();
            }
        }
    }

    private static void usage() {
        System.err
                .println("usage: org.apache.pdfbox.examples.fdf.SetField <pdf-file> <field-name> <field-value>");
    }
}

谢谢

最佳答案

由于缺少包含类定义的 jar,您将收到 java.lang.NoClassDefFoundError。

您需要将 FontBox jar 添加到类路径中。

关于java - 如何使用 Java pdfbox api 以 PDF 形式设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14582478/

相关文章:

java - Simplexml valuerequired 异常

pdf - 从PDF删除所有矢量路径

java - 将 JFileChooser 与 PDFBox 一起使用时,文件不会保存为 pdf,但保存时不带扩展名

java - 如何防止 PDFBox 1.8 的打印在打印文档的顶部留下边距?

java - netbeans 显示空白界面

java - 使用 Docker 桥接网络时无法在集成测试中获取 JDBC 连接

matlab - 将代码转换为自定义 PDF

javascript - 使用 jsPDF 用 JSON 数据填充 PDF

java - PDFBOX 2.0 : How can I scale large page sizes to letter?

Java 正则表达式 : What is the best way to filter out the keyboard characters?