2012-03-17 19 views
6

かなりの量のコンテンツが動的に構築される(jquery ajaxなど)Webページがあり、印刷可能なバージョンを提示する必要があります。

私はおそらく(与えられた時間)ラウンドを取ることができるすべての通常の問題を克服していますが、それは私には思っています - DOMを取り、それを使ってPDFを生成する方法はありますか? javascript。おそらくちょっと疑問に思うかもしれません。ちょっと難しいと思いますが、javascriptを使ってPDFファイルを作成しても、それをユーザーに提示する方法はありますか。

人々は何を考えていますか?html domから印刷可能なPDFを作成する

答えて

2
var doc = new jsPDF(); 
doc.text(20, 20, 'Hello world!'); 
doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.'); 
doc.addPage(); 
doc.text(20, 20, 'Do you like that?'); 
// Output as Data URI 
doc.output('datauri'); 

https://parall.ax/products/jspdf、私はこれは面白い、うーんあなた

+0

こんにちは、ありがとう - 本当に良いですね。基本的にはDOMで既に構築されているものを取り上げて、さらにいくつかの詳細(ページサイズなど)を与えることで取り除くことができると期待していました。 – Jonny

+0

@Mooこれがあなたに役立つかどうかを確認するには、[link] http://code.google.com/p/dompdf/ –

+0

@Moo [link] http://stackoverflow.com/questions/1686280/convert-html-having -javascript-to-pdf-java-javascript –

0

This私は2,3日前に同様の種類のサイト/問題について質問しました。

私の解決策は:(1)JavaScriptで、クッキーを設定し、location.href = ...;(AJAXではなく)を使用してPHPスクリプトを呼び出し、(2)PHPスクリプトがクッキーにアクセスして必要なレポートの種類を判断させる正しいヘッダーを使用してファイルをダウンロードするようにユーザーに促すフォームをエコーし​​ます。それは、AJAXはユーザーにプロンプ​​トを表示することができますことはありませんので、私はAJAXを使用して起こることを望んでいたものを手に入れることは不可能証明

header("Content-type: application/vnd.ms-word"); 
header("Content-Disposition: attachment;Filename=test.doc"); 

echo "<html>"; 
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">"; 
echo "<body>"; 
echo "Testing-2-3!"; 
echo "</body>"; 
echo "</html>"; 

:PHPは、以下のようなものでした。

この方法を使っても似たようなことができますが、あなたの場合は.docファイルではなくPDFを生成します(または事前に用意されているものをダウンロードしてください)。

この方法の利点の1つは、もちろん、ページの再読み込みを伴わないことです。

+0

役立つと思います。私はこの考え方で遊びに行きます。私はいくつかのグラフをjavascript(zingcharts)でビルドされているページに持っているので、何とかPDFをビルドする(またはPHPでグラフを再生成する)サーバーに戻ってピクチャを取得する必要があります。最終的に私は怠け者になりたいと思っています。クライアントの画面(html)にしたいものを素敵に表現しています。それは印刷になると、すべてのブラウザにボールを再生させることはできません。 – Jonny

+0

両方の回答を使用する予定です。ご協力いただきありがとうございます。 – Jonny

関連する問題