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

时间:2013-09-20 11:12:22

标签: php tcpdf

我正在使用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

3 个答案:

答案 0 :(得分:13)

你可以这样做:

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

答案 1 :(得分:6)

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

TCPDF构造函数的第三个参数接受像'A4','A6'等字符串或包含宽度和高度的双元素数组(以PDF_UNIT中定义的单位)。

基本上是这样的:

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

答案 2 :(得分: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;}
    
  4. 只需添加自定义尺寸的另一个案例。

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