Linux将txt文件转为png格式
Linux中将txt文本内容转为png格式步骤:
① 首先将txt转为ps格式
如果文本中没有中文,使用enscript
可以使用Linux下工具enscript,安装enscript
1 | sudo apt install enscript |
txt转ps
1 | enscript -p test . ps -B test .txt |
- -p后面接输出的文件名
- -B表示不将文件的页码、文件名等文件信息转到图片中
如果文本包含中文,使用paps
安装paps
1 | sudo apt install paps |
txt转paps
1 | paps test .txt > test . ps |
② ps转pdf格式
使用Linux工具ps2pdf,安装ps2pdf
1 | sudo apt install ps2pdf |
ps转pdf
1 | ps2pdf test . ps test .pdf |
③ pdf 转 png
使用ImageMagick中的convert命令,安装ImageMagick
1 | sudo apt install ImageMagick |
使用convert进行转换
1 | convert test .pdf test .png |
或者直接在Linux中使用管道
1 | enscript -B -p - test .txt | ps2pdf - | convert -density 300 - test .png |
-density 300 代表像素300
注:使用convert进行pdf转png过程中报错
convert-im6.q16: not authorized `Appendix-A.pdf’ @ error/constitute.c/ReadImage/412.
convert-im6.q16: no images defined `output.png’ @ error/convert.c/ConvertImageCommand/3258.
解决方法
修改配置文件
1 | vim /etc/ImageMagick-6/policy .xml |
找到这一行:
1 | |
修改为:
1 | |
在下面再增加一行:
1 |
如果在修改配置文件时显示该文件为只读文件,无法进行修改,则通过执行命令
1 | sudo chmod 777 /etc/ImageMagick-6/policy .xml |
先修改配置文件的权限
Linux下PNG、JEPG、JPG、Webp图片格式互转
最近写文章的时候,发现PNG格式的图片太大了,加载比较慢,不知道从哪里听来说WebP格式,听说这种格式有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量。于是就想把这个图片转换成webp格式。
环境
系统:ubuntu Ukylin20.04(基于ubuntu20.04)
要做格式转换,需要安装webp
1 | sudo apt-get install webp |
webp使用说明
使用格式:
1 | cwebp 原文件 -o 输出文件 |
如:
1 | cwebp 1.jpg -o 1.webp |
这样就是把1.jpg图片转换到1.webp文件,-o是输出的意思,即output
批量转换
利用Shell脚本执行格式的批量转换。
思路很简单,就是用一个for循环,对每个文件分别进行格式转换。
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash # 把当前文件夹下.png文件名写入images.txt文件,作为一个遍历列表 ls *.png > images.txt # 遍历images.txt文件的每一行 for ImageFile in ` cat images.txt` do # 执行格式转换 cwebp 100 $ImageFile -o $ImageFile.webp done # 对转换后的格式进行重命名 rename 's/.png.webp/.webp/' *.webp # 最后删除多余的垃圾文件 rm *.txt |
如果没有rename,需要先安装rename使用sudo apt install rename命令安装。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。