ホームページ >バックエンド開発 >PHPチュートリアル >PHPマスター| dompdfを使用してHTMLをPDFに変換します
git clone https://github.com/dompdf/dompdf.git git submodule init git submodule updateDOMPDFをダウンロードした状態で、簡単なPDFを生成する短い例を書きましょう。
<span><span><?php </span></span><span><span>set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/dompdf"); </span></span><span> </span><span><span>require_once "dompdf_config.inc.php"; </span></span><span> </span><span><span>$dompdf = new DOMPDF(); </span></span><span> </span><span><span>$html = <span><span><<<'ENDHTML'</span> </span></span></span><span><span><html> </span></span><span><span> <body> </span></span><span><span> <h1>Hello Dompdf</h1> </span></span><span><span> </body> </span></span><span><span></html> </span></span><span><span><span>ENDHTML<span>;</span></span> </span></span><span> </span><span><span>$dompdf->load_html($html); </span></span><span><span>$dompdf->render(); </span></span><span> </span><span><span>$dompdf->stream("hello.pdf");</span></span>プロジェクトでライブラリを使用するために、ほとんどのDOMPDF構成を含むdompdf_config.inc.phpを最初に取り込みます。また、デフォルトの構成パラメーターをオーバーライドできるオートローダーとカスタム構成ファイルもロードします。 HTMLマークアップは、load_html()メソッドの文字列として指定されます。または、load_html_file()メソッドを使用して、ファイルまたはURLからマークアップをロードできます。ファイル名またはWebページのURLを引数として受け入れます。 render()メソッドはHTMLをPDFにレンダリングし、PDFファイルをダンプする準備ができています。 Stream()は、結果のPDFをブラウザへの添付ファイルとして送信します。 Stream()メソッドには、オプションの2番目のパラメーター、オプションの配列があります。
git clone https://github.com/dompdf/dompdf.git git submodule init git submodule update前の例のようにStream()を呼び出す代わりに、PDFを文字列として返すoutput()を使用します。オプションのオプションアレイも受け入れますが、利用可能な唯一のオプションは圧縮です(デフォルトは真です)。 また、DOMPDFを使用すると、HTMLにレンダリングするPHPスクリプトを埋め込むことにより、生成されたPDFにヘッダーまたはフッターを追加することもできます。ただし、任意のコードを処理すると、注意しないとセキュリティリスクが発生する可能性があるため、この機能を制御する構成値はデフォルトでオフになっています。最初にDOMPDF_ENABLE_PHPオプションをTRUEで設定する必要があります。 インラインPHP実行を有効にすると、PDFオブジェクトがスクリプト内で利用可能になり、ページを操作するために使用できます。ページ内のどこにでもテキスト、行、画像、長方形などを追加できます。
<span><span><?php </span></span><span><span>set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/dompdf"); </span></span><span> </span><span><span>require_once "dompdf_config.inc.php"; </span></span><span> </span><span><span>$dompdf = new DOMPDF(); </span></span><span> </span><span><span>$html = <span><span><<<'ENDHTML'</span> </span></span></span><span><span><html> </span></span><span><span> <body> </span></span><span><span> <h1>Hello Dompdf</h1> </span></span><span><span> </body> </span></span><span><span></html> </span></span><span><span><span>ENDHTML<span>;</span></span> </span></span><span> </span><span><span>$dompdf->load_html($html); </span></span><span><span>$dompdf->render(); </span></span><span> </span><span><span>$dompdf->stream("hello.pdf");</span></span>スクリプトはHTMLマークアップに直接埋め込まれ、最初にオブジェクトを開き、レンダリングに影響を与えることができます。すべての図面がそのオブジェクトに記録され、このオブジェクトをすべてまたは選択したページに追加できます(ただし、制限はあります)。 次に、ページの実際の幅と高さを取得して、追加する予定のフッターの座標を計算します。また、テキストコンテンツを追加している間、フォントオブジェクトを提供する必要があります。 font_metrics :: get_font()により、必要なオブジェクトを作成できます。また、get_font_height()を使用して、そのフォントサイズで指定されたフォントの高さを取り、フッターの内容の位置を計算します。メソッドget_font_width()は、計算でも使用される指定されたフォントとフォントサイズのテキストの幅を返します。 Line()メソッドは、ポイント(x1、y1)から(x2、x2)に線を描画します。提供された色の値は、実際のRGB値ではないことに注意してください。基礎となるPDFクラスには0〜1の値が必要なため、RGB値をこれらの新しい値に変換します。より良い近似を取得するには、255で分割できます。 xおよびyの位置、追加するテキスト、フォントオブジェクト、フォントサイズ、および色を受け入れるpage_text()メソッドを使用して、各ページのページ番号を追加します。 dompdfは{page_num}の値を自動的に置き換えます 各ページの{page_count}、$ pdfを利用できるようにします。 PDFがレンダリングすると、フッターセクションは次のようになります。
git clone https://github.com/dompdf/dompdf.git git submodule init git submodule updateレンダリングされたPDFを本質的に変更しているため、$ dompdf-> render()を呼び出した後にコードを配置することに注意してください。
はい、DOMPDFは複数のページでPDFを生成できます。 HTMLコンテンツが複数のページにまたがるのに十分な長さである場合、DOMPDFは自動的にページに分割されます。また、CSSを使用してページブレイクを手動で追加することもできます。
「set_paper」メソッドを使用してページのサイズと方向を設定できます。たとえば、 '$ dompdf-> set_paper(' a4 '、' landscape ')'を使用して、ページサイズをA4に、方向をランドスケープに設定できます。 >
はい、dompdfはlaravelで使用できます。 LaravelアプリケーションでDOMPDFを使用する簡単な方法を提供する「Laravel-DompDF」と呼ばれるLaravelパッケージがあります。 「出力」メソッドと「file_put_contents」関数を使用して、ファイルに生成されたpdf。たとえば、 'file_put_contents(' mypdf.pdf '、$ dompdf-> output())'を使用して、pdfを 'mypdf.pdf'。 Webアプリケーションでの応答として?以上がPHPマスター| dompdfを使用してHTMLをPDFに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。