TCPDF自定义页面大小

时间:2010-10-16 12:07:37

标签: tcpdf

tcpdf网站上的

This example显示了如何使用A4,A5等页面格式,但如何设置tcpdf以使用175mm x 266 mm等自定义尺寸?

解决方案赞赏。

7 个答案:

答案 0 :(得分:36)

不需要编辑类... tcpdf不接受宽度/长度参数,它只接受两个长度并确定哪个使用布局(纵向或横向)

$pageLayout = array($width, $height); //  or array($height, $width) 
$pdf = new TCPDF('p', 'pt', $pageLayout, true, 'UTF-8', false);

答案 1 :(得分:13)

编辑: 我错了:你可以在参数中给出一个数组(数组($ width,$ height))。

我创建了一个tcpdf子类,我修改了一些东西:getPageSizeFromFormat(); 以下是代码:http://paste.pocoo.org/show/294958/

然后我调用我的自定义类,添加新格式并设置新格式:

$pdf = new CUSTOMPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);  
//Add a custom size  
$width = 175;  
$height = 266; 
$orientation = ($height>$width) ? 'P' : 'L';  
$pdf->addFormat("custom", $width, $height);  
$pdf->reFormat("custom", $orientation);  

答案 2 :(得分:7)

在较新的TCPDF版本中,您可以通过多种方式定义页面大小:

  • 已定义所有标准页面格式(超过300种)。
  • 您可以通过定义一个包含2个数字的数组来简单地定义页面大小:宽度,高度(无论页面方向如何)。
  • 或者,您可以按照http://www.tcpdf.orgsetPageFormat()方法的文档说明定义高级页面详细信息(MediaBox,Cropbox,BleedBox,TrimBox,ArtBox)。

另请查看默认示例no。 28 {60} http://www.tcpdf.org

答案 3 :(得分:7)

转到/config/tcpdf_config.php并在第117行附近,修改一行:

define ('PDF_PAGE_FORMAT', 'A4');

通过

define ('PDF_PAGE_FORMAT', 'LETTER');

将“LETTER”放在大写中非常重要,您可以在此文件中看到所有可能的值:tcpdf/include/tcpdf_static.php

答案 4 :(得分:2)

事实上,现在你可以像这样解决它。

//AddPage [P(PORTRAIT),L(LANDSCAPE)],FORMAT(A4-A5-ETC)

$pdf->AddPage('P','A5');

来源: https://tcpdf.org/examples/example_028/

答案 5 :(得分:0)

修改tcpdf.php并添加新的网页类型或将现有类型修改为您的网页尺寸。

答案 6 :(得分:0)

上述答案对我不起作用,所以我在这里添加我的解决方案 - 来自http://www.tcpdf.org/examples/example_060.phps,更改urx,ury为你的目的

// set page format (read source code documentation for further information)
// MediaBox - width = urx - llx 210 (mm), height = ury - lly = 297 (mm) this is A4
$page_format = array(
    'MediaBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297),
    //'CropBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297),
    //'BleedBox' => array ('llx' => 5, 'lly' => 5, 'urx' => 205, 'ury' => 292),
    //'TrimBox' => array ('llx' => 10, 'lly' => 10, 'urx' => 200, 'ury' => 287),
    //'ArtBox' => array ('llx' => 15, 'lly' => 15, 'urx' => 195, 'ury' => 282),
    'Dur' => 3,
    'trans' => array(
        'D' => 1.5,
        'S' => 'Split',
        'Dm' => 'V',
        'M' => 'O'
    ),
    'Rotate' => 90,
    'PZ' => 1,
);

// Check the example n. 29 for viewer preferences

// add first page ---
$pdf->AddPage('P', $page_format, false, false);