小编Tee*_*j00的帖子

为什么使用 PDFBox(2.0.11) 设置的表单字段不显示?

我正在使用 PDFBox 2.0.11 打开 PDF 表单并提取值。这按预期工作。当我尝试设置一个值时,它似乎起作用了。当我打开 PDF 时,不显示该值。如果我在字段中单击,该值将按设置显示,但当我在字段外单击时,该值会再次消失。

这似乎是一个常见问题,但我见过的修复似乎都不起作用。

if(file.exists())
    {
        PDDocument doc = PDDocument.load(file);
        doc.setAllSecurityToBeRemoved(true);
        PDDocumentCatalog catalog = doc.getDocumentCatalog();
        PDAcroForm form = catalog.getAcroForm();

        // Add Font
        PDResources resources = new PDResources();
        resources.put(COSName.getPDFName("Helv"), PDType1Font.HELVETICA);
        form.setDefaultResources(resources);
        // End Add Font

        form.setNeedAppearances(false);
        List<PDField> fields = form.getFields();

        for (Object field : fields) 
        {
            if (field instanceof PDTextField) {
                PDTextField pdTextbox = (PDTextField) field;
                System.out.println("PDTextBox " + pdTextbox.getFullyQualifiedName() + " " + pdTextbox.getValue());

                if(pdTextbox.getFullyQualifiedName().equalsIgnoreCase("a3_5"))
                {
                    try {
                        pdTextbox.getWidgets().get(0).setHidden(false);
                        pdTextbox.setValue("5500");
                    }
                    catch(Exception e){
                        e.printStackTrace();
                    } …
Run Code Online (Sandbox Code Playgroud)

java pdfbox

3
推荐指数
1
解决办法
2226
查看次数

标签 统计

java ×1

pdfbox ×1