Linux将txt文件转为png格式
Linux中将txt文本内容转为png格式步骤:
① 首先将txt转为ps格式
如果文本中没有中文,使用enscript
可以使用Linux下工具enscript,安装enscript
sudo apt install enscript
txt转ps
enscript -p test.ps -B test.txt
- -p后面接输出的文件名
- -B表示不将文件的页码、文件名等文件信息转到图片中
如果文本包含中文,使用paps
安装paps
sudo apt install paps
txt转paps
paps test.txt > test.ps
② ps转pdf格式
使用Linux工具ps2pdf,安装ps2pdf
sudo apt install ps2pdf
ps转pdf
ps2pdf test.ps test.pdf
③ pdf 转 png
使用ImageMagick中的convert命令,安装ImageMagick
sudo apt install ImageMagick
使用convert进行转换
convert test.pdf test.png
或者直接在Linux中使用管道
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.
解决方法
修改配置文件
vim /etc/ImageMagick-6/policy.xml
找到这一行:
修改为:
在下面再增加一行:
如果在修改配置文件时显示该文件为只读文件,无法进行修改,则通过执行命令
sudo chmod 777 /etc/ImageMagick-6/policy.xml
先修改配置文件的权限
Linux下PNG、JEPG、JPG、Webp图片格式互转
最近写文章的时候,发现PNG格式的图片太大了,加载比较慢,不知道从哪里听来说WebP格式,听说这种格式有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量。于是就想把这个图片转换成webp格式。
环境
系统:ubuntu Ukylin20.04(基于ubuntu20.04)
要做格式转换,需要安装webp
sudo apt-get install webp
webp使用说明
使用格式:
cwebp 原文件 -o 输出文件
如:
cwebp 1.jpg -o 1.webp
这样就是把1.jpg图片转换到1.webp文件,-o是输出的意思,即output
批量转换
利用Shell脚本执行格式的批量转换。
思路很简单,就是用一个for循环,对每个文件分别进行格式转换。
#!/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俱乐部。