问题描述:

在使用img2pdf转换png到pdf时候,报了如下错误

img2pdf.AlphaChannelError: Refusing to work on images with alpha channel

解决方案:

通过一番查找,发现是pngAlpha通道的问题,

不少解决方案都是自己写的函数去除这个通道,但尝试了,行不通。

最后找到个工具--Pngcrush,然后完美解决了这个问题。

来到官网

https://pmt.sourceforge.io/pngcrush/

下载二进制压缩文件

本地解压后,上传服务器(Ubuntu)

文件目录如下,是C语言的程序,后续需要构建编译

编译:

make -j8

注:-j8是指多线程执行,提高效率

编译后的结果:生成pngcrush文件

执行pngcrush:

./pngcrush 

将pngcrush设置环境变量,待后续去除png的Alpha通道用:

export PATH=$PATH:/root/wwww/selenium_screenshot/pngcrush-1.8.11/pcr010811/

去除png图片(1234.png)的Alpha通道,重命名为4321.png:

pngcrush 1234.png 4321.png

然后再重新调用img2pdf,对4321.png进行转换,转换成outputl.pdf文件

大功告成! !

参考链接:

https://blog.csdn.net/qq_43668007/article/details/87197774

https://pmt.sourceforge.io/pngcrush

https://mlog.club/article/4090462

img2pdf 报 img2pdf.AlphaChannelError: Refusing to work on images with alpha channel 的解决方案的更多相关文章

  1. Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

    Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时 ...

  2. macOS VMWare Fusion报错”找不到可以连接的有效对等进程”的解决方案

    macOS VMWare Fusion报错”找不到可以连接的有效对等进程”的解决方案 我的是macOS 10,默认情况下不允许未知身份的软件安装 默认情况,如下图所示: 解决办法: sudo spct ...

  3. pytorch报错:ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1,512,1,1])

    1.pytorch报错:ValueError: Expected more than 1 value per channel when training, got input size torch.S ...

  4. navicat连接远程数据库报错'client does not support authentication protocol requested by server consider ...'解决方案

    [1.cmd终端连接远程mysql数据库方法] mysql -uhello -pworld   -h192.168.1.88 -P3306 -Dmysql_oa mysql -u用户名 -p密码 -h ...

  5. open数据库报错ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 3880 Session ID: 125 Serial number: 3

    1.今天打开数据时,失败,报错 ERROR at line 1:ORA-03113: end-of-file on communication channelProcess ID: 3880Sessi ...

  6. 解决 git pull 报错 fatal: refusing to merge unrelated histories

    我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传. 先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法p ...

  7. 报错fatal: refusing to merge unrelated histories

    提交到远程仓库的时候报错如下 是因为远程仓库有东西更新,但本地仓库没有更新造成提交失败 需要先把远程仓库给拉取下来,执行命令git pull origin master,又报错了如下 是因为两个仓库提 ...

  8. git远程建立仓库后,将本地项目推到远程报错 fatal: refusing to merge unrelated histories

    出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库,假如之前是直接clone的方式在本地仓库就不会有这个问题了. 解决方式是在命令后紧跟 --allow-unrelated-hi ...

  9. Linux配置环境报“/usr/local/develop-tools/apache-maven-3.3.9/bin: 是一个目录“的解决方案

    安装Maven中 配置系统环境变量: # vi + profile M2_HOME=/usr/local/develop-tools/apache-maven- export M2_HOME PATH ...

  10. appium 运行报错:...... Attempt to re-install io.appium.settings without first uninstalling解决方案

    报错形式: Failed to install D:\AutoTest\appium\Appium\node_modules\appium\build\settings_apk\settings_ap ...

随机推荐

  1. js中的call()、apply()、bind()方法

    var a= { name:"李四", age: "五岁", text: function() { return this.name+ " " ...

  2. SQL注入绕过某waf的详细过程。

    0x00起因 看到大家都有绕waf的payload,想了想,这样下去不行啊.总不能找人家要吧,于是我开启了电脑,开始我的bypass之路. 0x01过程 准备完毕后,开始,首先判断注入and 1=1 ...

  3. PHP Redis - zSet(有序集合)

    有序集合与集合一样,string类型元素的集合,不允许重复的成员. 有序集合,每个元素都会关联一个 double 类型的分数.Redis 通过分数为集合的成员进行从小到大的排序 有序集合的成员是唯一的 ...

  4. 基于uniapp框架开发飞书小程序总结

    前期准备 飞书官方客户端文档:https://open.feishu.cn/document/home/intro 飞书官方工具资源文档:https://open.feishu.cn/document ...

  5. qt中的一些对话框(个人备忘录)

    一.标准对话框 1.对于颜色对话框 void MyWidget::on_pushButton_clicked() { QColorDialog dialog(Qt::red,this); dialog ...

  6. 关于js数组方法forEach()

    1.forEach()是什么? forEach()是一种数组遍历方法. 在js最基础的遍历数组方法可能是这样的 点击查看代码 var myArr = [1, 2, 3] for(var i = 0; ...

  7. Merge Overlapping Intervals

    refer to: https://www.algoexpert.io/questions/Merge%20Overlapping%20Intervals Problem Statement Samp ...

  8. C#MSDN简体中文 最后一版本 2007年的

    我在学习C# 需要 先看 MSDN文档,英文看的很吃力,就找了好久 MSDN简体中文版本的: 因为微软已经关闭网站(MSDN中文的链接),我找到的就是  磁力链接的: 我分享出来 ,有需要的 自行下载 ...

  9. Vue系列---【.npmrc文件设置私服地址】

    一..npmrc 配置文件的优先级 电脑中有多个 .npmrc 文件,在我们安装包的时候,npm按照如下顺序读取这些配置文件 项目配置文件: /project/.npmrc 用户配置文件:~/.npm ...

  10. js两个数组对象合并去重