我正在使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
操作系统: Linux
编程: Java,.jsp,iText
软件: Adobe Live Cycle Designer ES 8.1
小智 5
问题解决了!!!
我联系了iText,他们建议我改变这一行.
来自:
stamper.setFormFlattening(true);
To:
stamper.setFormFlattening(false);
有效.