TCPDFを使用して、ezpdfのように保存せずにブラウザでpdfファイルを出力する方法は?
「インライン」にI
を使用してブラウザにPDFを送信します。ファイルを保存する場合はF
ではなく]を使用します。
$pdf->Output('name.pdf', 'I');
これは、私がドキュメントで見つけたものです。
- [〜#〜] i [〜#〜]:ファイルをブラウザにインラインで送信します(デフォルト)。使用可能な場合、プラグインが使用されます。 nameで指定された名前は、PDFを生成するリンクで「名前を付けて保存」オプションを選択したときに使用されます。
- [〜#〜] d [〜#〜]:ブラウザに送信し、nameで指定された名前でファイルのダウンロードを強制します。
- [〜#〜] f [〜#〜]:nameで指定された名前でローカルサーバーファイルに保存します。
- [〜#〜] s [〜#〜]:文字列としてドキュメントを返します(名前は無視されます)。
- [〜#〜] fi [〜#〜]:F + Iオプションと同等
- [〜#〜] fd [〜#〜]:F + Dオプションと同等
- [〜#〜] e [〜#〜]:base64 mimeマルチパートメール添付ファイルとしてドキュメントを返します(RFC 2045)
PDFブラウザビューアー(しばらくの間このソリューションを探していました)で開くのではなく、保存するためにブラウザーでダイアログウィンドウを開きたい場合、 'D'を使用する必要があります。
$pdf->Output('name.pdf', 'D');
次のようにPDFヘッダー(header()関数を使用))を印刷します:header("Content-type: application/pdf");
次に、作成したPDFファイルの内容を(ディスクに書き込む代わりに)エコーします。
私はOutput("doc.pdf", "I");
を使用してきましたが機能しません。常にファイルを保存するように求められます。
私はドキュメントを見て、それを見つけました
ファイルをブラウザにインラインで送信します(デフォルト)。使用可能な場合、プラグインが使用されます。 nameで指定された名前は、PDFを生成するリンクで「名前を付けて保存」オプションを選択したときに使用されます。 http://www.tcpdf.org/doc/classTCPDF.html#a3d6dcb62298ec9d42e9125ee2f5b23a1
次に、プラグインを使用して印刷する必要があります。プラグインを使用しないと、ダウンロードされます。
ヒント-保存ファイルの場合:
$pdf->Output('sandbox/pdf/example.pdf', 'F');
前述のとおり、インラインのI
で動作しますが、O
でも動作します。
$pdf->Output('name.pdf', 'O');
おそらく覚えやすいでしょう(O
for Open)。