Cách trích xuất hình ảnh từ tập tin PDF


49

Tôi hiện đang sử dụng trình đọc PDF của Foxit và gần đây tôi đã tải xuống một hình ảnh từ Internet, nhưng nó nằm trong một tệp PDF. Làm thế nào để tôi trích xuất hình ảnh này?

Hệ điều hành là Windows 7.


trích xuất chất lượng cao nhất của bạn sẽ được trích xuất thành bất kỳ định dạng nào mà hình ảnh đã được lưu trữ trong pdf. (ít nhất tôi nghĩ đó là cách hoạt động của hình ảnh trong pdf.)
quack quixote

Câu trả lời:


4

Cách nhanh chóng nếu bạn không yêu cầu độ phân giải pixel gốc của hình ảnh là chỉ cần nhấn nút ALT và Print Screen. Sau đó chọn dán bất cứ nơi nào bạn muốn hình ảnh.

Một cách khác để duy trì độ phân giải là mở tệp PDF trong một chương trình chỉnh sửa hình ảnh như Adobe Photoshop và làm việc với nó ở đó.


1
Mở một tài liệu PDF trong Photoshop khiến hộp thoại 'Rasterize Generic PDF Format' xuất hiện, do đó độ phân giải không thể được giữ nguyên. Đã thử nghiệm với PS7. Các phiên bản mới hơn của Photoshop có khác nhau không?
AffineMesh

1
như bạn đã nói, [alt] + [prnscr] không bảo toàn độ phân giải pixel gốc (nó sử dụng bất kỳ độ phân giải nào mà màn hình / màn hình hiện tại của bạn sử dụng).
Kurt Pfeifle

1
@studiohack, @UserSuUserDo: Bạn sẽ không chỉ bỏ lỡ độ phân giải gốc nếu bạn sử dụng [alt] + [prnscr], mà bạn sẽ có được cửa sổ trình xem PDF hoàn chỉnh dưới dạng hình ảnh. Điều này có thể là "đủ tốt" cho nhiều trường hợp sử dụng. Nhưng đôi khi bạn chỉ muốn đồ họa được nhúng trong trang PDF. Ở đây pdfimages.execó ích.
Kurt Pfeifle

1
Hoặc sử dụng công cụ snipping được tích hợp trong W7 để chụp khu vực bạn muốn.
Moab

70

Nếu bạn tải xuống XPDF cho Windows ( tại đây ), bạn sẽ tìm thấy một vài tệp .exe bên trong. Bạn có thể chạy chúng mà không cần "cài đặt". Sử dụng pdfimages.exenhư thế này:

pdfimages.exe -help

Điều này sẽ hiển thị màn hình trợ giúp.

pdfimages.exe ^
    -j ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

Điều này trích xuất tất cả các JPEG dưới dạng tiền tố-00N.jpg và tất cả các hình ảnh khác dưới dạng tiền tố-00N.ppm (Portable PixMap).

[ Chỉnh sửa bởi ComFalet: Vui lòng lưu ý dấu gạch chéo trong đường dẫn đích, điều này rất quan trọng nếu bạn không muốn trích xuất tất cả hình ảnh vào thư mục mẹ của nó.] -
{ Chỉnh sửa bởi KurtPfeifle: Tôi không đồng ý với nhận xét của ComFalet, nhưng hãy để lại để độc giả tự kiểm tra và tìm ra sự khác biệt trong kết quả. Tham số ban đầu của tôi, không sử dụng dấu gạch chéo, như ..\prefixtiền tố tên hình ảnh được sử dụng cho các tệp được giải nén.}

pdfimages.exe ^
    -j ^
    -f 11 ^
    -l 13 ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

Tương tự như trước đây, nhưng giới hạn trích xuất hình ảnh ở các trang 11 ('f' = đầu tiên) thành 13 ('l' = cuối).


Cập nhật:

Trong khi đó, tôi thích phiên bản của Poppler hơnpdfimages - đặc biệt là khi nó có được tính năng mới này: thêm -listvào dòng lệnh để chỉ liệt kê (không trích xuất) hình ảnh có trong PDF, cộng với một số thuộc tính của chúng. Thí dụ:

pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf

  trang num type chiều rộng chiều cao màu comp comp bpc enc ID đối tượng interp
  -------------------------------------------------- -------------------
     7 0 hình ảnh 581 838 rgb 3 8 jpeg số 39 0
     7 1 hình ảnh 4 4 rgb 3 8 hình ảnh 40 0
     7 2 hình ảnh 314 332 rgb 3 8 jpx không 44 0
     7 3 hình ảnh 358 430 rgb 3 8 jpx không 45 0
     7 4 hình ảnh 4 4 rgb 3 8 hình ảnh 46 0
     7 5 hình ảnh 4 4 rgb 3 8 hình ảnh không 47 0
     7 6 hình ảnh 4 6 rgb 3 8 hình ảnh 48 0
     7 7 hình 596 462 rgb 3 8 jpx không 49 0
     7 8 hình ảnh 4 6 rgb 3 8 hình ảnh không 50 0
     7 9 hình ảnh 4 4 rgb 3 8 hình ảnh không 51 0
     7 10 hình ảnh 8 10 rgb 3 8 hình ảnh không 41 0
     7 11 hình 6 6 rgb 3 8 ảnh không 42 0
     7 12 hình ảnh 113 27 rgb 3 8 jpx không 43 0
     8 13 hình ảnh 582 839 xám 1 8 jpeg không 2080 0
     8 14 hình ảnh 344 364 màu xám 1 8 jpx no 2079 0

Lưu ý lại: phiên bản này là phiên bản pdfimagestừ Poppler ( phiên bản từ XPDF chưa (chưa?) Hỗ trợ tính năng mới này) và phiên bản phải là v0.20.2 hoặc mới hơn.


1
@harlev: Google cho ImageMagick . Nó có một công cụ dòng lệnh có thể chuyển đổi bất cứ thứ gì thành bất cứ thứ gì được gọi convert. Có sẵn cho Linux, Windows, MacOS X và những gì có bạn. Trường hợp sử dụng dễ nhất cho bạn : convert some.ppm some.jpeg.
Kurt Pfeifle

3
Lưu ý: XPDF không được duy trì tích cực như thư viện poppler tách ra từ đó một thời gian trước. Poppler cũng cung cấp pdfimagesvà một số người có thể thích sử dụng nó.
MvG

1
@BurhanKhalid: Các tệp nhị phân dựng sẵn có tại đây: sourceforge.net/projects/poppler-win32
Kurt Pfeifle

2
@KurtPfeifle Thật không may, những cái đó không chứa bất kỳ tệp exe nào cả.
Chris

3
Tôi biết điều này đã cũ nhưng chỉ muốn chia sẻ nếu có ai đang tìm kiếm các tệp nhị phân của windows, bạn có thể lấy nó ở đây blog.alivate.com.au/poppler-windows
Aivan Monceller

8

Bạn có thể thử nhập PDF vào Inkscape và làm việc từ đó. Inkscape sẽ chỉ mở một trang tại một thời điểm, nhưng sẽ cung cấp cho bạn toàn quyền kiểm soát nội dung trang. Bạn sẽ có thể trích xuất và thao tác đồ họa vector từ PDF khá dễ dàng.

Tuy nhiên, nếu bạn muốn trích xuất hình ảnh raster từ PDF, tôi khá chắc chắn pdfimagestừ XPDF dễ dàng hơn (nhưng bạn vẫn có thể thử sử dụng Inkscape sau khi tìm hiểu cách trích xuất hình ảnh nhúng từ tệp SVG ).


GIMP ( gimp.org ) là một công cụ thiết kế đồ họa khác có thể nhập và thao tác các tệp PDF. Tuy nhiên, không chắc chắn khả năng của GIMP tương phản với những người trong Inkscape như thế nào.
coderworks

@coderworks: GIMP sẽ rasterize trang PDF đã nhập thành một độ phân giải nhất định. Nói cách khác, nó tốt hơn một chút so với sử dụng "Màn hình in". Inkscape, mặt khác, sẽ bảo tồn dữ liệu vectơ gốc cũng như các hình ảnh raster gốc.
Denilson Sá Maia

5

Không cần cài đặt bất kỳ phần mềm nào, bạn có thể chuyển sang Trình xem PDF-XChange (chọn Phiên bản di động ) có khả năng này đã được tích hợp sẵn

  • xuất tất cả hoặc các trang được chọn làm hình ảnh
  • định dạng đầu ra: PNG, JPG, TIFF, BMP
  • chọn DPI, mức nén, thang màu xám
  • có thể lưu nhiều trang dưới dạng TIFF nhiều trang

    nhập mô tả hình ảnh ở đây

    nhập mô tả hình ảnh ở đây
    bấm vào để phóng to


