7

この質問は、TCPDF では常緑のようです...
私を夢中にさせる問題があります。

PDFの「テンプレート」として使用するhtmlコードがあります。ここに会社のロゴがあります。
localhost (Windows) ではすべて正常に動作しますが、オンラインにすると画像が表示されません。
注意: PDF でエラー (つまり、画像を取得できません) が表示されません。画像は単純に空白です。
実際、画像があるはずの位置でPDFをクリックすると、それを選択でき、Adobeは「画像のコピー」オプションを有効にします。

明らかに、画像は存在し、ここにあり、許可は正しいです。
そこでサーフィンしたり、生成された HTML ページを表示したりしても、すべて問題ありません。

これはPHPコードです:

$pdf->SetMargins($params->get('pdfMarginLeft', 15), $params->get('pdfMarginTop', 27), $params->get('pdfMarginRight', 15));
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('helvetica', '', 8);
$pdf->AddPage();

$pdf->writeHTML($html, true, false, true, false, '');

$pdf->lastPage();

次に、これが私の HTML コードです (画像以外はすべてスキップしました)。

<img alt="logo black" src="../images/logo_black.png" height="60" width="210" />

URL (相対および絶対) とパス (相対および絶対) を試してみましたが、問題は引き続き発生します。何か案は?

4

10 に答える 10

29

これはあなたの問題ではありませんが、将来同様の問題が発生した場合の解決策となる可能性があります。HTML 属性に二重引用符があることを確認してください。

$html = "<img src='...' />"; // This will not work

$html = '<img src="..." />'; // This will work
于 2014-12-11T22:53:50.743 に答える
9

物事はローカルで機能しているため、画像タイプをpngからjpgに変更してみて、それに応じてコードを変更し、 jpgをサーバーにアップロードした後に確認してください。

于 2012-12-05T06:38:31.253 に答える
1

私の場合、ファイルへのフルパスを書き込むまでIMGタグが機能しません

動作していません

<img src="/pdfrender/XXX.jpg" width="50" height="50">

動作中 (localhost の例)

<img src="http://site.local/pdfrender/XXX.jpg" width="50" height="50">
于 2016-05-05T12:43:27.903 に答える
0

イメージ src に str_replace を実装したところ、問題なく動作するようになりました。

$html = str_replace("../images", $_SERVER["DOCUMENT_ROOT"] . '/images', $html);
于 2015-07-13T08:34:48.250 に答える