HTML Rendering with TCPDF(PHP)

后端 未结 3 1688
独厮守ぢ
独厮守ぢ 2020-12-18 12:15

I am using TCPDF\'s writeHtml function for a page that renders properly in the browser. In the output PDF, the fonts are too small. I\'ve tried with setFont, but it doesn\'

相关标签:
3条回答
  • 2020-12-18 12:30

    Are you using tags? tcpdf's HTML engine gives the tag precedence over any CSS, or other size-adjusting tags. If you remove any extraneous tags from the HTML and use straight CSS, things should render as expected. Or, if you aren't using CSS, you should. Just because a browser displays it correctly doesn't mean it will look the same on other formats. The browser has likely performed some magic of its own to fill in the gaps in your CSS specifications.


    UPDATE

    Here's an example of specifying CSS declarations with your HTML when using tcpdf. Note how all the styling is applied using the CSS declarations inside the <style> tag outside the actualy HTML body.

    <?php
    
    $html = <<<EOF
    <!-- EXAMPLE OF CSS STYLE -->
    <style>
      h1 {
        color: navy;
        font-family: times;
        font-size: 24pt;
        text-decoration: underline;
      }
      p {
        color: red;
        font-family: helvetica;
        font-size: 12pt;
      }
    </style>
    <body>
    <h1>Example of <i>HTML + CSS</i></h1>
    <p>Example of 12pt styled paragraph.</p>
    </body>
    EOF;
    
    $pdf->writeHTML($html, true, false, true, false, '');
    
    ?>
    
    0 讨论(0)
  • 2020-12-18 12:40

    The best solution that worked for me was to replace 'px' to 'pt' in html code:

    $tidy = str_replace ('px', 'pt', $tidy);
    

    Before on the left side and after replacing on the right: Before on the left side and after on the right

    0 讨论(0)
  • 2020-12-18 12:46

    TCPDF recognizes basic CSS such as font-size, font-color, and font-family.

    For a little more information, check out TCPDF not render all CSS properties

    0 讨论(0)
提交回复
热议问题