2016-08-05 2 views
0

一部のhtmlページをdompdfにレンダリングしています。しかし、それは私の画像や外部のCSSファイルを含めることができないようです。ページを画面に単に印刷すれば、すべて正常に動作します。しかし、dompdfはそれらを見つけることができません。dompdfでは、 "setBasePath"関数はどのような関数ですか?

setBasePathという名前の関数が見つかりました。ドキュメントに「外部スタイルシートと画像に使用するベースパスを設定する」と記載されています。私が欲しいもののように聞こえるが、このベースパスの相対的なものは何か?私はrootに相対的に入力しようとしましたが、それでも何も見つかりません。

$dompdf = new Dompdf(); 
$dompdf->loadHtml($template); 
$dompdf->setBasePath(realpath('./')); 
$dompdf->render(); 
$dompdf->stream('note'); 

答えて

0

ベースパスは、リソースが相対パス(たとえば、inc/site.css)を使用して参照されている場合に使用されるパスです。絶対パスまたは完全なURIを使用して参照されるリソースの場合、基本パスは使用されません。

他の実行中のスクリプトと同様に、Dompdfは、ファイルシステムルート以外のルートパスについては認識していません。したがって、絶対パスはファイルシステムのルートから読み込まれます。相対パスは、実行中のPHPスクリプトの現在の作業ディレクトリ(CWD)に基づいて決定されます。

./を基準にしたベースパスは、$dompdf->loadHtml()を使用してドキュメントをロードするときにdompdfがすでに使用しているベースパスと同じに設定します。より完全な答えを得るには、ファイルレイアウトに関する詳細情報と、HTML内のそれらのファイルを参照する方法が役立ちます。

リソース参照がどのように解釈されるかの詳細については、this discussionをお試しください。

+0

私は基本パスが何をすべきか理解しています。パスの相対的なものは何ですか? ./がdompdfで使用されるパスと同じ場合は、dompdfで使用されるパスは何ですか?それはdompdfがあるディレクトリですか?それはdompdfを呼び出すphpファイルのディレクトリですか?それはApacheのルートですか?サーバールートですか? – danielson317

+0

実行中のPHPスクリプトのCWDに関連しています。答えは更新されました。 – BrianS

関連する問題