美文网首页
分页显示页码和每页显示签名栏和日期栏

分页显示页码和每页显示签名栏和日期栏

作者: q若水 | 来源:发表于2019-06-20 09:33 被阅读0次

    private static class IndexEvent extends PdfPageEventHelper {

    @Override

    public void onOpenDocument(PdfWriter writer, Document document) { 

            try { 

                  tpl = writer.getDirectContent().createTemplate(800, 100);

                  bf = BaseFont.createFont("/font" + CheckVouchExportConstant

                  .FONT_FILE,BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED); 

            } catch(Exception e) { 

                throw new ExceptionConverter(e); 

            } 

        }

    @Override

        public void onEndPage(PdfWriter writer, Document document) { 

            // 在每页结束的时候把“第x页”信息写到模版指定位置 

    PdfContentByte cb2 = writer.getDirectContent();

    cb2.saveState();

            String text2 = "监盘人:__________________ 盘点日期:__________________";

            cb2.beginText(); 

            cb2.setFontAndSize(bf, 10); 

            cb2.setTextMatrix(180, 5); // 定位“第x页,共” 在具体的页面调试时候需要更改这xy的坐标 

            cb2.showText(text2);

            cb2.endText();

            cb2.stroke(); 

            cb2.restoreState();       

            cb2.closePath(); // sanityCheck();

            PdfContentByte cb = writer.getDirectContent();

            cb.saveState();

            String text = "-" + writer.getPageNumber();

            cb.beginText(); 

            cb.setFontAndSize(bf, 10); 

            cb.setTextMatrix(550, 5); // 定位“第x页,共” 在具体的页面调试时候需要更改这xy的坐标 

            cb.showText(text);

            cb.endText();

            cb.addTemplate(tpl, 534, 5); //定位“y页” 在具体的页面调试时候需要更改这xy的坐标

            cb.stroke(); 

            cb.restoreState();       

            cb.closePath(); // sanityCheck(); 

        }

        @Override 

        public void onCloseDocument(PdfWriter writer, Document document) { 

          // 关闭document的时候获取总页数,并把总页数按模版写道之前预留的位置 

          tpl.beginText(); 

          tpl.setFontAndSize(bf, 10);

          tpl.showText(Integer.toString(writer.getPageNumber() - 1)); 

          tpl.endText(); 

          tpl.closePath(); // sanityCheck(); 

        } 

        }

    // 在分页需要分页的程序里 做分页页面标记,必须在  document.open(); 之前

        writer.setPageEvent(new IndexEvent());

    相关文章

      网友评论

          本文标题:分页显示页码和每页显示签名栏和日期栏

          本文链接:https://www.haomeiwen.com/subject/ftgrqctx.html