【问题标题】:How to create and add table to predefined pdf template using Itext?如何使用 Itext 创建表格并将其添加到预定义的 pdf 模板?
【发布时间】:2015-03-04 10:47:47
【问题描述】:

我有一个预定义的模板,我想创建表格并将其添加到模板的第三页。有可能这样做吗?使用 itext 创建新的 pdf 有很多选择,但我还没有看到提供修改现有 pdf 并向其添加表格的任何示例。代码示例将不胜感激。

    PdfReader reader = new PdfReader("BCC Statements-Template.pdf");
    FileOutputStream fileOutputStream = new FileOutputStream("test.pdf");
    try {   

        PdfStamper stamper= new PdfStamper(reader, fileOutputStream);           
        PdfContentByte overContentByte = stamper.getOverContent(3);
        PdfPTable pdfPTable = new PdfPTable(4);
         pdfPTable.setTotalWidth(40);
            //Create cells
            PdfPCell pdfPCell1 = new PdfPCell(new Paragraph("Cell 1"));
            PdfPCell pdfPCell2 = new PdfPCell(new Paragraph("Cell 2"));
            PdfPCell pdfPCell3 = new PdfPCell(new Paragraph("Cell 3"));
            PdfPCell pdfPCell4 = new PdfPCell(new Paragraph("Cell 4"));
            //Add cells to table
            pdfPTable.addCell(pdfPCell1);
            pdfPTable.addCell(pdfPCell2);
            pdfPTable.addCell(pdfPCell3);
            pdfPTable.addCell(pdfPCell4);
            pdfPTable.writeSelectedRows(1, 1, 110, 150, overContentByte);
            stamper.close();
        reader.close();
    } catch (DocumentException e) {
        e.printStackTrace();
    }`

【问题讨论】:

    标签: java pdf itext


    【解决方案1】:

    您为此使用PdfStamper。代码如下:

    PdfReader reader = new PdfReader(src);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
    PdfContentByte canvas = stamper.getOverContent(1);
    PdfPTable table = ...;
    //add data to table
    table.writeSelectedRows(... , canvas);
    stamper.close();
    reader.close();
    

    【讨论】:

    • 我无法看到使用代码的任何表格。请查看代码
    • 这段代码是为了让你填补空白,你是知道表格会是什么样子的人。缺少什么信息?
    • 增加表格宽度,40太小了,pdfPTable.writeSelectedRows(0, -1, 110, 150, overContentByte);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2017-09-04
    • 2018-11-01
    • 2018-11-21
    • 2011-12-31
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多