Câu hỏi Làm thế nào để chuyển đổi PDF sang hình ảnh?


Tôi có yêu cầu chuyển đổi các trang PDF thành hình ảnh. Có một hình nền với một số văn bản được viết, vì vậy khi tôi lưu hình ảnh này dưới dạng hình ảnh nền duy nhất đã được lưu.

Có bất kỳ phần mềm nào có sẵn cho cùng để trang hoàn chỉnh có thể được chuyển đổi thành hình ảnh không?


247
2018-06-23 10:16


gốc


Rõ ràng nó cũng có thể với inkscape: stackoverflow.com/a/15484727/32453 - rogerdpack


Các câu trả lời:


  1. cài đặt, dựng lên imagemagick.

  2. Sử dụng thiết bị đầu cuối có tệp PDF:

    • Đối với toàn bộ tài liệu:

      convert -density 150 input.pdf -quality 90 output.png
      
    • Đối với một trang duy nhất:

      convert -density 150 input.pdf[666] -quality 90 output.png
      

Theo đó:

  • PNG, JPG hoặc (hầu như) bất kỳ định dạng hình ảnh nào khác có thể được chọn.

  • -density xxx sẽ đặt DPI thành xxx (phổ biến là 150 và 300).

  • -quality xxx sẽ đặt nén thành xxx đối với các định dạng tệp PNG, JPG và MIFF (100 có nghĩa là không nén).

  • [666] sẽ chỉ chuyển đổi trang 667 thành PNG (đánh số không dựa trên [0] là trang đầu tiên).

  • Tất cả các tùy chọn khác (như cắt tỉa, thang độ xám, vv) có thể được xem trên trang web của Hình ảnh ma thuật.


235
2018-06-23 10:25



Câu trả lời là không hoạt động nhưng độ phân giải rất kém. Do đó hiện tại không phải là câu trả lời hữu ích. Có lẽ nếu chuyển đổi có một số tham số có thể được chỉ định, điều này có thể thay đổi. - Elijah Lynn
Câu trả lời này có chất lượng cao hơn nhiều askubuntu.com/a/50180/11929 - Elijah Lynn
Bạn có thể thay đổi mật độ bằng cách thêm -density 300 tham số - OHLÁLÁ
Hình ảnh trong câu trả lời của bạn bị hỏng. Có lẽ bạn nên cập nhật nó. - Petr R.
Vì vậy, bất cứ ai có thể xác nhận rằng chỉ định mật độ làm cho nó "tốt" như các câu trả lời khác ở đây, hay không? Cũng như một lưu ý cho những người theo dõi, ImageMagick gọi ra "ghostscript" để thực sự chuyển đổi từ pdf sang png cũ: gs -q NOPROMPT ...-sDEVICE=pngalpha -r150x150 -sOutputFile=/var/tmp/Yf%d -f/var/tmp/L -f/var/tmp/Fic1 và nếu bạn nhận được convert: no images defined output.png nó có nghĩa là bạn không cài đặt ghostscript ... - rogerdpack


Bạn có thể dùng pdftoppm để chuyển đổi PDF thành PNG:

pdftoppm input.pdf outputname -png

Điều này sẽ xuất mỗi trang trong PDF bằng định dạng outputname-01.png, với 01 là chỉ mục của trang.

Chuyển đổi một trang PDF

pdftoppm input.pdf outputname -png -f {page} -singlefile

Thay đổi {page} đến số trang. Nó được lập chỉ mục tại 1, vì vậy -f 1 sẽ là trang đầu tiên.

Chỉ định độ phân giải của hình ảnh được chuyển đổi

Độ phân giải mặc định cho lệnh này là 150 DPI. Tăng nó sẽ dẫn đến cả kích thước tệp lớn hơn và chi tiết hơn.

Để tăng độ phân giải của PDF được chuyển đổi, hãy thêm các tùy chọn -rx {resolution} và -ry {resolution}. Ví dụ:

pdftoppm input.pdf outputname -png -rx 300 -ry 300

273
2018-06-23 11:07



Cảm ơn bạn rất nhiều. Chất lượng tốt hơn nhiều so với imagemagick hoặc graphicsmagick! - dAnjou
pdftoppm nhanh hơn nhiều so với chuyển đổi - zuo
Không thể tin được nó dễ đến mức nào! Và gói đã được cài đặt theo mặc định! Đã yêu nó. CẢM ƠN! - Rosamunda
Điều này thực sự tốt hơn nhiều so với tưởng tượng. Imagemagick thực sự đã thay đổi màu sắc một cách bất ngờ trong trường hợp của tôi! - NoBackingDown
điều này là tốt !, nhưng nó dễ dàng hơn một chút để viết -r 300 thay vì chỉ định độ phân giải x và y một cách độc lập khi bạn muốn đặt chúng thành cùng một giá trị. - mlc


IIRC GIMP có khả năng sử dụng các tệp PDF, tức là chuyển đổi chúng thành hình ảnh. Vì vậy, nếu bạn muốn chỉnh sửa hình ảnh ngay lập tức - GIMP là bạn của bạn.


17
2018-06-23 10:29





Câu trả lời hiện được chấp nhận thực hiện công việc nhưng dẫn đến kết quả có kích thước lớn hơn  bị mất chất lượng.

Phương thức trả lời được đưa ra đây kết quả trong một đầu ra có kích thước tương đương với đầu vào và không bị mất chất lượng.

TLDR - Sử dụng pdfimages : pdfimages -j input.pdf output 

Trích dẫn câu trả lời được liên kết:

Nó không rõ ràng những gì bạn có nghĩa là "mất chất lượng". Điều đó có nghĩa là rất nhiều   của những thứ khác nhau. Bạn có thể đăng một số mẫu để minh họa không?   Có lẽ cắt giảm cùng một phần ra khỏi chất lượng kém và chất lượng tốt   phiên bản (dưới dạng PNG để tránh mất chất lượng hơn nữa).

Có lẽ bạn cần phải sử dụng -density để thực hiện chuyển đổi ở mức cao hơn   dpi:

convert -density 300 file.pdf page_%04d.jpg

(Bạn có thể thêm vào -units PixelsPerInch hoặc là -units PixelsPerCentimeter Nếu cần. Bản sao của tôi mặc định là ppi.)

Cập nhật:  Như bạn đã chỉ ra, gscan2pdf (cách bạn đang sử dụng nó) chỉ là một trình bao bọc cho pdfimages (từ poppler). pdfimages   không làm điều tương tự convert khi nào được cung cấp một tệp PDF   đầu vào.

convert lấy PDF, hiển thị ở độ phân giải nào đó và sử dụng   kết quả bitmap là hình ảnh nguồn.

pdfimages xem qua PDF cho hình ảnh bitmap được nhúng và   xuất mỗi tệp vào một tệp. Nó chỉ đơn giản là bỏ qua bất kỳ văn bản hoặc vector nào   các lệnh vẽ trong PDF.

Kết quả là, nếu những gì bạn có là một tệp PDF chỉ là một trình bao bọc xung quanh   chuỗi bitmap, pdfimages sẽ thực hiện công việc trích xuất tốt hơn nhiều   chúng, bởi vì nó giúp bạn có được dữ liệu thô ở kích thước ban đầu của nó. Bạn   có lẽ cũng muốn sử dụng -j tùy chọn để pdfimages, vì một   PDF có thể chứa dữ liệu JPEG thô. Theo mặc định, pdfimages chuyển đổi   mọi thứ cho định dạng PNM và chuyển đổi JPEG> PPM> JPEG là một sự mất mát   quá trình.

Vì vậy, hãy thử

pdfimages -j file.pdf page

Bạn có thể hoặc không cần phải tuân theo điều đó với convert đến .jpg bậc thang   (tùy thuộc vào định dạng bitmap mà PDF đang sử dụng).

Tôi đã thử lệnh này trên một tệp PDF mà tôi đã tự tạo từ một chuỗi   hình ảnh JPEG. Các JPEG được tách ra là byte-cho-byte giống hệt nhau   hình ảnh nguồn. Bạn không thể có được chất lượng cao hơn thế.


9
2018-03-12 13:14





Nếu các tệp pdf của bạn được quét, các hình ảnh đã được lưu trữ như một phần của pdf. bạn sẽ chỉ cần giải nén chúng bằng pdfimages:

pdfimages my-file.pdf prefix 

6
2017-09-18 10:14



Đây là giải pháp hoàn hảo cho các tệp PDF được quét, như với điều này bạn có thể, với một lệnh, trích xuất các jpg gốc và không cần phải nén lại. - Jose Gómez


Để lấy một trang từ gm chuyển đổi, thêm [N] (với N số trang bắt đầu từ 0) vào tên PDF, tức là gm convert foo.pdf[11] out.png để có được trang thứ 12 từ tệp PDF.

Dành cho pdftoppm sử dụng -f N -singlefile, trong đó N là số trang bắt đầu từ 1, tức là pdftoppm -f 12 -singlefile foo.pdf out cho cùng một kết quả. Dường như luôn thêm ".png" vào tên tệp đầu ra và không có cách nào để dừng việc này.


3
2018-04-02 21:44





Bạn có thể sử dụng chuyển đổi và chỉ định mật độ cao hơn bằng cách sử dụng -density Tùy chọn.

ví dụ. convert -d 300 foo.pdf bar.png


2
2017-07-24 02:23



bạn có thể giải thích thêm về mật độ và những gì nó có thể làm được không? - Ten-Coin
@AgentCool Nó chỉ định mật độ hình ảnh ngang và dọc (theo ppi). - Arjun


Nếu bạn chỉ muốn chuyển đổi một trang cụ thể của PDF thành PNG, bạn có thể pdftk đến convert (miêu tả trên) như thế này:

pdftk document.pdf cat 12 output - | convert - document-page-12.png

1
2017-11-06 05:11





Trình chỉnh sửa PDF chính (phiên bản 2.2) có tùy chọn này được kích hoạt. Mở tệp PDF và sau đó chuyển đến Tệp> Xuất sang> Hình ảnh. Nó trình bày một hộp thoại, nơi bạn có thể xác định các tùy chọn khác nhau cho đầu ra. Cực kỳ hữu ích. Hy vọng thông tin này sẽ giúp ích.


1
2017-12-28 22:42



Đó có phải là phiên bản miễn phí hoặc trả phí không? Trong phiên bản của tôi, tùy chọn có màu xám? Điều đó có nghĩa là tôi cần phải trả tiền? Có phiên bản trả tiền không? - Joshua Robison


PDF Mod cũng cho phép xuất hình ảnh của tất cả hoặc các trang PDF riêng lẻ.

  • Mở tệp PDF trong PDF Mod
  • Chọn (các) trang -
  • Chỉnh sửa> Xuất (các) hình ảnh

0
2017-12-15 11:56