首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将图像转换为子目录中的pdfs

将图像转换为子目录中的pdfs
EN

Stack Overflow用户
提问于 2014-06-05 04:18:20
回答 4查看 2.5K关注 0票数 1

我有一堆有图像的子文件夹。我试图递归地将它们转换为pdf文件,使用目录名作为pdf名称。在Google搜索的帮助下,我尝试使用我编写的脚本:

代码语言:javascript
运行
复制
#!/bin/bash

for D in `find . -type d` do
  convert *.jpg ${PWD##*/}.pdf
end

它不起作用。我怎么才能让这个起作用?

每个文件夹中都有几个.JPG,其编号为01-10等。使用convert *.jpg name.pdf将所有图像转换成一个pdf文件。我想要创建一个脚本来完成这个任务,并让PDF文件具有目录名。

我也希望脚本,然后抓取转换的pdf,并将其向上一个层次,进入父目录。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-05 04:37:18

在这里,while循环更合适。试试这个:

代码语言:javascript
运行
复制
find . -type d | while read d; do convert "${d}"/*.jpg ./"${d##*/}.pdf"; done
  • find将返回当前目录中的所有目录。
  • while read d将把每个目录路径读入变量$d
  • convert ${d}/*.jpg对目录$d中的所有.jpg图像执行转换。
  • ./${d##*/}.pdf仅用目录名替换整个目录路径,追加.pdf,并确保在父目录中创建PDF文件。
票数 5
EN

Stack Overflow用户

发布于 2016-06-03 13:43:01

感谢@savanto的回答。我修改了一下,以满足我的需要。

读取目录子目录中的文件。将一种文件类型转换为不同的文件类型。命名文件并将其保存到目录中(使用OSX10.10,终端bash-3.2)。

代码语言:javascript
运行
复制
cd /parent_directory 
find . -type d | while read d; do mogrify -format png *.eps; done
find . -name '*.eps' -execdir mogrify -format png {} \;
票数 1
EN

Stack Overflow用户

发布于 2021-08-17 23:52:09

以下是savanto的答案的一个版本,它使用img2pdf,它比ImageMagick更快、更无损,而且文件大小也更小。

代码语言:javascript
运行
复制
`find . -type d | while read d; do img2pdf "${d}"/*.jp2 --output ./"${d##*/}.pdf"; done`
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24051572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档