web-dev-qa-db-ja.com

TCPDFカスタムページサイズ

この例 tcpdfのWebサイトでは、A4、A5などのページ形式の使用方法を示していますが、175mm x 266 mmなどのカスタムサイズを使用するようにtcpdfを設定するにはどうすればよいですか?

ソリューションに感謝します。

21
abel

編集:私はちょうど間違っていました:パラメータで配列(array($ 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);  
13
nicofrand

クラスの編集は必要ありません... tcpdfは幅/長さパラメーターを受け入れません。2つの長さを受け入れ、レイアウトを使用するもの(ポートレートまたはランドスケープ)を決定します

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

新しいTCPDFバージョンでは、複数の方法でページサイズを定義できます。

  • すべての標準ページ形式はすでに定義されています(300種類以上)。
  • 幅と高さ(ページの向きに関係なく)の2つの数字で配列を定義することで、ページサイズを簡単に定義できます。
  • または、 http://www.tcpdf.orgsetPageFormat()メソッドのドキュメントで説明されているように、高度なページ詳細(MediaBox、Cropbox、BleedBox、TrimBox、ArtBox)を定義できます。 =。

デフォルトの例も確認してください。 28および60 at http://www.tcpdf.org .

7
Nicola Asuni

/config/tcpdf_config.phpに移動し、117行目付近で次の行を変更します。

define ('PDF_PAGE_FORMAT', 'A4');

沿って

define ('PDF_PAGE_FORMAT', 'LETTER');

「LETTER」を大文字にすることが重要です。このファイルですべての可能な値を見ることができます:tcpdf/include/tcpdf_static.php

7
jgoge

真実、今、あなたはこのようにそれを解決することができます。

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

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

ソース: https://tcpdf.org/examples/example_028/

2
Atalus

上記の答えは私にはうまくいきませんので、ここに私のソリューションを追加します- 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);
0
Tom