標準の DOMPDF コードを使用して既存の Web ページをレンダリングしています (例: 1 ):
$dompdf = new DOMPDF();
$dompdf->set_base_path($artpath);
$dompdf->load_html_file($artpath);
$dompdf->render();
$dompdf->stream($pdfpath);
ここで、$artpath
' は HTML コードへのパス$pdfpath
であり、PDF の名前です。
ただし、Web ページには、相対リンク (正しくたどられている) と絶対リンク (例: /gifs/bullet.gif
) の両方が含まれており、それらは見つかりません。これはおそらく、DOMPDF コードがhttp://www.epress.ac.uk/src/xtra/makeapdf.phpで実行されwww.epress.ac.uk
、仮想ドメインもホストするサーバー上の仮想ドメインであるためjasss.soc.surrey.ac.uk
です (つまり、両方のドメインは同じサーバー上にあります)。www.epress.ac.uk
のドキュメント ルートを使用する必要がある場合、DOMPDF は のドキュメント ルートを使用しているように見えjasss.surrey.ac.uk
ます。
これを回避する方法はありますか?を呼び出す前に$_SERVER['DOCUMENT_ROOT']
のドキュメント ルートにリセットしようとしましたが、これでは問題が解決しないようです。次のようなエラーが表示されます。jasss.soc.surrey.ac.uk
new DOMPDF()
file_get_contents(/styles/jasssarticle.css) [function.file-get-contents]: failed to open stream: No such file or directory
Unable to load css file /styles/jasssarticle.css
Web ページは、www validator.w3.org に従って有効な HTML です。
アドバイスありがとうございます!