Проблема выравнивания изображения в PDF с использованием iText pdfHTML

Я пытаюсь экспортировать HTML-страницу в PDF, используя iText7.1.0 и pdfHTML2.0.0. По какой-то причине на страницах возникает проблема форматирования изображений круговой диаграммы (выровненных по горизонтали в HTML и выровненных по вертикали в PDF), а таблица (с названием "Функции") слева сдвинута вертикально вниз. Ссылка jsFiddle на мой HTML-код, который используется рендерером PDF.

Ниже приведен код Java, используемый для рендеринга PDF (Page1.html - это тот же HTML-код в скрипте):

/*
 * Copyright 2016-2017, iText Group NV.
 * This example was created by Bruno Lowagie.
 * It was written in the context of the following book:
 * https://leanpub.com/itext7_pdfHTML
 * Go to http://developers.itextpdf.com for more info.
 */
package com.itextpdf.htmlsamples.chapter01;

import java.io.File;
import java.io.IOException;

import com.itextpdf.html2pdf.HtmlConverter;
import com.itextpdf.licensekey.LicenseKey;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * Converts a simple HTML file to PDF using File objects
 * as arguments for the convertToPdf() method.
 */
public class C01E03_HelloWorld {

    /** The Base URI of the HTML page. */
    public static final String BASEURI = "src/main/resources/html/";
    /** The path to the source HTML file. */
    public static final String SRC = String.format("%sPage1.html", BASEURI);
    /** The target folder for the result. */
    public static final String TARGET = "target/results/ch01/";
    /** The path to the resulting PDF file. */
    public static final String DEST = String.format("%stest-03.pdf", TARGET);

    /**
     * The main method of this example.
     *
     * @param args no arguments are needed to run this example.
     * @throws IOException Signals that an I/O exception has occurred.
     */
    public static void main(String[] args) throws IOException {
        LicenseKey.loadLicenseFile("C://Users//Sparks//Desktop//itextkey-0.xml");
        File file = new File(TARGET);
        file.mkdirs();
        new C01E03_HelloWorld().createPdf(BASEURI, SRC, DEST);
    }

    /**
     * Creates the PDF file.
     *
     * @param baseUri the base URI
     * @param src the path to the source HTML file
     * @param dest the path to the resulting PDF
     * @throws IOException Signals that an I/O exception has occurred.
     */
    public void createPdf(String baseUri, String src, String dest) throws IOException {
        HtmlConverter.convertToPdf(new File(src), new File(dest));
    }
}

Выходной файл PDF находится здесь. Он должен иметь форматирование, аналогичное форматированию на странице HTML.

Любые предложения будут полезны.

0 ответов

Другие вопросы по тегам