2

我正在使用 iText 动态生成 PDF 文档。现在我正在尝试在此 PDF 中动态创建条形码。Adobe Live Cycle 内置了条码功能。您只需拖动页面上的条形码文本框即可创建。

问题:
我在 PDF 中放置了条形码字段。然后从 JSP 页面向条形码字段传递一个数字。但只有数字出现。条码线从不显示

数字 20099002 在 PDF 文档中可见,但条码线未显示。我在 LiveCycle 中尝试了其他几个条形码选项,但都给出了相同的结果。

    OurJavaPage.java 
    public class ExampleForm extends BaseOutput { 
    private static final Log LOG = LogFactory.getLog(ExampleForm.class); 
    public OutputStream generate() throws IOException, DocumentException { 
        ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
        PdfReader reader; 
        reader = new PdfReader(BASEDIR + "MailingExample.pdf"); 

        PdfStamper stamper = new PdfStamper(reader, baos); 
        Participant participantHome = home.getParticipant(); 
        Set<Location> homeLocs = participantHome.getLocations(); 

        final AcroFields form = stamper.getAcroFields(); 

        setFormField(form, "addrNumber[0]", addrMaster.getStreetNum()); 
        setFormField(form, "dateMiddle[0]", formatDate("MM-dd-yyyy", new Date())); 

// *********** Here's the problem *****************************
        setFormField(form, "Code128ABarcode1[0]", "20099002");
// ************************************************************

        debugAcrobatForm("ExampleForm", form); 
        stamper.setFormFlattening(true); 
        stamper.close(); 

        return baos; 
    } 
}

操作系统: Linux
编程: Java、.jsp、iText
软件: Adobe Live Cycle Designer ES 8.1

4

6 回答 6

5

问题解决了!!!

我联系了 iText,他们建议我更改此行。

来自: stamper.setFormFlatening(true);
到: stamper.setFormFlatening(false);

有效。

于 2009-03-04T21:00:33.750 回答
1

您的软件是将条形码嵌入为图形还是字符的字体表示?

如果是后者,是否将字体嵌入到 PDF 中?

于 2009-02-27T17:25:42.810 回答
0

它对我来说很好用..可能与您在生命周期设计器中制作模板的方式(静态或动态)有关...

在此处查看示例 http://1t3xt.info/examples/browse/?page=example&id=433

问候 Raghavendra Samant

于 2009-08-15T17:05:32.647 回答
0

你问过非常活跃的 IText 邮件列表吗?

于 2009-02-28T09:18:46.230 回答
0

如果这是使用 LiveCycle 创建的动态 XFA 表单,那么使用表单展平将导致您丢失表单字段。静态 XFA 表单应该可以工作。

参考: http: //itext.ugent.be/library/question.php ?id=30

iText 中的 XFA 支持正在改进,但充其量只是参差不齐。

于 2009-04-04T14:11:52.877 回答
0

您必须在您的系统(字体库)中添加条形码字体,然后它将在您的字体下拉列表中可见。使用 acro-field(文本)并在此 acro-field 中设置该字体。你的问题将得到解决。另外,使用 setformflattening=true 因为它会使 pdf 不可编辑

于 2009-08-13T12:16:14.037 回答