2013-08-08 9 views
6

データベースからレポートを生成するPHPファイルがあります。このページを保存して印刷できるように、このページをPDFファイルに変換します。 WebページをPDFに変換するにはどうすればよいですか?利用可能なツールやPHPスクリプトはありますか?PHPのWebページをPDFに変換するには?

+1

使用http://www.fpdf.org/?lang=en –

+1

この[stackoverflowの](HTTPを確認してください。 //stackoverflow.com/questions/391005/convert-html-css-to-pdf-with-php) –

+1

[WebページからPDFボタンに変換]の可能な回答(http://stackoverflow.com/questions/8050318/webpage) -convert-to-pdf-button) –

答えて

2

使用MPDF

http://www.mpdf1.com/mpdf/index.php

サンプルファイルのリンク

http://mpdf1.com/common/mpdf/examples/

+0

これに感謝して、私に与えられた答えのそれぞれを試しました。これが私が最も好きなものです。 HTMLをPDFに変換し、その広範囲にわたるドキュメントを作成しました。これは私が使用していると思います。 – QKWS

3

はい。

TCPDFプラグインを使用してください。

ここでは例を示し、コードで上記を設定した後にこれを試してみましょう。

<?php 
require_once('tcpdf_include.php'); 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 
    require_once(dirname(__FILE__).'/lang/eng.php'); 
    $pdf->setLanguageArray($l); 
} 
$pdf->SetFont('helvetica', '', 9); 
$pdf->AddPage(); 
$html = '<h1>Example of HTML text flow</h1>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. <em>Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?</em> <em>Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</em><br /><br /><b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i> -&gt; &nbsp;&nbsp; <b>A</b> + <b>B</b> = <b>C</b> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>B</i> = <i>A</i> &nbsp;&nbsp; -&gt; &nbsp;&nbsp; <i>C</i> - <i>A</i> = <i>B</i><br /><br /><b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u> <b>Bold</b><i>Italic</i><u>Underlined</u>'; 
$pdf->writeHTML($html, true, 0, true, 0); 
$pdf->lastPage(); 
$pdf->Output('example_021.pdf', 'I'); 
?> 
+1

私はちょっとここで失われています。SetHeaderDataのデフォルトを変更するにはどうしたらいいですか? – QKWS

+0

@QKWS、すべてを指定する必要はありません。上記の例を試してみてください。 [私は古いコードを編集しました] –

0

あなたは(HTMLレポート上のボタンで)PDFのクライアント側を生成したい場合は、jsPDF(http://parall.ax/products/jspdf)を使用することができ、PDF

0

DomPDFはあなたが探しているもののようです。

dompdfは、HTMLからPDFへのコンバータです。その中心的なところであるdompdfは、PHPで書かれた(ほとんどが)CSS 2.1に準拠したHTMLレイアウトとレンダリングエンジンです。これはスタイル駆動のレンダラーです。外部スタイルシート、インラインスタイルタグ、個々のHTML要素のスタイル属性をダウンロードして読み込みます。また、ほとんどのプレゼンテーションHTML属性もサポートしています。

参考リンク:

2

私はかなり頻繁に使用:

http://html2pdf.fr/en

これまでのところうまくいっていますが、いくつかのバグがありますが、それ以外はうまくいきます。

TCPDFを使用すると、HTMLからPDFへの変換をサポートしていないように思われるので、私は最も問題がありました。

関連する問題