在我的服务器上,通过dompdf生成的pdf没有显示图像.因为它们是远程网址图像.(本地图像工作正常)然后我才知道它需要一些设置来渲染远程图像.
allow_url_fopen = true => i can not as server control is not in my hand.(and no one will suggest to do this due to security reasons)
read/write access to the DOMPDF_TEMP_DIR (already have this)
DOMPDF_ENABLE_REMOTE = true (already have this)
Run Code Online (Sandbox Code Playgroud)
所以为了确定allow_url_fopen的问题,我在localhost中设置false,现在提供与服务器相同的输出.
所以,现在问题是我想用allow_url_fopen = false显示PDF格式的远程图像
是否有人可以建议我如何以pdf格式显示图像.我一直得到的错误是......
Image not found
http://localhost/dompdf/image.php
Run Code Online (Sandbox Code Playgroud)
和
Image not found
http://localhost/dompdf/image.jpg
Run Code Online (Sandbox Code Playgroud)
Irf*_*med 35
我有同样的问题, 在实时服务器上找不到dompdf图像
我找到了它的解决方案,你只需要仔细检查图像路径,
考虑您的实时服务器映像路径
<img src="http://www.example.com/public/images/thumb.png">
Run Code Online (Sandbox Code Playgroud)
你只需要改成它,
<img src="public/images/thumb.png">
Run Code Online (Sandbox Code Playgroud)
注意:请确保所有设置与您已完成的设置相同.
我希望这能帮到您.
the*_*pan 34
尝试
$options = new Options();
$options->set('isRemoteEnabled', true);
$dompdf = new Dompdf($options);
Run Code Online (Sandbox Code Playgroud)
小智 10
有两件事需要照顾.
如果使用来自同一服务器的映像,则使用完整目录路径,例
/var/www/html/project_folder/images/logo.jpg
列表项使用JPEG图像而不是png其他类型.
小智 5
对于加载图像时遇到问题的任何人。上面的解决方案提到使用绝对路径。但除非您设置 chroot 选项,否则这将不起作用。chroot 目录之外的任何文件都不会被加载。设置 chroot 从 wordpress 的 wp 内容目录读取的示例:
$options = new Options();
$options->set( 'chroot', WP_CONTENT_DIR );
$dompdf = new Dompdf( $options );
Run Code Online (Sandbox Code Playgroud)
尝试使用此解决方案来解决您的问题。图像网址是示例。我正在使用Laravel "barryvdh/laravel-dompdf": "^2.0" ,用于生成PDF 的包。
<img src="data:image/png;base64,{{ base64_encode(file_get_contents( "https://example.com/image/domo.png" )) }}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44441 次 |
| 最近记录: |