2

PHPとCSSで生成したHTMLページを直接pdfとして表示したい。

私はこれをたくさん検索しましたが、これらのタスクを実行するためのライブラリがたくさんあります。しかし、私はライブラリを使用したくなく、ヘッダータグを定義して PDF としてレンダリングしたいだけです。

よくわかりませんが、メモリがほとんどないため、API を使用せずにライブラリが間違っている可能性があるため、別のソリューションに進む前に確認してください。

これはほとんどの製品で最も必要な機能であるため、これを行う簡単な方法があることを願っています。

4

1 に答える 1

1

まず第一に、これにはライブラリを使用することをお勧めします。「間違っているかもしれません」が、おそらくあなたや私が思いつくよりも正しいからです。第二に、(ほとんどの)これはヘッダーを使用して行われていません;)

本当に自分でやりたい場合は、PHP のネイティブ PDF 関数がここにあり、 FPDF (私の個人的なお気に入り) のようなライブラリが実装で直接使用されます。

ページを PDF に印刷するには、最初にページをレンダリングする (HTML DOM を作成して CSS を適用する) 必要がありますが、これは PHP では行われません。最初に WebKit などの HTML エンジンでページをレンダリングしてから、印刷操作のために PHP に戻る必要があります。

繰り返しますが、これはおそらくライブラリを使用して行う必要があり、頭痛の種とデバッグを節約できます。もちろん、この質問は以前に尋ねられたので、利用可能な情報はたくさんあります。

しかし、自分でやってみたい場合は、その道を歩む (またはクロールする) 必要があります。私なら、バスに乗ります。


アップデート

コメントで質問に答えるには:

<?php header("Content-type: application/pdf;charset=UTF-8"); ?> これをページの上部に配置すると、pdf がレンダリングされますが、この方法では生成されません。それで、これについて何か提案できますか。

そのヘッダーは HTTP 要求用です。リクエストがサーバーから返されると、返されるコンテンツのタイプ (JSON、画像、PDF など) を示すヘッダーが送信されます。

つまり、ヘッダーは実際にPDF を作成するのではなく、ブラウザに PDF を期待するように指示するだけです。ヘッダーの後に、サーバーは何か (できれば PDF) を送信します。

そのため、元の質問はヘッダーを使用して行われていないと言ったのです。

于 2012-11-29T00:54:58.127 に答える