Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在 Linux 命令行上编辑 PDF

在 Linux 命令行上编辑 PDF

作者头像
用户1880875
修改于 2021-09-07 10:17:56
修改于 2021-09-07 10:17:56
2.2K00
代码可运行
举报
运行总次数:0
代码可运行

你收到的许多文件都是 PDF 格式的。有时这些 PDF 需要进行处理。例如,可能需要删除或添加页面,或者你可能需要签署或修改一个特定的页面。

不管是好是坏,这就是我们所处的现实。

有一些花哨的图形用户界面工具可以让你编辑 PDF,但我一直对命令行感到最舒服。在这个任务的许多命令行工具中,当我想修改一个 PDF 时,我使用的是 qpdfpoppler-utils

安装

Linux 上,你可以用你的包管理器(如 aptdnf)来安装 qpdfpoppler-utils。比如在 Fedora 上:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo dnf install qpdf poppler-utils

在 macOS 上,使用 MacPortsHomebrew。在 Windows 上,使用 Chocolatey

qpdf

qpdf 命令可以做很多事情,但我主要用它来:

  1. 将一个 PDF 分割成不同的页面
  2. 将多个 PDF 文件合并成一个文件

要将一个 PDF 分割成不同的页面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qpdf --split-pages original.pdf split.pdf

这就会生成像 split-01.pdfsplit-02.pdf 这样的文件。每个文件都是一个单页的 PDF 文件。

合并文件比较微妙:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qpdf --empty concatenated.pdf --pages split-*.pdf --

这就是 qpdf 默认的做法。--empty 选项告诉 qpdf 从一个空文件开始。结尾处的两个破折号(--)表示没有更多的文件需要处理。这是一个参数反映内部模型的例子,而不是人们使用它的目的,但至少它能运行并产生有效的 PDF!

poppler-utils

这个软件包包含几个工具,但我用得最多的是 pdftoppm,它把 PDF 文件转换为可移植的像素图(ppm)文件。我通常在用 qpdf 分割页面后使用它,并需要将特定页面转换为我可以修改的图像。ppm 格式并不为人所知,但重要的是大多数图像处理方法,包括 ImageMagickPillow 等,都可以使用它。这些工具中的大多数也可以将文件保存为 PDF。

工作流程

我通常的工作流程是:

  • 使用 qpdf 将 PDF 分割成若干页。
  • 使用 poppler-utils 将需要修改的页面转换为图像。
  • 根据需要修改图像,并将其保存为 PDF。
  • 使用 qpdf 将各页合并成一个 PDF。

其他工具

有许多很好的开源命令来处理 PDF,无论你是 缩小它们从文本文件创建它们转换文档,还是尽量 完全避免它们。你最喜欢的开源 PDF 工具是什么?请在评论中分享它们。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Python将PDF转换成图片
    必须在Linux环境下,使用到的环境和工具:CentOS7+Python3.6+pdf2image+poppler
