2009-08-14 13 views
0

私は今、長いテーブルを含むHTMLページをPHPに変換しようとしています。これらはCSSで書式設定されており、数ページになることがあります。PHPでHTMLテーブルをPDFに変換する - DOMPDFもhtml2ps/pdfも動作していません

私は最初にDOMPDFを試しました。ドキュメントが複数のページになるまで、素晴らしい動作をします。私が見つけた修正プログラムはありませんでした。どちらかがエラーになるか、または部分的に2ページ目にある要素もページ1の内容に集中します。私は今日のチェックアウトした最新リリースとSVNコピーの両方を試しました。

私はhtml2ps/pdfも試しました。ディレクトリが完全に書き込み可能であっても、キャッシュディレクトリに "permission denied"エラーが書き込まれます。システム要件テストスクリプトは合格します。サーバーはIISの下でPHP 5を実行しています(私の選択肢ではありません)。

これらのいずれかがうまく動作することができますか、それを行うライブラリがありますか?

デモ/テスト・スクリプトからのエラー:

Warning: fopen(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/unicode.lb.classes.dat) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 991

Warning: flock() expects parameter 1 to be resource, boolean given in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 992

Warning: fwrite(): supplied argument is not a valid stream resource in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 1011Warning: file_put_contents(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/7d888258e9745b3716532ea81342daaf.css.compiled) [function.file-put-contents]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\css.cache.class.php on line 33

(このエラーが繰り返される数千回)

Warning: fopen(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/times.z) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\pdf.fpdf.makefont.php on line 318

Can't write to file C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/times.z

答えて

0

IIS下HTML2PDFと同様の問題がhereが検討されています。

解決策はかなりシンプルですが、奇妙です。これで問題が解決しない場合は、完全なエラーメッセージやコードを少し参考にしてください。

+0

これは古いバージョンを参照しているようです。私が持っているバージョンはそのディレクトリを使用しません。それは他のものと同じ場所に(クラス、デモなどと並んで)キャッシュディレクトリを持っています。デモ/テストスクリプトでさえ、どのURLでも失敗します。 コメントが長すぎるため、投稿にエラーがある場合は更新する必要があります。 –

+0

キャッシュディレクトリにファイルが残っている場合は、空にしようとしましたか? html2pdfは "left-overs"をうまく処理しません。 – flokra

+0

付属のreadme.txtのみ。削除することは役に立たなかった。私のFTPクライアントが(属性666)と主張しても、ディレクトリに書き込みができない可能性はありますか? –

0

私は個人的にPHPライブラリの代わりにコマンドラインアプリケーションをお勧めします。

理由:

  1. PHPライブラリは、変換プロセスのためのより多くの時間とメモリ(キャッシュ)が必要です。

  2. よくフォーマットされたHTMLページのみが必要です。そうでない場合は、エラーまたは警告がスローされます。

  3. 外部スタイルシートはサポートされていません。

コマンドラインツール:

あなたがLinuxサーバ上でスクリプトを実行すると、私はコマンドラインツールを示唆しています。

理由:

  1. 彼らは、PHPのライブラリに比べて非常に高速です。

  2. サポートCSS。

  3. 整形されていないHTMLを受け入れます。

使用するコマンドラインツールはどれですか?詳細について

  1. wkhtmltopdf
  2. htmltopdf
  3. HTML2PDF

Converting HTML to PDF (not PDF to HTML) using PHPを指します。

関連する問題