2017-03-14 12 views
0

私は知っていることを聞いてはいけませんが、これは意見ではありませんが、今のところまだ何が存在しているのか、 。CSSを含むPHP/HTMLファイルからPDFを生成する

私の懸念:私はPHP/HTMLページから1ページのpdfファイルを生成するソリューションを探しています。データベースからコンテンツを取得し、CSS(表形式のデータと画像も含まれます)が多用されています。リンクをクリックするとPDFを開いたりダウンロードしたりする機能です。 PDFは基本的にA4サイズの対応するWebページと同じに見えるはずです(私はそのようにスタイルを設定します)。 MacOSの印刷ダイアログで「プレビュー/ PDFで保存」を選択した場合と同じですが、特定のソフトウェアを必要としないユーザはいないので、どのOSやブラウザでも動作します。

私はSO検索やウェブ、及びこれのいずれかがある場合Convert HTML + CSS to PDF with PHP?Generate PDF report from phpGenerate PDF from HTML PHPのように、私はこれらの記事で見ることができない私は、古い投稿やページ(3年とずっと年上)の多くを発見しましたまだ最新の/働いている。

だから、私はそのすべてのものをダウンロードして自分のページに組み込む必要があります。おそらくそれがもう動作しないか、自分の状況にはあてはまらないことがわかります。

このようなことを経験したことがある人は、これを行うことができ、PHP 5.6と7で動作するスクリプト/ライブラリを見つけることができます。 CSS3をサポートする必要はありません。これらのページをCSS2に限定することができます。私はそのWebサイトでWebフォントを使用していますが、PDFなしでそれらを取得できます。おそらく無料ですが、あまりにも高価ではない商用ソリューションも大丈夫でしょう。私はどんな助けにも非常に感謝しています。

+1

私は投票しませんでした。私はこれを通過するスレッドが多いことに同意します。とにかく私の経験:ほとんどのPHPベースのHTMLコンバータは、ある程度のCSSスタイリングをサポートするコンバータをサポートしています...多くのオープンソースの最新のソリューションはなく、現代のcss3スタイルはサポートされていません。あなたはHTMLから基本的なPDFファイルを生成することができますが、あなたは非常に特定のスタイルで運がないでしょう。 –

+0

[downvoteの議論の参考資料としても](https://meta.stackoverflow.com/questions/285081/am-i-still-supposed-to-explain-my-downvotes-or-not)、これはまた広すぎるか、図書館を頼んでいます.... – DaniP

+1

dompdfを試しましたか? – plonknimbuzz

答えて

0

mpdfライブラリを使用できます。学ぶのはとても簡単です。ここにサンプルコードがあります。 それは完全に動作します。

postメソッドを使用して別のページから値を取得することもできます。あなたの選択。

<?php $student_id = $_GET['student_id']; ?> 
<?php 
include("mpdf/mpdf.php"); 
$html .= " 
<html> 
<head> 
<style> 
body {font-family: sans-serif; 
    font-size: 10pt; 
    background-image: url(\"images/ok.jpg\"); 

    background-repeat: no-repeat; 
    padding-top:10pt; 
    margin-top: 100px; 
    padding-top: 50px; 
} 
td { vertical-align: top; 
    border-left: 0.6mm solid #000000; 
    border-right: 0.6mm solid #000000; 
    align: center; 
} 

p.student_id{ 
    padding-left : 140px; 
    padding-top : -27px; 
} 

</style> 
</head> 
<body> 
<!--mpdf                   

<p class=\"student_id\">$student_id</p> 


<sethtmlpageheader name='myheader' value='on' show-this-page='1' /> 
<sethtmlpagefooter name='myfooter' value='on' /> 
mpdf--> 


</body> 
</html> 
"; 

$mpdf=new mPDF(); 
$mpdf->WriteHTML($html); 
$mpdf->SetDisplayMode('fullpage'); 

$mpdf->Output(); 
?> 
関連する問題