如何在 Linux 命令行上制作和合并 PDF 文件
已发表: 2022-09-24PDF 文件旨在促进共享。 每个人都可以打开它们——如果他们没有其他东西的话,可以在他们的网络浏览器中打开。 Linux 允许您在命令行上操作、合并和拆分 PDF 文件。
便携式文档格式
在 Linux 上创建 PDF 文件
qpdf 命令
合并 PDF 文件
拆分 PDF 文件
旋转页面
加密和解密
qpdf 是一个优秀的工具
便携式文档格式
可移植文档格式 (PDF) 解决了一个问题。 当您在计算机上创建文档并想与其他人共享时,将文档发送给他们并不总是有效。
即使他们拥有您用来创建文档的相同软件包,他们的计算机上安装的字体也可能与您在他们的计算机上安装的字体不同。 他们可以打开文档,但它看起来不对。
如果他们没有您用来创建软件包的软件副本,他们将根本无法打开它。 如果您使用仅在 Linux 上可用的软件,那么将该文档发送给仅使用 Windows 的人是没有意义的。
Adobe 在 1992 年创建了一种新的文件格式,并将其称为可移植文档格式。 根据该标准(ISO 32000)创建的文档包含正确呈现文件内容所需的图像和字体。 PDF 文件可以在任何平台上由 PDF 查看器打开。 这是一个跨平台、简单且优雅的解决方案。
PDF 文件并不像文字处理器文档那样具有延展性。 他们不容易进行编辑。 如果您需要更改 PDF 的内容,最好返回源材料,对其进行编辑并生成新的 PDF。 与尝试更改内容相比,可以相对轻松地对 PDF 文件执行结构操作。
以下是在 Linux 上创建 PDF 文件的一些方法,以及如何执行一些可以应用于它们的转换。
在 Linux 上创建 PDF 文件
Linux 上可用的许多应用程序可以直接生成 PDF 文件。 LibreOffice 在工具栏右侧有一个按钮,用于生成当前文档的 PDF。 这再简单不过了。
对于 PDF 创建的细粒度控制,Scribus 桌面出版应用程序是无可匹敌的。
如果您需要创建具有科学或数学内容的文档,也许是为了提交给学术期刊,使用 LaTeX 的应用程序(例如 Texmaker)将是您的完美选择。
如果您更喜欢纯文本工作流程,也许使用 Markdown,您可以使用pandoc
来转换和转换包括 PDF 在内的许多文件格式。 我们有一个专门针对pandoc
的指南,但一个简单的示例将向您展示它是多么容易使用。
首先安装 Texmaker。 pandoc
依赖于一些 LaTeX 库来生成 PDF。 安装 Texmaker 是满足这些依赖关系的便捷方式。
-o
(输出)选项用于指定将创建的文件类型。 “raw-notes.md”文件是一个纯文本的 Markdown 文件。
pandoc -o new.pdf raw-notes.md
如果我们在 PDF 查看器中打开“new.pdf”文件,我们会看到它是格式正确的 PDF。
qpdf 命令
qpdf
命令允许您操作现有的 PDF 文件,同时保留其内容。 您可以进行的更改是结构性的。 使用qpdf
,您可以执行诸如合并 PDF 文件、提取页面、旋转页面以及设置和删除加密等任务。
要在 Ubuntu 上安装qpdf
,请使用以下命令:
sudo apt install qpdf
Fedora 上的命令是:
须藤 dnf 安装 qpdf
在 Manjaro 上,您必须输入:
sudo pacman -S qpdf
合并 PDF 文件
起初,一些qpdf
命令行语法可能看起来令人困惑。 例如,许多命令需要输入 PDF 文件。
如果命令不需要,则需要使用--empty
选项。 这告诉qpdf
不要期望输入文件。 --pages
选项允许您选择页面。 如果您只提供 PDF 名称,则使用所有页面。
要合并两个 PDF 文件以形成一个新的 PDF 文件,请使用此命令格式。
qpdf --empty --pages first.pdf second.pdf --combined.pdf
该命令由以下部分组成:
- qpdf :调用
qpdf
命令。 - –empty :告诉
qpdf
没有输入 PDF。 您可能会争辩说“first.pdf”和“second.pdf”是输入文件,但qpdf
认为它们是命令行参数。 - –pages :告诉
qpdf
我们将使用页面。 - first.pdf second.pdf :我们要从中提取页面的两个文件。 我们没有使用页面范围,因此将使用所有页面。
- — :表示命令选项的结束。
- combined.pdf :将创建的 PDF 的名称。
如果我们使用ls
查找 PDF 文件,我们将看到我们的两个原始文件(未修改)和名为“combined.pdf”的新 PDF。
ls -hl first.pdf second.pdf combine.pdf
“first.pdf”有两页,“second.pdf”有一个页面。 新的 PDF 文件有三页。
您可以使用通配符而不是列出大量源文件。 此命令创建一个名为“all.pdf”的新文件,其中包含当前目录中的所有 PDF 文件。
qpdf --empty --pages *.pdf -- all.pdf
我们可以通过在要从中提取页面的文件名后面添加页码或范围来使用页面范围。
这将从“first.pdf”中提取第一页和第二页,从“second.pdf”中提取第二页。 请注意,如果“combined.pdf”已经存在,它不会被覆盖。 它添加了选定的页面。
qpdf --empty --pages first.pdf 1-2 second.pdf 1 -- combined.pdf
页面范围可以像您喜欢的那样详细。 在这里,我们从一个大型 PDF 文件中请求一组非常具体的页面,并且我们正在创建一个摘要 PDF 文件。
qpdf --empty --pages large.pdf 1-3,7,11,18-21,55 -- summary.pdf
输出文件“summary.pdf”包含输入 PDF 文件的第 1 至 3、7、11、18 至 21 和 55 页。 这意味着“summary.pdf”中有 10 页
我们可以看到第 10 页是源 PDF 的第 55 页。
拆分 PDF 文件
合并 PDF 文件的反面是拆分 PDF 文件。 要将 PDF 拆分为单独的 PDF 文件,每个文件包含一个页面,语法很简单。
我们要拆分的文件是“summary.pdf”,输出文件是“page.pdf”。 这用作基本名称。 每个新文件都有一个添加到基本名称的数字。 --split-pages
选项告诉qpdf
我们正在执行什么类型的操作。
qpdf summary.pdf page.pdf --split-pages
输出是一系列按顺序编号的 PDF 文件。
ls 页面*.pdf
如果您不想拆分每个页面,请使用页面范围来选择您想要的页面。
如果我们发出下一个命令,我们将拆分一组单页 PDF 文件。 页面范围用于指定我们想要的页面或范围,但每个页面仍然存储在单个 PDF 中。
qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 -- --split-pages
提取的页面具有基于“section.pdf”的名称,并添加了序列号。
ls 部分*.pdf
如果要提取页面范围并将其存储在单个 PDF 中,请使用这种形式的命令。 请注意,我们不包括--split-pages
选项。 实际上,我们在这里所做的是 PDF 合并,但我们只是从一个源文件中“合并”页面。
qpdf --empty --pages large.pdf 8-13 -- Chapter2.pdf
这将创建一个名为“chapter2.pdf”的单页多页 PDF。
旋转页面
要旋转页面,我们创建一个新的 PDF,它与旋转指定页面的输入 PDF 相同。
我们使用--rotate
选项来执行此操作。 +90
表示将页面顺时针旋转 90 度。 您可以将页面旋转 90、180 或 270 度。 您还可以使用负数指定逆时针旋转度数,但几乎不需要这样做。 -90 的旋转与 +270 的旋转相同。
用冒号“ :
”与旋转分隔的数字是您要旋转的页面的编号。 这可能是页码和页面范围的列表,但我们只是旋转第一页。 要旋转所有页面,请使用1-z
的页面范围。
qpdf --rotate=+90:1 摘要.pdf 旋转1.pdf
第一页已为我们旋转。
加密和解密
PDF 文档可以加密,因此它们需要密码才能打开。 该密码称为用户密码。 更改 PDF 的安全性和其他权限设置需要另一个密码。 它称为所有者密码。
要加密 PDF,我们需要使用--encrypt
选项并提供两个密码。 用户密码首先出现在命令行中。
我们还指定要使用的加密强度。 如果您想支持非常旧的 PDF 文件查看器,您只需要从 256 位加密降到 128 位。 我们建议您坚持使用 256 位加密。
我们将创建一个名为“secret.pdf”的“summary.pdf”的加密版本。
qpdf --encrypt hen.rat.squid goose.goat.gibbon 256 -- summary.pdf secret.pdf
当我们尝试打开 PDF 时,PDF 查看器会提示我们输入密码。 输入用户密码授权查看器打开文件。
请记住, qpdf
不会更改现有的 PDF。 它使用我们要求它进行的更改创建一个新的。 因此,如果您制作加密的 PDF,您仍将拥有原始的未加密版本。 根据您的情况,您可能希望删除原始 PDF 或将其安全地存储起来。
要解密文件,请使用--decrypt
选项。 显然,您必须知道所有者密码才能正常工作。 我们需要使用--password
选项来识别密码。
qpdf --decrypt --password=goose.goat.gibbon secret.pdf unlocked.pdf
“unlocked.pdf”无需密码即可打开。
qpdf 是一个优秀的工具
我们对qpdf
印象深刻。 它为处理 PDF 文件提供了一个灵活且功能丰富的工具集。 它也非常快。
查看他们精心编写的详细文档,看看它还能做多少。