首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bash读取pdf内容

使用bash读取pdf内容
EN

Stack Overflow用户
提问于 2014-07-08 14:27:47
回答 1查看 5.6K关注 0票数 1

我有几本电子书,它们并不总是以书名命名的。是否可以使用bash命令读取pdf的第一页(并执行一个琐碎的grep等)并相应地重命名文件?

谢谢

-a

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-08 14:50:22

波普尔图书馆提供了一组命令行工具,用于从PDF文件中提取文本和元数据。

要提取元数据,可以使用pdfinfo

例如

代码语言:javascript
复制
:~> pdfinfo ProAdminGuide.pdf  2>/dev/null | \
  grep Title: | sed 's/Title:[ ]*//'

输出

代码语言:javascript
复制
Professional Administrator’s Guide

有时PDF文件不包含完整的元数据。在这种情况下,您可以尝试运气从标题页的文本中提取标题。要提取标题页的文本,可以使用pdftotext

代码语言:javascript
复制
:~> pdftotext ProAdminGuide.pdf - | head -3

输出

代码语言:javascript
复制
A division of


Professional Administrator’s Guide, published by

无论如何,首先需要检查的是,在自动重命名它们之前,您可以从pdf文件中提取标题。

代码语言:javascript
复制
for book in *.pdf ; do 
   title=$(pdfinfo "$book" 2>/dev/null | grep Title: | sed 's/Title:[ ]*//')
   [[ "$title" ]] || continue
   mv "$book" "${title}.pdf"  
done

编辑:在评论中添加了查尔斯·达菲的一个很好的成语,以防万一

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24634419

复制
相关文章

相似问题

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