標準の 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.uknew 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 です。
アドバイスありがとうございます!