Php 如何在TCPDF中设置自定义页面宽度和高度?

Php 如何在TCPDF中设置自定义页面宽度和高度?,php,tcpdf,Php,Tcpdf,我正在使用TCPDF从HTML内容生成PDF文件。我想将页面宽度和高度设置为自定义值400px和300px 我使用了以下代码 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 在哪里 PDF_页面_方向是p PDF_单位为mm PDF\u PAGE\u格式是A6 您可以: $custom_layout = array($your_width, $your_heig

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

我使用了以下代码

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

  • PDF_页面_方向
    p
  • PDF_单位
    mm
  • PDF\u PAGE\u格式是
    A6
    • 您可以:

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

      您可以使用数组来指定宽度和高度,而不是PDF页面格式(或A6)

      TCPDF构造函数的第三个参数接受类似“A4”、“A6”等字符串或包含宽度和高度的两元素数组(以PDF_UNIT中定义的单位为单位)

      所以基本上:

      $pdf=新的TCPDF(pdf页面方向,pdf单元,阵列(400300),真,“UTF-8”,假);
      
      如果您想按名称定义一个新页面(一个完全自定义的、没有关系的页面),那么以下方法是:

    • 转到/tcpdf/include/tcpdf_static.php
    • 滚动至第478行
    • 以相同格式添加自定义大小的图纸

      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);
      

      它适用于标签打印。我需要的页面大小:41毫米,89毫米。我将其设置为:
      $pdf=newtcpdf('L','mm',array('41','89'),true,'UTF-8',false)是否有办法设置无限高以模拟绘图仪/标签打印机的打印?