Cách xóa hình ảnh khỏi tệp PDF


13

Tôi đã có một tài liệu PDF khá lớn (~ 100 MB) với rất nhiều hình ảnh trong đó (dưới dạng hình minh họa và hình nền) và tôi muốn có một bản sao của pdf mà không có hình ảnh nhưng tôi không thể tìm ra cách để làm vậy đi.

Tôi không nói về việc chuyển đổi nó thành văn bản duy nhất, tôi muốn giữ các đoạn / bảng / nhiều cột như hiện tại.

Tôi cảm thấy thoải mái với dòng lệnh và có một số máy tính với các bản phân phối khác nhau mà tôi có thể sử dụng.


Khi chúng ta đang nói về một tài liệu 500 trang với nhiều hình ảnh trên mỗi trang, tôi đang tìm kiếm một cách tự động để xóa mọi hình ảnh.
Ornux

Câu trả lời:


14
cpdf -draft original.pdf -o version_without_images.pdf

Nó không có trong kho nhưng bạn có thể tìm thấy một bản tải xuống ( được biên dịch trước hoặc nguồn ) trên trang web của họ .


Hướng dẫn sử dụng :

15.1 Dự thảo tài liệu

Tùy chọn -draft loại bỏ hình ảnh bitmap (ảnh) khỏi một tệp, để nó có thể được in với ít mực hơn. Tùy chọn, tùy chọn -boxes có thể được thêm vào, lấp đầy khoảng trống để trống với hộp chéo biểu thị vị trí của hình ảnh. Điều này không được đảm bảo có thể nhìn thấy đầy đủ trong mọi trường hợp (bitmap có thể được bao phủ một phần bởi các đối tượng vector hoặc được cắt bớt trong bản gốc). Ví dụ:

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

1
Đó chính xác là những gì tôi đang tìm kiếm. Các tập tin đầu ra là hoàn hảo. Cảm ơn bạn rất nhiều!
Ornux

@Rinzwind Xin lưu ý rằng liên kết "trang web của họ" thực sự đi đến một tệp zip.
Jos

Hmm .. đối với tôi, nó liên tục thêm các dòng gần như ngẫu nhiên trên và trên văn bản, và kích thước tệp thực sự tăng nhẹ, thay vì thu hẹp.
Henning Koehler

22

Các bản phát hành mới nhất của Ghostscript cũng có thể làm điều này. Chỉ cần thêm tham số -dFILTERIMAGEvào lệnh của bạn.

Thậm chí còn có thêm hai tham số mới có thể được thêm vào để loại bỏ có chọn lọc các loại nội dung "vectơ""văn bản" :

  1. -dFILTERIMAGE: tạo ra một đầu ra trong đó tất cả các hình ảnh raster được loại bỏ.

  2. -dFILTERTEXT: tạo ra một đầu ra trong đó tất cả các thành phần văn bản được loại bỏ.

  3. -dFILTERVECTOR: tạo ra một đầu ra trong đó tất cả các bản vẽ vector được loại bỏ.

Bất kỳ hai trong số các tùy chọn này có thể được kết hợp. (Nếu bạn kết hợp cả 3, bạn sẽ nhận được tất cả các trang bị trống ...)

Ví dụ

Dưới đây là ảnh chụp màn hình từ một trang PDF mẫu có chứa cả 3 loại nội dung được đề cập ở trên:

Ảnh chụp màn hình của trang PDF gốc có chứa các yếu tố "hình ảnh", "vectơ" và "văn bản".
Ảnh chụp màn hình của trang PDF gốc có chứa các yếu tố "hình ảnh", "vectơ" và "văn bản".


Chạy 6 lệnh sau sẽ tạo ra tất cả 6 biến thể có thể có của nội dung còn lại:

 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

Hình ảnh sau đây minh họa kết quả:


Hàng trên cùng, từ trái sang: tất cả "văn bản" đã bị xóa; tất cả "hình ảnh" bị xóa; tất cả "vectơ" bị loại bỏ. Hàng dưới cùng, từ trái: chỉ giữ "văn bản"; chỉ "hình ảnh" được lưu giữ; chỉ "vectơ" giữ.
Hàng trên cùng, từ trái sang: tất cả "văn bản" đã bị xóa;  tất cả "hình ảnh" bị xóa;  tất cả "vectơ" bị loại bỏ.  Hàng dưới cùng, từ trái: chỉ giữ "văn bản";  chỉ "hình ảnh" được lưu giữ;  chỉ "vectơ" giữ.



2

Trong khi câu trả lời của @Rinzwind là điều đúng , tôi chỉ muốn bình luận về giải pháp "giữa chừng". Thông thường bạn có thể giảm đáng kể kích thước của hình ảnh bằng ghostscript với

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

... đôi khi nó thực sự tiện dụng cho việc hiệu đính. Trang hướng dẫn viết PDF ở đây .


@KurtPfeifle /screensẽ (trong số những thứ khác) đặt độ phân giải hình ảnh bitmap thành 72dpi. Vì vậy, có, nếu bạn có hình ảnh ở DPI nhỏ hơn, nó có thể tăng kích thước tệp. Đây là lý do tại sao tôi sử dụng từ "bình thường" (theo nghĩa "không phải luôn luôn, nhưng khá thường xuyên"). Hãy thoải mái downvote bất cứ điều gì bạn muốn.
Rmano

Chạy lệnh này : for s in screen default ; do gs -o /dev/null -sDEVICE=pdfwrite -dPDFSETTINGS=/${s} -c "currentpagedevice {exch ==only ( ) print === } forall" | sort | tee ghostscript---pdfwrite-PDFSETTINGS-${s}--pagedevice-settings.txt; done. Nó sẽ tạo ra hai tệp văn bản mà bạn có thể so sánh bằng cách sử dụng sdiff -sbB $[file1}.txt ${file2}.txt. Bây giờ bạn biết chính xáchoàn toàn tất cả các cài đặt khác nhau được giới thiệu bởi -dPDFSETTINGS=/screen!
Kurt Pfeifle

Làm xong. Vẫn không thể thấy tùy chọn nào có thể cung cấp một tệp lớn /screenhơn trong /default--- 72dpi so với 150dpi, được tối ưu hóa, loại bỏ bản xem trước EPS ... nhưng này, không phải là vấn đề lớn. Mọi người sẽ kiểm tra và chọn giải pháp tốt hơn.
Rmano

Tôi xin lỗi - có lẽ tôi đã xin lỗi vì sự táo tợn trong tuyên bố đầu tiên của tôi. Thành thật mà nói, tôi dường như chỉ nhớ từ các cuộc điều tra trước đây của tôi (một vài năm trở lại đây) /screenđã cho kết quả thực sự tồi tệ. Có thể bộ nhớ của tôi thất bại, hoặc tôi trộn nó với /epub. Lệnh tôi đưa cho bạn là từ bộ nhớ vì tôi khá chắc chắn rằng nó sẽ hiển thị những gì tôi muốn nói. Bây giờ tôi chạy lại nó một lần nữa, tôi không còn thấy những gì tôi mong đợi: các thử nghiệm mở rộng hơn tôi đã chạy vài năm trước. Sau đó, rất nhiều phông chữ (CID? / CFF?) Có kích thước đầy hơi của các tệp PDF kết quả. Tôi phải truy cập lại vấn đề một lần nữa, một khi tôi có thêm thời gian ... :-)
Kurt Pfeifle

0

Bạn có thể sử dụng trình chỉnh sửa pdf chính, xóa những hình ảnh đó và lưu dưới dạng tệp pdf mới. Bạn có thể tải xuống từ trung tâm phần mềm Ubuntu.


Tôi chỉ cài đặt nó để thử nhưng tôi thấy không có cách nào tự động để làm điều đó. Cho rằng đó là một tài liệu 500 trang, tôi không xem việc xóa thủ công là một giải pháp ở đây. Tôi đã bỏ lỡ một cái gì đó?
Ornux

không bạn không bỏ lỡ bất cứ điều gì tôi nghĩ rằng hình ảnh có kích thước lớn vì vậy bạn muốn loại bỏ chúng, không bao giờ nghĩ về rất nhiều hình ảnh. dù sao câu hỏi hay.
Sudheer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.