首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未以PDF格式显示的图像(barryvdh/laravel-snappy包)

未以PDF格式显示的图像(barryvdh/laravel-snappy包)
EN

Stack Overflow用户
提问于 2021-08-02 15:18:21
回答 2查看 701关注 0票数 1

我正在使用中的barryvdh/laravel-snappy包将html文件转换为PDF。

它运行良好,但图像中的PDF没有显示。

html中使用的图像路径类似于:

https://easydmc-staging2.s3.ap-south-1.amazonaws.com/ImagesSightseeing/2021/03/1PeocnxOb3gqlZmMSjwXDWwLiEfyq0a8KX5M4OOw.jpeg

以下是html的链接:

https://staging.easydmc.com/test?html=true

到生成的PDF的链接是:

https://staging.easydmc.com/test?html=false

早些时候,这些图像在PDF中工作得很好。几天前,我执行了命令- sudo apt升级。我不知道这是否造成问题。

我试过重新安装软件包barryvdh/laravel-snappy,,但没有成功。

任何帮助都将不胜感激。

PHP版本: 8.0

服务器: Nginx

Laravel: 8.51.0

EN

回答 2

Stack Overflow用户

发布于 2021-08-02 18:14:39

我以前有过这个问题,那是因为wkhtmltopdf。您应该使用存储全路径而不是web url。

例如,不要使用:

代码语言:javascript
复制
https://easydmc-staging2.s3.ap-south-1.amazonaws.com/ImagesSightseeing/2021/03/1PeocnxOb3gqlZmMSjwXDWwLiEfyq0a8KX5M4OOw.jpeg

使用这样的东西:

代码语言:javascript
复制
/var/www/html/myproject/public/ImagesSightseeing/2021/03/1PeocnxOb3gqlZmMSjwXDWwLiEfyq0a8KX5M4OOw.jpeg

要获得完整的存储路径,可以使用如下代码:

代码语言:javascript
复制
<img src="{{public_path('/ImagesSightseeing/2021/03/1PeocnxOb3gqlZmMSjwXDWwLiEfyq0a8KX5M4OOw.jpeg')}}" />
票数 0
EN

Stack Overflow用户

发布于 2021-08-03 04:12:23

我找到了解决办法:

首先,在使用以下命令生成PDF时,我检查了是否存在问题:

代码语言:javascript
复制
/usr/local/bin/wkhtmltopdf-amd64 http://www.google.com test.pdf

我要知道以下问题:

代码语言:javascript
复制
QSslSocket: cannot resolve CRYPTO_num_locks                  ] 10%
QSslSocket: cannot resolve CRYPTO_set_id_callback
QSslSocket: cannot resolve CRYPTO_set_locking_callback
QSslSocket: cannot resolve sk_free
QSslSocket: cannot resolve sk_num
QSslSocket: cannot resolve sk_pop_free
QSslSocket: cannot resolve sk_value
QSslSocket: cannot resolve SSL_library_init
QSslSocket: cannot resolve SSL_load_error_strings
QSslSocket: cannot resolve SSLv3_client_method
QSslSocket: cannot resolve SSLv23_client_method
QSslSocket: cannot resolve SSLv3_server_method
QSslSocket: cannot resolve SSLv23_server_method
QSslSocket: cannot resolve X509_STORE_CTX_get_chain
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot resolve SSLeay
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function sk_num
QSslSocket: cannot call unresolved function SSLv23_client_method00%
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_library_init

解决上述问题的方法是安装libssl1.0dev:

代码语言:javascript
复制
apt install libssl1.0-dev

所以我的PDF链接https://staging.easydmc.com/test?html=false在最初的问题现在开始工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68624090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档