OpenHTMLToPDF build not hole document

1.2k Views Asked by At

I'm generating pdf file with OpenHTMLToPDF. Using Velocity to render html and then to pdf with OpenHTMLToPDF. In this document there are 2 pages and first one is good but second is empty, but html which came to my render method is also ok. I cannot understand where is miss? Does anybody saw something like this earlier? Or have any ideas?

void createPdf(OutputStream os, String html) throws IOException {
    try {
        PdfRendererBuilder builder = new PdfRendererBuilder();
        builder.useFastMode();
        builder.usePdfUaAccessbility(true);
        builder.withHtmlContent(html, "/");
        builder.toStream(os);
        builder.run();
    } catch (Exception var9) {
        throw new IOException("Error during creating pdf. Check out your parameters.");
    } finally {
        os.close();
    }
}

UPD

<html>
<head>
    <title> Quick Quote Report</title>
    <style>
        @font-face {
            font-family: bold;
            src: url(file:///Users/macbookpro/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/./fonts/Bold/Bold.ttf);
        }
        @font-face {
            font-family: regularFont;
            src: url(file:///Users/macbookpro/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/./fonts/regular/regular);
        }
        @font-face {
            font-family: demibold;
            src: url(file:///Users/macbookpro/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/./fonts/Demibold/Demibold.ttf);
        }
        @font-face {
            font-family: lightFont;
            src: url(file:///Users/macbookpro/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/./fonts/Light/Light.ttf);
        }
        page {
            background: white;
            display: block;
            margin: 0 auto;
            margin-bottom: 0.5cm;
            box-shadow: 0 0 0.5cm rgba(0,0,0,0.5);
        }
        page[size="A4"] {
            width: 21cm;
            height: 29.7cm;
        }
        .regularTitle {
            font-family: regularFont;
        }
        .boldTitle {
            font-family: bold;
        }
        .demiboldTitle {
            font-family: demibold;
        }
        .lightTitle {
            font-family: lightFont;
        }
        h1 {
            font-weight: normal;
        }
        table {
            border-collapse: collapse;
            margin-top: 20px;
        }
        th {
            border: none;
            border-bottom: 0.5px solid black;
            height: 20px;
        }
        td {
            border: none;
            border-bottom: 0.5px solid black;
            height: 60px;
        }
        td.footer {
            border: none;
            font-family: lightFont;
        }
    </style>
</head>
<body>
        <img src="file:///Users/macbookpro/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps//img/manulife-logo-en.jpeg" style="width: 3cm;"/>

        <h1 class="lightTitle" style="font-size: 30pt; color: black; padding-top: 30px;">Insure Right</h1>
        <h2 class="demiboldTitle" style="font-size: 12pt; color: black; padding-top: 10px;">The amount of life insurance that may be right for you.</h2>
        <div class="lightTitle" style="font-size: 10pt; color: black; padding-top: 0px;">Based on the information you provided, here’s the amount of life insurance you may need.</div>

        <table style="width: 100%;">
            <tr>
                <td class="regularTitle" style="height: 20px; font-size: 12px; width: 50%; text-align: left;">Dec 04, 2019</td>
                <th class="regularTitle" style="font-size: 12px; color: white; text-align: left; background-color: #034EA2; width: 25%; padding-left: 30px;">Amount of insurance</th>
                <th class="regularTitle" style="font-size: 12px; color: white; text-align: left; background-color: #034EA2; width: 25%; padding-left: 30px;">Cost per month</th>
            </tr>
            <tr>
                <td class="demiboldTitle" style="font-size: 16px; color: black; text-align: left;">Quick Quote Results</td>
                <td class="demiboldTitle" style="font-size: 16px; color: black; background-color: #DCF2FD; padding-left: 30px;">$0</td>
                <td class="demiboldTitle" style="font-size: 16px; color: black; background-color: #DCF2FD; padding-left: 30px;">$0.00</td>
            </tr>
                                <tr>
                    <td class="demiboldTitle" style="font-size: 16px; color: black; text-align: left;">Adjusted to fit your budget</td>
                    <td class="demiboldTitle" style="font-size: 16px; color: black; background-color: #DCF2FD; padding-left: 30px;">$0</td>
                    <td class="demiboldTitle" style="font-size: 16px; color: black; background-color: #DCF2FD; padding-left: 30px;">$0.00</td>
                </tr>
                        </table>

        <h2 class="demiboldTitle" style="font-size: 17px; color: black; padding-top: 20px;">Consider Synergy</h2>
        <div class="lightTitle" style="font-size: 12px; color: black; padding-top: 0px;">Manulife’s unique combination insurance, called  Synergy , includes a life insurance policy, a disability insurance policy and a critical illness insurance policy - all in one affordable, easy-to-manage package.</div>
        <div class="lightTitle" style="font-size: 12px; color: black; padding-top: 20px;">Here’s an estimate of how much combination insurance you may need based on the information you entered in the Quick Quote which only estimates your life insurance needs.</div>

        <table style="width: 100%">
            <tr>
                <th class="regularTitle" style="font-size: 12px; width: 50%; text-align: left;">Dec 04, 2019</th>
                <th class="regularTitle" style="font-size: 12px; color: black; text-align: left; background-color: #00bf66; width: 25%; padding-left: 30px;">Amount of insurance</th>
                <th class="regularTitle" style="font-size: 12px; color: black; text-align: left; background-color: #00bf66; width: 25%; padding-left: 30px;">Cost per month</th>
            </tr>
            <tr>
                <td class="demiboldTitle" style="font-size: 16px; color: black; text-align: left;">Quick Quote Results</td>
                <td class="demiboldTitle" style="font-size: 16px; color: black; background-color: #e8f9ea; padding-left: 30px;">$0</td>
                <td class="demiboldTitle" style="font-size: 16px; color: black; background-color: #e8f9ea; padding-left: 30px;">$0.00</td>
            </tr>
        </table>
                            <div style="padding-top: 150px">
                            <div class="lightTitle" style="font-size: 10px; color: black;">ABOUT YOUR QUICK QUOTE ESTIMATE</div>
            <div class="lightTitle" style="line-height: 1.3; text-align: justify; font-size: 10px; color: black; padding-top: 5px;">We’ve used a few assumptions to estimate the amount of insurance, which may or may not reflect your unique insurance needs. The cost estimated is for Manulife’s Family Term, Term-20 life insurance for  a male, age 28, non-smoker, single, children: 0, annual income of $0, total debts of $0, total savings of $30,000, total existing life insurance of $75,000. </div>
            <div class="lightTitle" style="font-size: 10px; color: black; padding-top: 20px;">ABOUT YOUR QUICK QUOTE SYNERGY ESTIMATE</div>
            <div class="lightTitle" style="line-height: 1.3; text-align: justify; font-size: 10px; color: black; padding-top: 5px;">We’ve used the same assumptions to estimate the total Synergy amount of insurance, which may or may not reflect your unique insurance needs. The cost estimated is for a Synergy Term 10 solution of  for a male, age 28, non-smoker, single, children: 0, annual income of $0, total debts of $0, total savings of $30,000, total existing life insurance of $75,000. </div>
        </div>

        <table style="margin-top:  60px;  width: 100%; border: none;">
            <tr>
                <td class="footer" style="width: 50%; height: 11px; font-size: 10px; color: black; text-align: left">MANULIFE INSURANCE - INSURERIGHT</td>
                <td class="footer" style="font-family: demibold; width: 50%; height: 11px; font-size: 10px; color: black; text-align: right">1</td>
            </tr>
        </table>


        <img src="file:///Users/macbookpro/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps//img/manulife-logo-en.jpeg" style="width: 3cm; padding-top: 10px"/>

        <div class="lightTitle" style="padding-top: 35px; font-size: 10px; color: black;">DISCLAIMERS</div>
        <div class="lightTitle" style="line-height: 1.3;text-align: justify; padding-top: 5px; font-size: 10px; color: black;">content</div>
        <div class="lightTitle" style="font-size: 10px; color: black; padding-top: 20px;">FAMILY TERM 20</div>
        <div class="lightTitle" style="line-height: 1.3; text-align: justify; font-size: 10px; color: black; padding-top: 5px;">content</div>
                        <div class="lightTitle" style="padding-top: 20px; font-size: 10px; color: black;">SYNERGY TERM 10</div>
            <div class="lightTitle" style="line-height: 1.3; text-align: justify; padding-top: 5px; font-size: 10px; color: black;">content</div>
                    <div class="lightTitle" style="font-size: 10px; color: black; padding-top: 20px;">YOUR CALCULATION IS BASED ON THESE ASSUMPTIONS:</div>
        <ul class="lightTitle" style="line-height: 1.3; padding: 0px; margin-left: 0.4cm; font-size: 10px; color: black;">
                <li>Funeral costs of $15,000</li>
                                <li>Unless you are single and have no children, your savings or assets are not liquidated to help cover expenses or loss of income associated with your death</li>
                        </ul>
        <div class="lightTitle" style="line-height: 1.3; text-align: justify; font-size: 10px; color: black; padding-top: 5px;">Interest and inflation rates are not used in 
        <table style="margin-top:  545px;  width: 100%; border: none;">
            <tr>
                <td class="footer" style="width: 50%; height: 11px; font-size: 10px; color: black; text-align: left">logo</td>
                <td class="footer" style="font-family: demibold; width: 50%; height: 11px; font-size: 10px; color: black; text-align: right">2</td>
            </tr>
        </table>
</body>

Empty content start from second img tag and till end

0

There are 0 best solutions below