开发者

Linux中如何将txt文件转为png格式

开发者 https://www.devze.com 2023-11-09 10:56 出处:网络 作者: 少女李大嘴
目录linux将txt文件转为png格式如果文本中没有中文,使用enscript如果编程客栈文本包含中文,使用paps解决方法Linux下PNG、JEPG、JPG、Webp图片格式互转环境webp使用说明批量转换总结Linux将txt文件转为png格式
目录
  • linux将txt文件转为png格式
    • 如果文本中没有中文,使用enscript
    • 如果编程客栈文本包含中文,使用paps
    • 解决方法
  • Linux下PNG、JEPG、JPG、Webp图片格式互转
    • 环境
    • webp使用说明
    • 批量转换
  • 总结

    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.ctVRtQP/ReadImage/412.

    convert-im6.q16: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3258.

    解决方法

    修改配置文件

    vim /etc/ImageMagick-6/policy.XML

    找到这一行: 

    <policy domain="coder" rights="none" pattern="PDF" />

    修改为: 

    <policy domain="coder" rights="read|write" pattern="PDF" />

    在下面再增加一行: 

    <policy domain="coder" rights="read|write" pattern="LABEL" />

    如果在修改配置文件时显示www.devze.com该文件为只读文件,无法进行修改,则通过执行命令

    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
    # 对转换后的格式进行重命名
    rtVRtQPename 's/.png.webp/.webp/' *.webp
    # 最后删除多余的垃圾文件
    rm *.txt

    如果没有rename,需要先安装rename使用sudo apt install rename命令安装。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号