py3study
2020/01/07
3.6K0
Linux下PDF转图片
Inkscape 作为一款强大的矢量设计软件,也能用来将 PDF 文件转为图片,主要用于在转换为图片时对原 PDF 页面进行一定调整。
hotarugali
2022/02/28
4.7K0
Python将PDF转成图片PNG和JPG
前言:在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试。
软测小生
2019/08/06
15.6K0
Python将PDF转成图片PNG和JPG
Linux下分割PDF
Linux 下可以使用 pdfseparate 命令来分割 PDF 文件。如果你的 Linux 发行版上没有该命令,需要安装 poppler-utils(Debian 系)或 poppler(Arch 系)软件。pdfunite 命令的语法格式如下:
hotarugali
2022/02/28
4.8K0
pdf2image类库实现批量pdf转图片
通过pdf2image来实现对PDF文件的处理工作,我们本次主要做的是将PDF文件批量转成图片。之前写过批量提取封面的文章,传送:Python提取PDF第一页为封面图片【批量提取】,但是在后期的深入编写过程中遇到一些问题,近期再次深入编写程序,一起来看看代码吧!
申霖
2020/10/27
3.6K0
pdf2image类库实现批量pdf转图片
使用命令行界面运行Python脚本
本文将讲解如何使用带有argparse库的命令行界面运行Python脚本。命令行界面(CLI)允许我们通过在Shell(如果使用的是Windows,则为命令提示符)中键入命令来执行程序。我们可以在命令行上键入不同的参数并将这些参数传递到脚本中,而不是每次运行脚本时都更改.py文件中的代码。因此,使用CLI是非常灵活和方便的,而且,从黑屏启动程序会让你更酷,更像一个真正的程序员。
fanjy
2022/04/13
3.1K0
使用命令行界面运行Python脚本
Linux下合并PDF
Linux 下可以使用 pdfunite 命令来合并多个 PDF 文件。如果你的 Linux 发行版上没有该命令,需要安装 poppler-utils(Debian 系)或 poppler(Arch 系)软件。pdfunite 命令的语法格式如下:
hotarugali
2022/02/28
6.4K0
【拆分PDF重命名】将PDF按页拆分多个PDF文件,并用PDF里文字对文件批量重命名,python和腾讯api识别改名的完整代码和详细步骤
在当今数字化办公和信息管理的大环境下,PDF 作为一种广泛使用的文档格式,承载着丰富的信息。然而,在很多情况下,我们会遇到需要对大型的 PDF 文件进行处理的需求。一个典型的场景是,一个多页的 PDF 文件包含了多个不同主题或信息单元,而用户希望将其按页拆分成多个单独的 PDF 文件,以便于更方便地管理、存储和检索这些信息。
不负众望
2025/02/24
2630
【拆分PDF重命名】将PDF按页拆分多个PDF文件,并用PDF里文字对文件批量重命名,python和腾讯api识别改名的完整代码和详细步骤
R语言操作pdf文档
至此对pdf文档进行文本的提取过程基本完成。当然这里有一个漏洞那就是没有开发提取pdf中表格的功能,为此有团队开发了对应的包pdftables。但是这个地方需要在https://pdftables.com/注册ID才可以应用提取表格功能,并且有页数限制。另外还有就是从pdf中提取图像的工具也并未发现。为此还是希望大牛进行后期的扩展。
一粒沙
2021/07/05
2.1K0
Python将PDF转成图片—PyMuPDF和pdf2image
前言:在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试。
软测小生
2019/08/06
3K0
Python将PDF转成图片—PyMuPDF和pdf2image
Python调用WPS进行文档转换PDF及PDF转图片
https://blog.alivate.com.au/poppler-windows/
码客说
2021/11/29
2.8K0
Linux下从PDF文件中提取图片
PDF 其实本质上是一个文件包,比如某些 PDF 文件中有插图,这些插图都包含在这个 PDF 文件包中。Linux 下可以使用 pdfimages 命令来从 PDF 文件中提取图片文件。如果你的 Linux 发行版上没有该命令,需要安装 poppler-utils 软件。pdfimages 命令的语法格式如下:
hotarugali
2022/02/28
2.8K0
使用Python拆分和合并PDF文件
我曾经收到一份20页的PDF银行对账单,需要将其中的3页转发给另一方,但我不想发送整个文件,因为有些页面包含我不愿意共享的个人信息。因此,我需要一种分割PDF文件的方法。虽然Adobe Acrobat Pro DC允许拆分和合并PDF文件,但需要付费。
fanjy
2022/03/07
2.7K0
使用Python拆分和合并PDF文件
Stirling-PDF一款开源可本地托管的pdf处理利器
这是一个健壮的、本地托管的基于Web的PDF操作工具,使用Docker实现。它使您能够对PDF文件执行各种操作,包括分割、合并、转换、重新组织、添加图像、旋转、压缩等。这个本地托管的Web应用程序已发展成为包含全面功能的套件,满足您所有的PDF需求。
山行AI
2024/05/09
1.8K0
Stirling-PDF一款开源可本地托管的pdf处理利器
Linux命令行开发入门
想到软件开发,你可能会认为需要各种应用程序和服务才能完成工作。你需要一个强大的IDE,一个用于版本控制的GUI,以及许多其他工具。
云云众生s
2024/12/02
2160
【随笔】用 Python 轻松提取、合并和压缩 PDF 文件
在我们的示例中,首先读取指定的 PDF 文件并提取每一页的第二行内容。根据第二行的内容(以空格分隔的第一个词),我们将相同内容的页面合并为一个新的 PDF 文件。最后,生成的 PDF 文件会被压缩,以减少文件的大小。
框架师
2024/11/14
3740
qpdf 轻松搞定 PDF 处理:实用教程与场景示例
PDF 是日常工作和学习中不可或缺的文件格式,但它的编辑和处理却常常让人头疼。qpdf 是一个功能强大的命令行工具,专注于 PDF 文件的转换和操作。它小巧、免费、跨平台,特别适合开发者和技术人员。本文将从实用场景出发,带你快速上手 qpdf。
井九
2025/01/09
5110
ComPDFKit - 专业的PDF文档处理SDK
ComPDFKit提供专业、全平台支持的PDF开发库,包括Windows、Mac、Linux、Android、iOS、Web平台。开发者可以快速、灵活整合PDF功能到各开发平台的软件、程序、系统中。丰富的功能,多种开发语言,灵活的部署方案可供选择,满足您对PDF文档的所有需求。
Youna
2023/03/07
8.5K0
Linux命令行的艺术
熟练使用命令行是一种常常被忽视或被认为难以掌握的技能,但实际上,它可以提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时发现的一些关于命令行的使用的小技巧的摘要。有些小技巧是非常基础的,而另外一些则是相当复杂的甚至晦涩难懂的。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了。 必读 涵盖范围: * 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处。本文致力于做到覆盖面广(尽量包括一切重要的内容),具体(给出最常见的具体的例子)以及简
小小科
2018/05/03
7.2K0
独家 | 手把手教你如何用Python从PDF文件中导出数据(附链接)
有很多时候你会想用Python从PDF中提取数据,然后将其导出成其他格式。不幸的是,并没有多少Python包可以很好的执行这部分工作。在这篇贴子中,我们将探讨多个不同的Python包,并学习如何从PDF中提取某些图片。尽管在Python中没有一个完整的解决方案,你还是应该能够运用这里的技能开始上手。提取出想要的数据之后,我们还将研究如何将数据导出成其他格式。
数据派THU
2018/12/19
5.6K0
独家 | 手把手教你如何用Python从PDF文件中导出数据(附链接)
相关推荐
使用Python将PDF转换成图片
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验