itext文档如何划分页面并将元素放入页面中

时间:2016-06-16 15:05:26

标签: itext

您好我最近在这里发布了一个问题:

IText PDFImage seems to shrink or disappear during new pages after upgrade from 2.1.7 to 5.5.5 (Java .jars)

但我认为这不是图书馆的问题,而是更多的缺失设置问题。我想知道是否有办法控制在现有页面上绘制哪些元素并推到新页面

我想做以下

- 创建文档

-create pdfPTable

- 为每个PdfPCells创建一堆图像元素

-add to pdfPTable然后写入文档

结果:似乎某些图片在页面的结尾/开头附近缩小或者丢失(似乎它试图适应页面)

再次展示示例代码以获取可见性

 ByteArrayOutputStream baos = createTemporaryOutputStream();

 Document doc = newDocument();
 PdfWriter writer = newWriter(doc, baos);
 writer.setViewerPreferences(PdfWriter.ALLOW_PRINTING | PdfWriter.PageLayoutSinglePage);

 //create page rectangle landscape
 Rectangle page = new Rectangle(PageSize.A4.rotate());
    doc.setPageSize(page);
    doc.setMargins((float)36.0, (float)36.0, (float)36.0, (float)36.0);
    doc.open();

    //create element pdf table.
    PdfPTable table = new PdfPTable(new float[]{(float) 770.0});
    table.setWidthPercentage(100);
    table.setSplitRows(true);
    table.setSplitLate(false);
    table.setHeaderRows(0);

    // in my case I used 5 800*600 images (same picture) 
    //then I loop through them and create pdfcell 
    //and then add it to table which then gets added to the document
    List<Image> hi = (List<Image>) model.get("images");
    for (Image image : hi) {

        com.itextpdf.text.Image pdfImage = com.itextpdf.text.Image.getInstance(image.getBytes());
        pdfImage.scalePercent((float) (0.8642384 * 100));

        PdfPCell cell = new PdfPCell(pdfImage, false);

        table.addCell(cell);
    }

    doc.add(table);
    doc.close();
谢谢你的时间。任何关于我的问题的见解都会有所帮助

0 个答案:

没有答案