【问题标题】:Barcode doesn't display in PDF using iText使用 iText 在 PDF 中不显示条码
【发布时间】:2023-12-20 15:19:01
【问题描述】:

我正在使用 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
软件: Adob​​e Live Cycle Designer ES 8.1

【问题讨论】:

    标签: java pdf itext barcode


    【解决方案1】:

    问题解决了!!!

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

    发件人: stamper.setFormFlatening(true);
    收件人: 压模.setFormFlatning(false);

    成功了。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        您是否在非常活跃的 IText 邮件列表中询问过?

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

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

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

              问候 Raghavendra Samant

              【讨论】: