pdfimages
與 pdftoppm
有何不同?
為了使用 Scan Tailor 處理 pdf(為了刪除拍攝的 pdf 頁面的背景,或拆分 pdf 頁面),因為該程序需要輸入圖像 - 它不能這樣輸入 pdf - 我使用了類似的
pdftoppm MY_PDF NAME_OF_IMAGE -png
命令處理低質量的 pdf,結果圖像比原始 pdf 差。但是用
pdfimages
工具從poppler-utils
結果上看和原來的一樣好。如果使用了不同的變數
-png
(或者如果沒有使用變數並且輸出為ppm
),這將保持正確。我認為從現在開始
pdfimages
對我的目的來說是一個更好的解決方案,但後來我注意到,對於許多其他 pdf 文件,該命令根本不好,因為它給出了圖像或文本的片段,而這些片段pdftoppm
給出了預期的正常文本。如果從 pdf 中提取並
pdfimages
在 Dolphin 中查看,則圖像不好:
pdftoppm
如果從在 Dolphin 中查看的同一 pdf 中提取正確的圖像:為什麼會有這些差異?
不同之處在於工具的用途。一旦您意識到 PDF 是一種靈活的文件格式,就會變得很明顯。它可以包含文本、矢量圖形和光柵圖像(此列表並不詳盡)。您可能會將其視為“帶有佈局資訊的 zip”(大體簡化)。
pdftoppm
將“渲染”或“光柵化”整個 PDF。所有文本和圖形將成為一個光柵化輸出圖像。由於嵌入的光柵圖像的像素很少與輸出“畫布”的像素對齊,因此會發生插值並降低質量。
-r
這可以通過顯著增加輸出解析度(選項)來抵消。當然,這意味著文件大小也會增加。
pdfimages
將從 PDF 文件中提取光柵圖像。文本或矢量圖形被忽略。由於光柵圖像是按原樣提取的,因此保留了原始質量,但失去了有關佈局的資訊。
如果您的輸入 PDF 僅包含一個光柵圖像而沒有其他任何內容,則輸出可能看起來相似。
在您的範例中,複印機的掃描功能試圖辨識文本塊以高質量儲存它們。文件的其餘部分(例如白色背景)以低質量儲存以節省儲存空間。正如您所發現的,這可能對一個人有利,也可能對一個人不利。