如何在 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 文件提供了一個靈活且功能豐富的工具集。 它也非常快。
查看他們精心編寫的詳細文檔,看看它還能做多少。