从2.1.7升级到5.5.5(Java .jars)后,新页面中的IText PDFImage似乎缩小或消失

时间:2016-06-14 15:56:25

标签: itext

从2.1.7升级iText后,我似乎遇到了问题,其中PDF似乎缺失或图像在页面之间缩小。

我想知道这是否是一个已知问题,或者我是否需要设置一些内容才能修复它。

某些背景信息:

  • 切换库时没有真正的计算结果。

  • 一般结构是我们有一个带有pdfTable的文档,其中包含一堆pdfImages。

  • 在横向和纵向之间切换会产生不同的结果。

  • 缩小图像以使其适合页面。

编辑:对不起,我的应用程序很大,做了很多工作。在发布问题之前我必须制作一个简单的模拟版本

示例代码(因此数字只是我使用的示例。我基本上使用横向位置添加了一个800 * 600图像5次。当我期待5时,我最终只看到3页。) 注意:使用纵向页面大小显示全部5,但似乎尺寸因某种原因而有所不同。

 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 个答案:

没有答案