ホームページ >ウェブフロントエンド >htmlチュートリアル >TCPDF 簡潔なチュートリアル_html/css_WEB-ITnose

TCPDF 簡潔なチュートリアル_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:25:253846ブラウズ

以前に fpdf を使用したとき、fpdf ではまだ私が望んでいた効果 (シンプルで拡張性が高く、再利用性が高い) を実現できないと感じていました。私の同僚がたまたまインターネットで tcpdf を見つけました。 fpdf の進化版。最も強力なのは、HTML コードを PDF に出力できることです。これは非常に強力です。イタリアの会社 (http://www.tcpdf.org/) によって開発されました。このクラス ライブラリは、公式 Web サイトからダウンロードできます。ダウンロードされた圧縮パッケージには、多数のサンプル ファイルが含まれています。さまざまな PDF を生成できます。コピーを作成し、実際のニーズに応じて変更するだけです。

ただし、tcpdf に関連する国内ドキュメントは非常に少なく、繁体字中国語と簡体字中国語を出力する方法については散発的に紹介されているだけです。exsample_038.php ファイルは中国語フォントのテストに使用され、フォントは $ に設定されています。 pdf->SetFont ('stsongstdlight', '', 20); 次に、TCPDF を使用して作成したレポート コードのチュートリアルを投稿します。誰もがもっと簡単に学べるように。

圧縮パッケージ内のサンプルファイルのNo.048ファイルを開き、各種テーブルを生成する専用ファイルを作成します。

1. まず、データベースに従ってレポート スタイルを設計し、フィールド、データ型、最大文字長などの要素を考慮する必要があります。

たとえば、私のデータベースは次のように設計されています。

具体的なコードは次のとおりです:

XML/HTML コード

  1. < table border = "1" cellpacing = "0" cellpadding = "0" width = "600" style = "table-layout:fixed;word-wrap:break-word;" >   
  2. < tr>   
  3. < td> 部门   
  4. EBL   
  5. 姓名   
  6. デーモン   
  7. 工号   
  8. 543564   
  9. 职位   
  10. 程序员   
  11.   
  12. < tr>   
  13. 入职日期   
  14. 2013/02/22   
  15. 申請時間   
  16. 2013/03/09   
  17. 性别   
  18.   
  19. 房号   
  20. 402   
  21.   
  22. < tr>   
  23. 原因   
  24.   
  25. < tr>   
  26. TCPDF は、PDF ファイルを高速に生成するための PHP5 関数パケットです。TCPDF は FPDF に基づいて展開および変更されます。UTF-8、Unicode、HTML、および XHTML をサポートします。   
  27.   
  28.   
  29. < p>   
  30. <テーブル ボーダー = "1" セルスペース = "0" セルパディング = "0" 幅 = "600" >   
  31. < tr>   
  32. 须知   
  33.   
  34. < tr>   
  35. < td colspan = "5" > ネットワーク自体または基本データを変更する必要がない場合、TCPDF は、保存されている PHP ネットワークに PDF のサポートを追加します。上。&lt&gt; < / tr >
  36. 次に、コピーします。この HTML コードを例の $tbl 変数に追加すると、実行されます。
  37. 2. ダウンロードした PDF ファイルを開くと、まだ空白のままですか?これは、FoxIt Reader または Linux オペレーティング システムを使用しており、フォントを設定するだけでは役に立たないためです。次にTCPDFに中国語フォントを設定する方法を紹介します。
  38. a. 中国語フォント パッケージをダウンロードします: http://pan.baidu.com/share/link?shareid=327612&uk=606208636
  39. b. 解凍後、droidsansfallback.php、droidsansfallback.z、および droidsansfallback.ctg をフォント パッケージ .z これら 3 つのファイルをフォント ディレクトリにコピーします。
  40. c. 設定したフォント コードを追加します: $pdf->SetFont('droidsansfallback', ”, 12);
  41. d. ファイルを変更した後、「dangdangdang」を再度実行すると完了です。
  42. 3. 以下に、PDF 中国語レポートを作成するための完全なテンプレートを示します。必要なファイルを作成するには、作成したいテーブルの HTML コードを $tbl 変数にコピーするだけです。コード
    1. require_once ( '../config/lang/eng.php' );  
    2. require_once ( '../tcpdf.php' );  
    3. // 新しい PDF ドキュメントを作成
    4. $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8' , false);  
    5. // ドキュメント情報を設定
    6. $pdf ->SetCreator(PDF_CREATOR);  
    7. $pdf ->SetAuthor( 'ニコラ・アスニ' );  
    8. $pdf ->SetTitle( 'TCPDF Example 038' );  
    9. $pdf ->SetSubject( 'TCPDF チュートリアル' );  
    10. $pdf ->SetKeywords( 'TCPDF, PDF, example, test, guide' );  
    11. // デフォルトのヘッダーデータを設定する
    12. $pdf ->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE. ' 038' , PDF_HEADER_STRING);  
    13. // ヘッダーとフッターのフォントを設定する
    14. $pdf ->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '' , PDF_FONT_SIZE_MAIN));  
    15. $pdf ->setFooterFont(Array(PDF_FONT_NAME_DATA, '' , PDF_FONT_SIZE_DATA));  
    16. // デフォルトの等幅フォントを設定します
    17. $pdf ->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);  
    18. //マージンを設定
    19. $pdf ->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);  
    20. $pdf ->SetHeaderMargin(PDF_MARGIN_HEADER);  
    21. $pdf ->SetFooterMargin(PDF_MARGIN_FOOTER);  
    22. //自動改ページを設定
    23. $pdf ->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);  
    24. //画像のスケール係数を設定
    25. $pdf ->setImageScale(PDF_IMAGE_SCALE_RATIO);  
    26. //言語に依存する文字列をいくつか設定します
    27. $pdf ->setLanguageArray( $l );  
    28. // ---------------------------------------------- -----------
    29. // set font
    30. //$pdf->SetFont('stsongstdlight', '', 12);   
    31. $pdf ->SetFont( 'droidsansfallback' , '' , 12);  
    32. // ページを追加
    33. $pdf ->AddPage();  
    34. $pdf ->Write(0, '报表' , '' , 0, 'L' , true, 0, false, false, 0);  
    35. $tbl = //这里放HTML代码
    36. $pdf ->writeHTML( $tbl , true, false, false, false, '' );  
    37. // ---------------------------------------------- -----------
    38. //閉じて PDF ドキュメントを出力
    39. $pdf ->Output( 'report' , 'I' );  
    40. ?>  

    附录:TCPDF常用関数の使用説明:

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

    页面记得也设はutf-8

    Image($file, $x, $y, $w, $h, $type, $link, $align, $resize, $dpi, $palign, $ismask, $imgmask, $border);

    注: 画像の放出句 $pdf->AddPage() の後に、これは近くにあり、背景を使用して、座標の位置を設定します。

    setFont( '文字', '制御显表示',文字号) 設置文字表示样式も単独で使用できます

    setTextcolor(int,int,int)設置文本色、三個のパラメータの值必须在0~255之间

    setFontSize(int );設置文字号

    setFillColor(int,int,int) 設定四角形框之類型の塗りつぶし色、3 つのパラメータ值必ず 0 と 255 の間にあります

    输入文字:

    单行文本

    Cell($w, $h= 0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0)

    Cell(宽, 高, 内容,边框, 是否换行, 文字对齐, 文字底色,连接, 变宽)

    多行文本

    MultiCell($w, $h, $txt, $border=0, $align='J', $fill= 0, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0)

    MultiCell(宽,高、内容、边框、文字对齐、文字底色、是否换行、x坐标、y坐标、变高、变宽、是否支持html、自動充填、最大高)

    html文字

    setHtmlLinksStyle($color=array(0,0,255), $fontstyle='U');

    setHtmlLinksStyle(デフォルトの色は青、U には下線が付いています);

    addHtmlLink($url, $name, $fill=0, $firstline=false, $color='', $style=-1);

    addHtmlLink(ハイパーリンクアドレス、表示テキスト、背景色の有無、$firstline=false, $color='', $style=- 1 );

    改行

    Ln($h='', $cell=false);

    Ln(行数、セルかどうか);

    暗号化

    SetProtection($permissions=array(), $ user_pass=' ', $owner_pass=null);

    例:

    $pdf->SetProtection(array('print','modify','copy','annot-forms'), '123658') ;

    画像の背景

    出力 pdf

    $pdf->Output(doc.pdf', 'I');/* デフォルトは、I: ブラウザーで開く、D: ダウンロード、F: ブラウザーで PDF を生成します。サーバー、S:のみ pdf の文字列を返します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。