Linux shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件

[复制链接]
发表于 2025-11-23 19:59:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Linux Debian12基于ImageMagick图像处置惩罚工具编写shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件,”多个图片分开天生多个PDF文件“大概“多个图片归并天生一个PDF文件”
BiliBili视频链接:

     Linux shell脚本对常见图片格式批量转换为PDF文件
  
在Linux体系中,使用ImageMagick可以图片格式转换,此中最常用的是通过下令行工具举行。
ImageMagick是一个非常强大的图像处置惩罚工具集,它包罗了很多用于图像转换的下令。


  1. sudo apt-get install imagemagick  # 对于基于Debian的系统
复制代码
验证是否安装乐成:
实行运行ImageMagick提供的一些常用下令,好比:
  1. convert --version
复制代码
如果convert下令可用,它将返回版本信息。
二、可以编写shell脚本批量转换图片为PDF文件

shell脚本文件名:
pictures_to_pdf_v1.0.sh
  1. #!/bin/bash
  2. #脚本功能:把常用的图片格式(png、jpg、jpeg、webp、tiff)批量转换为PDF格式,
  3. # “多个图片分开生成多个PDF文件”或者“多个图片合并生成一个PDF文件”
  4. #函数功能:使用了*通配符来检查字符串中是否有空格。如果字符串包含空格,contains_space函数将返回真(true),否则返回假(false)。
  5. function contains_space() {
  6.    
  7.    
  8.     [[ $1 = *\ * ]]
  9. }
  10. #函数功能:把空格全部替换为'_'下划线"
  11. function space2underline(){
  12.    
  13.    
  14.     local file_name_old=$1
  15.     # 使用contains_space函数判断文件名中是否含有空格
  16.     if contains_space "$file_name_old"; then
  17.         file_name_new="${file_name_old// /_}"
  18.         mv "$file_name_old" "$file_name_new";
  19.         echo "$file_name_new"
  20.     else
  21.         echo "$file_name_old"
  22.     fi
  23. }
  24. # 多个图片分开生成多个PDF文件
  25. function images_to_multiple_pdf(){
  26.    
  27.    
  28.     # 获取第一个参数
  29.     local new_folder=$1
  30.     #for file_name in `ls *.png *.jpg *.jpeg *.webp *.tiff`;do
  31.     for file_name in *;do
  32.         #echo "文件'${file_name}'"
  33.         if [ "png" == "${file_name##*.}" ];then
  34.             file_name=$(space2underline "$file_name")
  35.             #echo "$file_name"
  36.             (convert $file_name `echo ../$new_folder/${
  37.    
  38.     file_name//.png/.pdf}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表