如何在 Amazon Linux 2023 中安装 Wkhtmltopdf?

Dav*_*cio 0 ruby wkhtmltopdf amazon-linux amazon-linux-2 amazon-linux-2023

我正在将我的服务器从 AL2 升级到 Amazon Linux 2023。我的应用程序需要 wkhtmltopdf,现在在尝试安装它时,我发现它尚未在我的特定操作系统版本上正式发布。我已经尝试安装 AL2 的版本,但在安装所有依赖项后,它仍然缺少 libpng。

我尝试在 AL2 aarch64 下从https://wkhtmltopdf.org/downloads.html下载 .rpm 文件并运行sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm。它似乎安装正确,但执行示例wkhtmltopdf google.com google.pdf失败。关于如何在 Amazon Linux 2023 中构建 wkhtmltopdf 有什么想法吗?

在一个侧面问题上。我看到与该库关联的 Github 存储库已存档,我是否应该考虑将应用程序的 PDF 生成迁移到其他库?

[ec2-user@backoffice ~]$ sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm
Last metadata expiration check: 1:02:21 ago on Mon Nov 20 20:13:06 2023.
Dependencies resolved.
===========================================================================================================================================
 Package                                  Architecture           Version                                 Repository                   Size
===========================================================================================================================================
Installing:
 wkhtmltox                                aarch64                1:0.12.6-1.amazonlinux2                 @commandline                 13 M
Installing dependencies:
 cairo                                    aarch64                1.17.6-2.amzn2023.0.1                   amazonlinux                 669 k
 fontconfig                               aarch64                2.13.94-2.amzn2023.0.2                  amazonlinux                 278 k
 fonts-filesystem                         noarch                 1:2.0.5-12.amzn2023.0.2                 amazonlinux                 9.5 k
 freetype                                 aarch64                2.13.0-2.amzn2023.0.1                   amazonlinux                 412 k
 google-noto-fonts-common                 noarch                 20201206-2.amzn2023.0.2                 amazonlinux                  15 k
 google-noto-sans-vf-fonts                noarch                 20201206-2.amzn2023.0.2                 amazonlinux                 492 k
 graphite2                                aarch64                1.3.14-7.amzn2023.0.2                   amazonlinux                  93 k
 harfbuzz                                 aarch64                7.0.0-2.amzn2023.0.1                    amazonlinux                 843 k
 langpacks-core-font-en                   noarch                 3.0-21.amzn2023.0.4                     amazonlinux                  10 k
 libX11                                   aarch64                1.7.2-3.amzn2023.0.4                    amazonlinux                 648 k
 libX11-common                            noarch                 1.7.2-3.amzn2023.0.4                    amazonlinux                 152 k
 libXau                                   aarch64                1.0.9-6.amzn2023.0.2                    amazonlinux                  32 k
 libXext                                  aarch64                1.3.4-6.amzn2023.0.2                    amazonlinux                  40 k
 libXrender                               aarch64                0.9.10-14.amzn2023.0.2                  amazonlinux                  27 k
 libfontenc                               aarch64                1.1.3-15.amzn2023.0.2                   amazonlinux                  31 k
 libjpeg-turbo                            aarch64                2.1.4-2.amzn2023.0.5                    amazonlinux                 191 k
 libpng                                   aarch64                2:1.6.37-10.amzn2023.0.6                amazonlinux                 121 k
 libxcb                                   aarch64                1.13.1-7.amzn2023.0.2                   amazonlinux                 231 k
 mkfontscale                              aarch64                1.2.1-2.amzn2023.0.3                    amazonlinux                  33 k
 pixman                                   aarch64                0.40.0-3.amzn2023.0.3                   amazonlinux                 194 k
 ttmkfdir                                 aarch64                3.0.9-63.amzn2023.0.2                   amazonlinux                  51 k
 xml-common                               noarch                 0.6.3-56.amzn2023.0.2                   amazonlinux                  32 k
 xorg-x11-fonts-75dpi                     noarch                 7.5-31.amzn2023.0.2                     amazonlinux                 2.7 M
 xorg-x11-fonts-Type1                     noarch                 7.5-31.amzn2023.0.2                     amazonlinux                 500 k

Transaction Summary
===========================================================================================================================================
Install  25 Packages
Run Code Online (Sandbox Code Playgroud)

试:

[ec2-user@backoffice ~]$ wkhtmltopdf
/home/ec2-user/.rvm/gems/ruby-3.2.2/gems/wkhtmltopdf-binary-0.12.6.6/bin/wkhtmltopdf_centos_6_i386: /home/ec2-user/.rvm/gems/ruby-3.2.2/gems/wkhtmltopdf-binary-0.12.6.6/bin/wkhtmltopdf_centos_6_i386: cannot execute binary file
[ec2-user@backoffice ~]$ wkhtmltoimage
wkhtmltoimage: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
[ec2-user@backoffice ~]$ which wkhtmltoimage
/usr/local/bin/wkhtmltoimage
[ec2-user@backoffice ~]$ cd /usr/local/bin/
[ec2-user@backoffice bin]$ ls
wkhtmltoimage  wkhtmltopdf
[ec2-user@backoffice bin]$ ./wkhtmltopdf
./wkhtmltopdf: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

小智 5

不确定您是否仍在寻找解决方案,但将其留在这里以帮助其他人。

该解决方案不适用于 aarch64,但可能经过修改以适用于 aarch64。wkhtmltox取决于特定版本,openssl并且libpng哪些版本不是 Amazon Linux 2 计算机上默认安装的版本。为了使其在 aarch64 上工作openssl, ,libpngwkhtmltox必须替换为 aarch64 版本:

commands:
    01_install_dependencies: 
      command: yum install --assumeyes zlib fontconfig freetype libX11 libXext libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1
    02_install_libpng15: 
      command: yum localinstall -y https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/libpng15-1.5.30-7.el8.x86_64.rpm
    03_install_libssl10: 
      command: yum localinstall -y https://rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-4.el8.x86_64.rpm
    04_install_wkhtmltox:
      command: yum localinstall -y https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.amazonlinux2.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)