Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events Itext 7事件处理程序中QRCode中的getNumberOfPages从第2页开始,并带有END_页_Events_Itext7 - Fatal编程技术网

Events Itext 7事件处理程序中QRCode中的getNumberOfPages从第2页开始,并带有END_页

Events Itext 7事件处理程序中QRCode中的getNumberOfPages从第2页开始,并带有END_页,events,itext7,Events,Itext7,我有一个2页的文档,我在每一页上生成一个QR码,并使用getNumberOfPages()将页数插入QR文本,但使用END_page时,页数始终以2开头。它只适用于开始页面 public static void main(String args[]) throws IOException { new boxText().createPdf(DEST); } public void createPdf(String dest) throws IOException { PdfDocument p

我有一个2页的文档,我在每一页上生成一个QR码,并使用getNumberOfPages()将页数插入QR文本,但使用END_page时,页数始终以2开头。它只适用于开始页面

public static void main(String args[]) throws IOException {
new boxText().createPdf(DEST);
}

public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
Document document = new Document(pdf);
BarQrcodeEventHandler barCodeHandler = new BarQrcodeEventHandler(pdf);
pdf.addEventHandler(PdfDocumentEvent.END_PAGE, barCodeHandler);

BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
while ((line = br.readLine()) != null) {
    document.add(new Paragraph(line));
}
br.close();
document.close();
}

protected class BarQrcodeEventHandler implements IEventHandler {
protected PdfDocument doc;

public BarQrcodeEventHandler(PdfDocument doc) {
    this.doc = doc;
}

public void handleEvent(Event event) {
    String pageNum = Integer.toString(doc.getNumberOfPages());
    PdfPage page = ((PdfDocumentEvent) event).getPage();
    BarcodeQRCode qr = new BarcodeQRCode(pageNum);
    PdfFormXObject xObject = qr.createFormXObject(ColorConstants.BLACK, doc);
    Image bCodeImage = new Image(xObject);
    bCodeImage.setFixedPosition(200, 300);
    bCodeImage.scaleAbsolute(150, 150);
    new Canvas(page, page.getPageSize()).add(bCodeImage).close();

}
}
}

查看和查看。