【问题标题】:How do I remove unwanted space from a PDF that was generated using HTML?如何从使用 HTML 生成的 PDF 中删除不需要的空间?
【发布时间】:2015-05-21 09:28:03
【问题描述】:

我正在使用HTML2PDF 创建 PDF。我的 HTML 模板的结构非常基本,使用表格(和嵌套表格)。

我能够创建 PDF,并且大多数 PDF 都能正确呈现。但是,嵌套表上方/下方有很多不需要的空间。这需要删除,因为我需要将所有信息都放在一页上(见下文)。

您可以查看模板here 的HTML。从这里你应该看到实际的 HTML 以最少的空白呈现。

我知道我正确地调用了 HTML2PDF 类,但仅供参考,以下是我的调用方式:

require(DIR_SYSTEM . 'library/html2pdf/html2pdf.class.php');
$html = file_get_contents("pdf_template.tpl");
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($html);
$html2pdf->Output($path . $file_name, 'F');

我尝试过的事情:

  • 将所有<table><td><tr> 标签上的marginpaddingcellpaddingcellspacing 设置为0。
  • 删除 <td><tr> 标记之间的任何缩进,因为其他 SO 间距问题似乎可以由此解决。

如何从 PDF 中删除此渲染空间?

【问题讨论】:

    标签: php pdf html2pdf


    【解决方案1】:

    您的元素之间和周围似乎有很多空白。这可能会导致 html 呈现错误 - html 中的新行不会呈现任何内容,但它可能会呈现为 pdf 中的新行。

    删除 html 元素周围的所有空白:

    例如

        <td class="main-td">    <span>Your Reference</span>
    
        </td>
    
        <td ...
    

    进入

    <td class="main-td"><span>Your Reference</span></td>
    <td ...
    

    (不是缺少前导空格)

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      • 2012-05-21
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      相关资源
      最近更新 更多