現在、GET機能を使用してパーソナライズする半動的ページに取り組んでいます。また、いくつかの場所で日付をエコーします。このページの下部に、訪問者がこのページを PDF としてダウンロード/開くオプションを提供するボタンが必要です。ヘッダーなし。DOMPDF を統合しましたが、正しく動作させることができず、助けが必要です。ここ Stackoverflow で見つけたいくつかのことを試しましたが、成功しませんでした。
基本的に、ページ全体を PDF に印刷する必要がありますが、ページが読み込まれたときに開くべきではありません。しかし、ボタンによってトリガーされます。そしてヘッダーなし(1つの特定のdiv)。これは可能ですか?
<?php
require_once("dompdf/dompdf_config.inc.php");
$html =
'<html><body>'.
'<p>This is a test for '.
'<?php echo htmlentities(substr(urldecode($_SERVER["QUERY_STRING"]), 1)); ?> </p>'.
'<p>Thank you for reading.</p>'.
'</body></html>';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("the_inquiry.pdf");
return true;
?>
<html>
<body>
<div class="shouldnotPrintToPDF">
Content.
</div>
<div class="shouldPrintToPDF">
Sensitive content.
<a href="the_inquiry.pdf">Open or save as PDF</a>
</div>
</body>
</html>
これは基本的に 1 ページのプレゼンテーションです。テキストも多いので、ここでは紹介しません。しかし、この方法では、ページを $html = 内と実際のタグ内に 2 回記述する必要があります。また、PDF の保存/開くオプションが最初から表示されますが、これは表示されるべきではありません。また、echo htmlentities の部分を実際の pdf-name に追加したいと考えています。これは可能ですか? PDF が開き、$html に入力された内容が含まれます = 問題ありません。ただし、リンクによってトリガーされません。
更新: ここで実行したとおりに実行すると、「要求された URL /inquiry.php&pdf=1 がこのサーバーで見つかりませんでした」というエラーが表示されます。ルート レベルで pdf で印刷しようとしているページがありますが、DOMPDF は /dompdf にあります。
更新: リンクを編集すると、以下のように、このすべての情報が新しいページに表示されます。
[_parse_properties(margin:=1.2cm)(empty)_parse_properties]
[_parse_sections[section[_parse_properties(display:=-dompdf-page)
(counter-reset:=page)(empty)_parse_properties]#html#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]
_parse_sections][_parse_sections[section[_parse_properties(display:=block)
(empty)_parse_properties]#div##map##dt##isindex#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]
_parse_sections][_parse_sections[section[_parse_properties(page-break
-before:=avoid)(display:=block)(counter-increment:=page)
(empty)_parse_properties]#body#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]_parse_sections]
[_parse_sections[section[_parse_properties(display:=block)(margin:=1em
0)(empty)_parse_properties]#p##dl##multicol#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]_parse_sections]
[_parse_sections[section[_parse_properties(display:=block)(margin-left:=40px)
(empty)_parse_properties]#dd#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]_parse_sections]
[_parse_sections[section[_parse_properties(display:=block)(margin:=1em
40px)(empty)_parse_properties]#blockquote#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]_parse_sections]
[_parse_sections[section[_parse_properties(display:=block)(font-style:=italic)
(empty)_parse_properties]#address#section]
[section[_parse_properties(empty)_parse_properties]#empty#section]_parse_sections]
[_parse_sections[section[_parse_properties(display:=block)(text-align:=center)
(empty)_parse_properties]#center#section]
何が原因である可能性がありますか?
ブレークスルー:
DOMPDF_DPI を有効にすると、実際には PDF として開きますが、すべてのテキストが PDF の 2 ページ目の最初の行に表示されます。同様に、すべてのテキストが互いに重なって表示されます。また、PDF を開くと、?&pdf=1 が htmlentities クエリ文字列に含まれます。これは、PDF と同様にパーソナライズされたページであることが想定されているため、非常に乱雑に見えます。