1

現在、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 と同様にパーソナライズされたページであることが想定されているため、非常に乱雑に見えます。

4

1 に答える 1