繁体   English   中英

是否可以使用iText以编程方式向“ Acroform”字段添加“打开Web链接操作”操作?

[英]Is it possible to add 'Open a web link action' action to acroform field programmatically using iText?

在Adobe Acrobat中,可以向acroform添加“打开Web链接操作”。 是否可以使用iText usind已经存在的acroform来这样做?

我在iText文档上找不到任何提及,因此尝试以编程方式创建新的acrofield并将此操作添加到其中,但未成功。 这是我的代码:

PdfReader pdfReader = new PdfReader(templateStream);
        PdfStamper stamper = new PdfStamper(pdfReader, new FileOutputStream("delivery.pdf"));
        stamper.setFormFlattening(true);
        stamper.getAcroFields().setField("package", packages);
        stamper.getAcroFields().setField("purchase_id", purchaseId);
        stamper.getAcroFields().setField("activation_code", activationCode);
        if (partner != "") {
            PdfFormField field = PdfFormField.createTextField(stamper.getWriter(), false,
                    false, 100);
            field.setFieldName("partner");
            PdfAction action = new PdfAction(partner);
            field.setAction(action);
            field.setColor(new BaseColor(0,0,255));
            PdfAppearance appearance = stamper.getUnderContent(1).
                    createAppearance(200, 20);
            appearance.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED), 12f);
            appearance.setColorFill(BaseColor.BLUE);
            field.setAppearance(PdfAnnotation.APPEARANCE_DOWN, appearance);
            field.setDefaultAppearanceString(appearance);
            stamper.getAcroFields().setField("partner", "Click here to show partner's web site");
        }

显示的PDF文档没有伙伴字段。 请指出一些文档或错误的代码。

您正在尝试向表单添加交互性。 但是,您还可以使用以下代码来丢弃所有交互性:

stamper.setFormFlattening(true);

您还声称您要添加一个额外的字段。 据我所知,这一说法是错误的。 您创建一个字段名称field (并且很难创建它;我希望您改用TextField类)。 但是,我看不到您在任何地方添加该字段。 我错过了以下几行:

stamper.addAnnotation(field, 1);

请注意,这行没有意义:

stamper.getAcroFields().setField("partner", "Click here to show partner's web site");

为什么要先创建一个字段(并可能添加标题),然后立即更改它呢? 为什么不从头开始正确创建字段?

最后,似乎您想创建一个可以被人们点击的按钮。 那为什么要创建一个文本字段? 创建按钮会更有意义吗?

这是一个机器可以回答的问题的示例: 错误太多...也许您应该在尝试修复代码之前考虑阅读文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM