【问题标题】:How can I set custom page width and height in TCPDF?如何在 TCPDF 中设置自定义页面宽度和高度?
【发布时间】:2013-09-25 18:11:28
【问题描述】:

我正在使用 TCPDF 从 HTML 内容生成 PDF 文件。我想将页面宽度和高度设置为自定义值 400px 和 300px。

我使用了以下代码

 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

在哪里

  • PDF_PAGE_ORIENTATIONp;
  • PDF_UNITmm;
  • PDF_PAGE_FORMATA6

【问题讨论】:

    标签: php tcpdf


    【解决方案1】:

    你可以这样做:

    $custom_layout = array($your_width, $your_height);
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, $custom_layout, true, 'UTF-8', false);
    

    【讨论】:

    • 它适用于标签打印。我需要页面尺寸的地方:41 毫米、89 毫米。我将其设置为:$pdf = new TCPDF('L', 'mm', array('41','89'), true, 'UTF-8', false);
    • 有没有办法设置一个无限的高度来模拟打印到绘图仪/标签打印机?
    【解决方案2】:

    您可以使用数组来指定宽度和高度,而不是 PDF_PAGE_FORMAT(或 A6)。

    TCPDF 构造函数的第三个参数接受一个字符串,如“A4”、“A6”等,或者一个包含宽度和高度的二元素数组(在 PDF_UNIT 中定义的单位)。

    所以基本上:

    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, array(400, 300), true, 'UTF-8', false);
    

    【讨论】:

      【解决方案3】:

      如果你想通过名称定义一个新页面(一个完全自定义的没有关系的页面),那么是这样的:

      1. 转到 /tcpdf/include/tcpdf_static.php
      2. 滚动到第 478 行
      3. 以相同的格式添加自定义尺寸的工作表

        public static function getPageSizeFromFormat($format) {
        switch (strtoupper($format)) {
            // ISO 216 A Series + 2 SIS 014711 extensions
            case 'A0' : {$pf = array( 2383.937, 3370.394); break;}
            case 'A1' : {$pf = array( 1683.780, 2383.937); break;}
            case 'A2' : {$pf = array( 1190.551, 1683.780); break;}
            case 'A3' : {$pf = array(  841.890, 1190.551); break;}
            case 'A4' : {$pf = array(  595.276,  841.890); break;}
            case 'A5' : {$pf = array(  419.528,  595.276); break;}
            case 'A6' : {$pf = array(  297.638,  419.528); break;}
        

      只需添加另一个具有您自定义尺寸的外壳。

              case 'SQUARE' : {$pf = array( 297.638, 297.638); break;}
              case 'SMALLSQUARE' : {$pf = array( 100.00, 100.00); break;}
      

      然后使用普通的构造函数调用新页面:

      $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, 'SQUARE', true, 'UTF-8', false);
      

      【讨论】:

        猜你喜欢
        • 2014-07-03
        • 1970-01-01
        • 2017-09-28
        • 2017-07-12
        • 1970-01-01
        • 2015-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多