4

その仕事をするPHPのいくつかのライブラリまたはWebサービスを見つけました。問題は、ページが完全にロードされたときに変換が行われることです。onload イベントでAJAX を介して動的に追加されたコンテンツの後に、ページを PDF に変換したいと考えています。

どうもありがとう、オマール

4

6 に答える 6

5

document.getElementsByTagName('html')[0].innerHTMLサーバーに (おそらく AJAX を使用して) ポストバックし、そこから PDF を生成できます。

于 2008-10-10T11:23:25.777 に答える
4

AJAX を使用してコンテンツを追加する場合、それはクライアントのマシンでのみ行われるため、サーバー側の PHP 変換コードは機能しません。サーバー上で PDF の作成を行う場合は、動的コンテンツを含めるサーバー側の方法を考え出す必要があります。

于 2008-10-10T11:04:44.240 に答える
2

動的コンテンツが追加された後、ページのコンテンツ/状態をサーバー側に送り返す AJAX 呼び出しを実装して、pdf としてレンダリングすることができます。この「動的コンテンツ」が移動する場所によっては、すべてのページが必要ない場合があります。

少し面倒に思えますが、プロジェクトを知らなければ、あなたがやろうとしていることを行うためのよりクリーンな方法があるかどうかを判断するのは困難です.

于 2008-10-10T11:20:38.793 に答える
1

これは、Ajax の状況によるクライアント側の要件です。彼らが Mac を使用している場合は、単に PDF として保存できますが、それ以外の場合は、彼らができることをほとんど制御できません。

ただし、サーバー側の実装でできることは、ページとそのページの読み込み以降のすべての AJAX 要求の記録を保持し、要求された場合はその記録からサーバー上で HTML と PDF を構築することです。もちろん、これは単純な作業ではなく、やり過ぎです。HTML を PDF に変換する以外に、サーバー側でページの PDF レポートを作成する別のメカニズムを用意した方がよいでしょう。

于 2008-10-10T11:08:57.473 に答える
1

サーバーにアクセスせずにクライアント上でのみページを更新できる場合は、アプリに再度投稿する必要があります。そうすれば、すべてのコンテンツを取得でき、再構築を行う必要がなくなります。これは、クライアント側のみの対話がある場合には不可能です。

于 2008-10-10T11:26:38.860 に答える
1

うわー、みんなありがとう。こんなに活発なコミュニティだとは知らなかった。プロジェクトについて Beepcake に回答するには:

ページが読み込まれると、アプリが 40 以上のサーバーから AJAX 要求を介して生物学的情報を取得し、多くのオプションでグラフィックを操作できる独自のビューが表示されます。

したがって、クールなことは、ユーザーが独自のバージョンのグラフィックを作成するときに印刷することです。最善の解決策は、RoBorg が言ったようにdocument.getElementsByTagName('html')[0].innerHTMLでHTML 全体を POST し、dompdfなどのライブラリで PDF を生成することだと思います

于 2008-10-10T11:54:20.290 に答える