使用java删除使用iText添加到单个pdf文件中的图像之间的空间。

时间:2018-05-29 09:39:00

标签: java image pdf itext

我正在尝试从图像列表中创建PDF文件。 4图像应覆盖整页,没有边距填充或任何东西。我的问题是添加的图像被白线分开,我无法找到消除这种分离的方法。

    public ByteArrayOutputStream createMultiTicketPdf(List<String> base64Images) {
    PDFCreator creator = new PDFCreator();
    Document document = creator.getDocument();
    creator.setForMulti(true);

    float nomargin = 0; 
    creator.addCustomCSS("common", "/pdf/common.css");
    document.setMargins(nomargin, nomargin, nomargin, nomargin);
    creator.setTemplateRelativePath("/pdf/multitickettemplate.html");

    for(String base64Image : base64Images) {
        try {
            String parsedString = StringUtils.substringAfter(base64Image, ",");
            byte[] decoded = Base64.getDecoder().decode(parsedString);

            Image image = Image.getInstance(decoded);
            float scaler = ((document.getPageSize().getWidth() - document.leftMargin()
                   - document.rightMargin()) / image.getWidth()) * 100;
            image.scalePercent(scaler);    
            image.setPaddingTop(nomargin);


            creator.addImage(Image.getInstance(image));
        } catch (BadElementException | IOException e) {
            LOGGER.error("Error occured:", e);
        }
    }

    return creator.create();
}

0 个答案:

没有答案