web-dev-qa-db-ja.com

DomPDF:画像が読めないか空です

何らかの理由で、DomPDFは解析されているhtmlに含まれる画像をレンダリングしません。

PDF Image missing

ただし、画像はhtmlとして返されるときにページにレンダリングされます。

HTML Image exists

これらの問題を調べて、DOMPDF_ENABLE_REMOTEがtrueに設定され、ファイルのアクセス許可が検証されていることを確認しました。
dompdf画像は実画像ではなく、読み取り不可または空です
ZF2のDOMPDFの画像エラー

他に確認すべきことはありますか?

24
user3562712

以下は、少なくとも地元の魅力、そしてさらには

def("DOMPDF_ENABLE_REMOTE", false);

解決策は、次のように、イメージSRCをサーバー上の絶対パスに変更することです。

<img src="/var/www/domain/images/myimage.jpg" />

次のすべてが私のために働いた:

<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'/placeholder.jpg';?>"/>
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'\placeholder.jpg';?>"/>
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'./placeholder.jpg';?>"/>

$ _SERVER ["DOCUMENT_ROOT"]はC:/ wamp/www/ZendSkeletonApplication/publicです

これに感謝:コードで失われた

45
David P. P.

[OK]を使用して画像に同じ問題がありました:

<img id="logo" src="/images/flags/fr.png" width="50" alt="Logo">

しかし、私が。/imagesの前に、dompdf_config.custom.incで何も変更せずに動作します

<img id="logo" src="./images/flags/fr.png" width="50" alt="Logo">

それが役に立てば幸い

11
Patrice Flao

module.config.phpでリモートオプションを有効にすることを示唆する別の回答があり、まだコメントを追加できないので、このファイルはDomPDFの新しいバージョンには存在しないと答えるのが最善だと思いました。

リモートに保存された画像を新しいバージョンに含める必要がある場合、コンストラクタにオプションとして渡す必要があります。

$dompdf = new Dompdf(array('enable_remote' => true));

これは私が持っていた問題を修正しました。

11
Jon

現在(2018年5月)正しい方法は次のとおりです。

$options = new Options();
$options->set('isRemoteEnabled',true);      
$dompdf = new Dompdf( $options );
4
André DLC

ここでの解決策はどれも役に立たなかった。代わりに、画像をbase64でエンコードしただけで機能しました。これを使用できます tool

2
Owen Davey

パス内:

vendor/dino/dompdf-module/config/module.config.php

設定を変更する

enable_remote '=> false、

本当。

2
egorychmaster

外部CSSのフルパスを使用してこの問題を解決します。これは私のLinux ubuntuサーバーで動作しました:

<link href="{{ public_path('css/style.css') }}" />

<img src="{{ public_path('images/image.jpg') }}" />

画像で作業します。

1
Nasser Hekmati