Webページを直接PDFに保存したい。
私がやったことは
<form>
<input type=button name=print value="Print" onClick="window.print()">
</form>
ただし、ページを印刷するかPDFとして保存するかを選択できます。
しかし、私が望んでいるのは、ボタンをクリックすると、PDFオプションが表示されないように直接ページを保存します。
JavaScriptに解決策はありますか?
助けてくれてありがとう。
簡単な答えはノーです。javascriptのみを使用して、ユーザーがブラウザでオプションを表示するのを防ぐことはできません。
少し長めの答えは、javascriptより少しだけcanできることです。
html2canvas などのサービスを使用して、サーバー上のページにPOSTリクエストを送信できます。そのページを使用して画像をPDFに変換し、それを取得できますファイルをダウンロードとして出力します。
PHPを使用していると仮定します。
<?php
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='screen-shot.pdf'");
// The above headers will cause the file to automatically be downloaded.
// Use a library to convert the image to a PDF here.
画像をPDF=に変換するライブラリの例は mPDF 、または [〜#〜] tcpdf [〜#〜] です。特にPHPを使用していない場合は、Googleの他のユーザーに無料で提供されます。
品質は間違いなくニースではないので、このソリューションは自分で選択するだけでは劣ることに注意してください。
ここで、提案されたソリューションがHTMLを画像に変換してから、ラスター画像がPDFに変換されることに注意する必要があります。
検索可能なPDF(最高品質でアーカイブおよび印刷できる)に保存し、テキストを明確に印刷する場合は、次のオプションのいずれかを検討する必要があります。
Google PDFまたはSafari(両方のブラウザがChromeファイルにページを「印刷」できるようにするための指示を提供して、ページをPDFに保存するようユーザーに依頼します。 )。たぶん、この指示を表示して、印刷ダイアログを呼び出すこともできます
jsPDF(無料、オープンソース) などのツールを使用して、データからPDFを生成するために、クライアント側のJavaScriptライブラリの一部を使用します