Xin lưu ý trong khi phương pháp này chuyển đổi toàn bộ trang PDF thành hình ảnh, phương pháp được giải thích từ @Laurenz bằng Sumatra PDF là ưu việt hơn nếu bạn muốn trích xuất hình ảnh từ trang PDF có nội dung hỗn hợp (hình ảnh + văn bản) để chỉ lấy hình ảnh.


2
@MarkSeemann Tôi không thể theo dõi. "Không cài đặt bất kỳ phần mềm nào" có nghĩa là trong bối cảnh này có sẵn phiên bản di động. Phần mềm di động không thể được "cài đặt" theo định nghĩa. Bạn chỉ cần tải về, giải nén và bắt đầu nó.
nixda

3
Thực tế là bạn cần "Chọn DPI" đánh bại mục đích. Bạn đang thay đổi kích thước hình ảnh raster (mảng pixel) và bất kỳ thay đổi kích thước nào của hình ảnh raster đều dẫn đến mất chất lượng và thông tin.
anthony

chuyển đổi tập tin PPM sang png hoặc jpeg?
Kiquenet

4

Sumatra PDF là một trình đọc PDF mã nguồn mở nhanh và nhẹ, có thể sao chép hình ảnh trực tiếp vào clipboard mà không cần phải rasterization.


3

MuPDF là trình xem PDF đa nền tảng (được tạo vào năm 2006) (được tạo ra năm 2006) được phát hành theo giấy phép AGPL. Nó được duy trì bởi cùng những người của Ghostscript .

Nó chứa một công cụ dòng lệnh để trích xuất hình ảnh từ PDF:

mutool extract [options] file.pdf [object numbers]

Lệnh giải nén có thể được sử dụng để trích xuất hình ảnh và tập tin phông chữ từ PDF. Nếu không có số đối tượng nào được đưa ra trên dòng lệnh, tất cả hình ảnh và phông chữ sẽ được trích xuất.

-p password
       Use the specified password if the file is encrypted.

-r     Convert images to RGB when extracting them.

2

sử dụng pdftocairotừ poppler toolkit. Nó có thể trích xuất và chuyển đổi hình ảnh của pdf sang bất kỳ định dạng mong muốn. Nó luôn tạo ra hình ảnh và không bao giờ tạo ra ppm hoặc một số craps như thế. Lệnh sau chuyển đổi các trang pdf thành hình ảnh jpg của nó:

pdftocairo.exe -jpeg "my.pdf" "my"

Bạn có thể lấy nó từ đây cho các cửa sổ: http://blog.alivate.com.au/poppler-windows/

Nó cũng có sẵn trên Linux.


Lệnh này KHÔNG EXTRACT hình ảnh được nhúng trong PDF (như OP yêu cầu). Thay vào đó, nó chuyển đổi các trang PDF thành định dạng hình ảnh. Câu trả lời này không phù hợp với câu hỏi.
Kurt Pfeifle

1

http://www.sumnotes.net/ là một công cụ trực tuyến để trích xuất ghi chú, điểm nổi bật và hình ảnh. Tôi đã sử dụng nó rộng rãi tại trường đại học cho luận án của mình và tôi thực sự hài lòng.


Thương mại với thử nghiệm miễn phí hạn chế. Nó cũng trực tuyến, có nghĩa là quyền riêng tư không thể được đảm bảo!
anthony

-1

thông thường tôi trích xuất hình ảnh được nhúng bằng 'pdfimages' ở độ phân giải gốc, sau đó sử dụng chuyển đổi của ImageMagick sang định dạng cần thiết:

$ pdfimages -list fileName.pdf
$ pdfimages fileName.pdf fileName   # save in .ppm format
$ convert fileName-000.ppm fileName-000.png

Điều này tạo ra tệp kết quả tốt nhất và nhỏ nhất.

Lưu ý: Đối với hình ảnh nhúng JPG bị mất, bạn phải sử dụng -j:

$ pdfimages -j fileName.pdf fileName   # save in .jpg format

Trên nền tảng Win được cung cấp ít, bạn phải tải xuống tệp nhị phân 'poppler-produc' gần đây (0,37, 2015) từ: http://blog.alivate.com.au/poppler-windows/

CẬP NHẬT: Trên "poppler-produc" gần đây 0,50+ (2016), pdfunite có một tùy chọn "-all" để trích xuất bitmap nén không mất dữ liệu dưới dạng .png và bitmap nén bị mất như .jpg, vì vậy rất đơn giản:

$ pdfimages -all fileName.pdf fileName

trích xuất luôn nội dung chất lượng tốt nhất có thể từ PDF


Trước đây trong câu trả lời của Kurt Pfeifle.
daniel.neumann
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.