HTML(JavaScriptを含む)をPDFに変換したい。どうやってやるの?
Webページに表示されているものを表示したいだけです。 JavaScriptライブラリによって生成されたガントチャートを表示しています。
今、そのHTML WebページをPDFとして保存したいのですが、どうすればいいですか?
また、複雑なjavascriptを含むhtmlファイルをpdfに変換する方法を探しています。ファイルのjavasriptにはdocument.write
およびDOM操作。
HtmlUnit を組み合わせてファイルを解析し、 Flying Saucer を組み合わせてPDFにレンダリングしようとしましたが、結果は十分ではありません。それは機能しますが、私たちの場合、pdfはユーザーが望むものに十分に近づいていません。
これを試してみたい場合は、ローカルHTMLファイルをPDFに変換するコードスニペットを以下に示します。
URL url = new File("test.html").toURI().toURL();
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage(url);
OutputStream os = null;
try{
os = new FileOutputStream("test.pdf");
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(page,url.toString());
renderer.layout();
renderer.createPDF(os);
} finally{
if(os != null) os.close();
}
APIを使用して作業を行う可能性について誰も言及していないことに驚いています。
確かに、セキュリティを維持したい場合は、JavaScriptを使用してブラウザー内からHTMLをPDFに直接変換することはお勧めできません。
ただし、次のことが可能です。
ユーザーが「印刷」(たとえば)ボタンを押すと、次のことができます。
ユーザーの視点では、ボタンをクリックすることでPDFを受け取ります。
仕事をする多くの利用可能なAPIがあり、他のAPIよりも優れているものもあります(それが私がここにいる理由ではありません)、Google検索はあなたに多くの答えを与えます。
バックエンドの記述内容に応じて、 PDFShift (真実:私はそこで働いています)に興味があるかもしれません。
PHP用のすぐに使えるパッケージ、PythonおよびNode.js。パッケージをインストールし、アカウントを作成し、APIキーを指定するだけで設定完了です。
APIの利点は、すべての言語で適切に機能することです。必要なのは、変換するデータを含むリクエスト(通常はPOST)のみで、PDFを返します。使用状況によっては、通常は無料です。ただし、ヘビーユーザー。
ブラウザウィジェット( SWTのウィジェットなど )を使用してチャートを画像としてレンダリングし、次に iText を使用してPDF fromそれ。
Wkhtmltopdfの使用をお勧めします。 http://wkhtmltopdf.org/
Docmosis または JODReports を使用すると、HTMLとJavascriptをPDFまたはdocまたはその他の形式を生成できるドキュメントのレンダリングプロセスに送り込むことができます。変換はOpenOfficeによって実行されるため、結果はOpenOfficeインポートフィルターに依存します。Webページをファイルに保存し、OpenOfficeでロードすることで手動で試すことができます-それが十分に見える場合、これらのツールはあなたに与えることができますPDFと同じ結果。
これを確認してください http://www.techumber.com/2015/04/html-to-pdf-conversion-using-javascript.html
基本的に、html2canvasとjspdfを使用して機能させる必要があります。まず、domを画像に変換し、jspdfを使用して画像を含むpdfを作成します。
編集:それがどのように機能するかについての短いメモ。この作業を完了するために、2つのライブラリを使用します。 http://html2canvas.hertzen.com/ および https://github.com/MrRio/jsPDF 最初に、使用するhtml2canvasを使用してdomイメージを作成しますその画像をpdfに追加するjspdf addImageメソッド。簡単に思えますが、jsPdfとhtml2cavasにはほとんどバグがないため、一時的にdomスタイルを変更する必要があります。お役に立てれば。
JQueryプラグインであるTableExportを試してください。
ブラウザのPrint...
メニュー項目、 PDFCreator のようなPDFプリンタードライバーを利用できます。このように、ページに含まれるJavaScriptは、ページがレンダリングされるときにブラウザーによって処理されます。
PDFCreator は、ほとんどすべてのWindowsアプリケーションからPDFファイルを作成する無料ツールです。
- 印刷可能な任意のプログラムからPDFを作成します
これをサイトにコピーして貼り付け、ページをPDFページに変換するリンクを提供します。
<a href="javascript:void(window.open('http://www.htmltopdfconverter.net/?convert='+window.location))">Convert To PDF</a>