如何從 PDF 檔案中刪除圖像

如何從 PDF 檔案中刪除圖像

我有一個相當大(~100MB)的 PDF 文檔,其中有很多圖像(作為插圖和背景圖像),我想要一份沒有圖像的 pdf 副本,但我不知道如何做。

我不是說將其僅轉換為文本,我想保持段落/表格/多列不變。

我對命令列很熟悉,並且有幾台可以使用不同發行版的電腦。

答案1

最新版本的 Ghostscript 也可以做到這一點。只需將參數添加-dFILTERIMAGE到您的命令中即可。

甚至還可以新增兩個新參數,以便選擇性地刪除內容類型“向量”"文字"

  1. -dFILTERIMAGE:產生一個輸出,其中所有光柵影像都被刪除。

  2. -dFILTERTEXT:產生一個輸出,其中所有文字元素都被刪除。

  3. -dFILTERVECTOR:產生一個輸出,其中所有向量圖都被刪除。

這些選項中的任何兩個都可以組合。 (如果將所有 3 個頁面合併起來,所有頁面都會變成空白...)

例子

以下是範例 PDF 頁面的螢幕截圖,其中包含上述所有 3 種類型的內容:

原始 PDF 頁面的螢幕截圖包含「圖像」、「向量」和「文字」元素。
包含「圖像」、「向量」和「文字」元素的原始 PDF 頁面的螢幕截圖。


執行以下 6 個命令將創建剩餘內容的所有 6 種可能的變體:

gs -o noIMG.pdf -sDEVICE=pdfwrite -dFILTERIMAGE input.pdf
 gs -o noTXT.pdf -sDEVICE=pdfwrite -dFILTERTEXT input.pdf
 gs -o noVCT.pdf -sDEVICE=pdfwrite -dFILTERVECTOR input.pdf

 gs -o onlyIMG.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERTEXT input.pdf
 gs -o onlyTXT.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERIMAGE input.pdf
 gs -o onlyVCT.pdf -sDEVICE=pdfwrite -dFILTERIMAGE -dFILTERTEXT input.pdf

下圖說明了結果:


最上面一排,從左起:刪除所有「文字」;刪除所有“圖像”;所有“向量”均已刪除。最下面一排,從左起:僅保留「文本」;僅保留“圖像”;只保留“向量”。
上排左起:刪除所有「文字」;刪除所有“圖像”;所有“向量”均已刪除。底行左起:僅保留「文本」;僅保留“圖像”;只保留“向量”。


答案2

cpdf -draft original.pdf -o version_without_images.pdf

它不在存儲庫中,但您可以找到下載(預編譯或者來源) 在他們的網站


手動的

15.1 文件草案

-draft 選項會從檔案中刪除點陣圖(照片)影像,以便可以使用較少的墨水進行列印。或者,可以新增 -boxes 選項,以表示影像所在位置的交叉框填滿空白的空間。這不能保證在所有情況下都完全可見(點陣圖可能已被向量物件部分覆蓋或在原始影像中被剪裁)。例如:

 cpdf -draft -boxes in.pdf -o out.pdf

答案3

雖然@Rinzwind 的答案是正確的事,我只想評論一下“中途”解決方案。通常,您可以使用以下方法大幅減少影像的大小鬼腳本

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
   -dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf

……有時校對確實很方便。編寫PDF的手冊頁是這裡

答案4

您可以使用PDF 編輯大師(適用於 Windows、Linux、macOS):

  1. 開啟 PDF
  2. 刪除那些影像
  3. 另存為新的 PDF 文件

您可以從 Ubuntu 軟體中心下載它。

相關內容