web-dev-qa-db-ja.com

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
6
user2000375

あなたができること:

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

PDF_PAGE_FORMAT(またはA6)の代わりに、配列を使用して幅と高さを指定できます。

TCPDFコンストラクターの3番目の引数は、「A4」、「A6」などの文字列、または幅と高さ(PDF_UNITで定義された単位)を含む2要素配列のいずれかを受け入れます。

だから基本的に:

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

新しいページを名前で定義する場合(関係のない完全にカスタムのページ)、次のようにします。

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