Chuyển đổi một thư mục các tệp JPEG thành một tài liệu PDF


242

Tôi có nhiều tệp JPEG trong một thư mục và tôi muốn chuyển đổi chúng thành PDF và ghép chúng lại với nhau để tạo thành một tài liệu duy nhất.

Điều này có thể giải quyết như thế nào?

Tôi thích sử dụng dòng lệnh, vì quá trình này sẽ nhanh hơn.

Câu trả lời:


358

Từ imagemagickgói, sử dụng convertlệnh:

convert *.jpg pictures.pdf

Bạn sẽ nhận được một pdf duy nhất chứa tất cả jpg trong thư mục hiện tại.

Cài đặt IM với:

sudo apt-get install imagemagick

nguồn: stackoverflow

Chỉnh sửa: Lưu ý rằng hình ảnh sẽ không theo thứ tự cụ thể nếu chúng không được đánh số. nếu bạn có 10 hoặc nhiều hơn, bạn cần đặt tên cho chúng là filename01.jpg ... filename99.jpg, vv Các số 0 đứng đầu được yêu cầu để đặt hàng đúng. Nếu bạn có 100 hoặc hơn 001 ... 999.


1
Sử dụng joker không hiệu quả với tôi, tôi phải sử dụng giải pháp của @ Alex.
Eusebius

2
@Eusebius nếu ký tự đại diện không hoạt động với bạn với chuyển đổi, bạn có thể sử dụng một oneliner nhưfor f in *.jpg; do convert "$f" "$f.pdf"; done; pdftk *.pdf cat output final.pdf
Elder Geek

1
GrphicMagickngười dùng nên chạygm convert *.jpg pictures.pdf
michaelbn

Có thể các tệp jpg của tôi quá lớn và nhiều, nhưng làm điều đó gần như ngay lập tức tiêu tốn rất nhiều RAM đến mức hệ thống 16GB của tôi bắt đầu hoán đổi.
RonJohn

8
Lưu ý rằng phương pháp này bây giờ có thể dẫn đến một not authorizedlỗi; xem câu hỏi liên quan này (và câu trả lời) .
Jani Uusitalo

31
convert `ls -1v` file.pdf
  • Ls này sẽ liệt kê một tệp một lần theo "thứ tự tự nhiên" (1,2,3 ...) và tiến hành chuyển đổi.

1
Tôi đã thử điều này và nó đã không làm việc cho tôi. nhiều lỗi chỉ ra rằng nó có thể có liên quan đến khoảng trắng trong tên tệp.
Anh Cả Geek

5
Để xử lý vấn đề về không gian, trước tiên hãy thực hiện thay thế mẫu: cho ThisFile trong * .jpg; làm mv "$ ThisFile" "$ {ThisFile // / _}"> / dev / null 2> & 1; d
Simon Mattes

20

Đã làm việc cho tôi (NHƯNG cảnh báo! Tắt nén và kết quả là PDF sẽ lớn!):

convert page1.jpg page2.jpg +compress file.pdf

hoặc thậm chí:

convert -rotate 90 page\*.jpg +compress file.pdf

Từ ubuntuforums.org, +compressgiúp nó không bị treo. LƯU Ý: nén + tắt tắt nén. Máy tôi đang làm việc vào thời điểm đó dường như bị treo? Mãi mãi? (Tôi đã không chờ đợi mãi mãi để tìm hiểu.) Mà không có tùy chọn + nén. Mileage của bạn có thể thay đổi một chút! RTFM trên trang tùy chọn fantemagick.org , có thể thử nghiệm với -compress <type> nếu bạn gặp vấn đề về nén / treo chậm để tìm hiểu điều gì sẽ làm việc cho bạn.


13
KHÔNG sử dụng +compresstùy chọn với convertlệnh như được đề xuất ở trên! Nó thực sự vô hiệu hóa tất cả việc nén khiến bạn có tệp PDF lớn hơn 10 lần so với JPEG gốc. Chỉ cần không chỉ định các tùy chọn nén và convertsẽ đi với định dạng nén đầu vào (JPEG), trong trường hợp này là tùy chọn kích thước tệp tùy chọn tốt nhất. Nguồn: http://www.imagemagick.org/script/command-line-options.php#compress

Điều đó không trực quan! Cảm ơn S Minddal. Điều đó đã làm việc cho tôi. Tôi đoán rằng máy tôi đang sử dụng có vấn đề khi thực hiện nén. Tôi sẽ điều chỉnh câu trả lời.
gaoithe

2
vì vậy $ converet *.jpg file.pdfhoạt động tốt với kích thước tệp nhỏ hơn so với +compressđối số
tiến sĩ

18

Thật không may, convertthay đổi chất lượng hình ảnh trước khi "đóng gói" vào PDF. Vì vậy, để giảm thiểu chất lượng, tốt hơn là đưa bản gốc jpgvào PDF, bạn cần sử dụng img2pdf.

Tôi sử dụng các lệnh sau:

  1. Lệnh này là tạo một pdftệp ra khỏi mọi jpghình ảnh mà không làm giảm độ phân giải hoặc chất lượng:

    ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {} .pdf

  2. Lệnh này sẽ ghép các pdftrang thành một tài liệu:

    pdftk * .pdf đầu ra mèo kết hợp.pdf

  3. Và cuối cùng, tôi thêm một lớp văn bản OCRed không làm thay đổi chất lượng quét trong các tệp pdf để chúng có thể tìm kiếm được:

    kết hợp pypdfoc.pdf

    Một cách khác để sử dụng pypdfocr:

    ocrmypdf kết hợp.pdf kết hợp_oc.pdf


1
Phương pháp tuyệt vời! Nhược điểm duy nhất mà không nén sẽ là kích thước tệp .pdf kết quả sẽ rất cao (nghĩa là lớn hơn một chút so với tất cả các bức ảnh kết hợp). Nhưng đáng giá nếu tài liệu bạn đang chuyển đổi thực sự là một tài liệu quan trọng!
Gokul NC

1
Điều này hoạt động tốt sau khi convertthất bại với "cố gắng thực hiện một thao tác không được chính sách bảo mật` PDF '"cho phép.
Matthias Braun

12

Mở tệp jpg hoặc png với LibreOffice Writer và xuất dưới dạng PDF.

Tôi hy vọng, đây là cách đơn giản để xuất pdf.


Đúng! LibreOffice là cách tốt nhất để xuất các tệp hình ảnh sang PDF. Chúng tôi có toàn quyền kiểm soát đầu ra PDF, bao gồm bố cục trang, thay đổi kích thước các tệp đã nhập, tiêu đề và chân trang tùy chọn thêm ... Rất cám ơn người dùng359154 vì gợi ý thông minh!

8

Giải pháp sau đây cũng dựa trên ImageMagick convertnhưng phức tạp hơn một chút vì:

  • Nó cho phép tất cả các hình ảnh có kích thước khác nhau, trong khi vẫn giữ kích thước trang PDF đầu ra giống nhau (A4 trong ví dụ bên dưới).
  • Nó tập trung các hình ảnh trên trang PDF.
  • Nó cho phép bạn đảm bảo một không gian tối thiểu giữa viền hình ảnh và viền trang PDF, để cho phép in PDF mà không gặp vấn đề gì.
  • Nó không thay đổi dữ liệu hình ảnh. (Vì vậy, chất lượng hình ảnh không bị ảnh hưởng, tệp PDF có cùng kích thước tệp với hình ảnh và bạn có thể trích xuất lại hình ảnh gốc sau đó pdfimages -j file.pdf img.) Hiện tại, điều này chỉ hoạt động với PNG - xem nhận xét của @dma_k bên dưới .

Hướng dẫn:

  1. Sử dụng tập lệnh của tôi từ câu trả lời này để chuyển đổi từng hình ảnh thành tệp PDF một trang của riêng nó với kích thước trang A4 và viền 5% xung quanh.
  2. Nối tất cả các tệp PDF một trang của bạn với PDFtk như sau:

    pdftk *.pdf cat output out.pdf
    

2
Lệnh này cho thấy rằng (ít nhất là với các phiên bản được cung cấp trên Ubuntu 16,04) dữ liệu hình ảnh được ảnh hưởng:convert some.jpg -format pdf -compress jpeg generated.pdf ; pdfimages -j generated.pdf generated.pdf ; diff -sq some.jpg generated.pdf-000.jpg
Stéphane Gourichon

2
Tôi đã chơi với GraphicsMagick và tôi nhận thấy rằng nó thực hiện giải nén hình ảnh . Chất lượng của hình ảnh JPEG kết quả trên trang PDF kém hơn nhiều. Vì vậy, tại thời điểm này, cách an toàn nhất là thêm hình ảnh PNG - chúng được chèn chính xác. Xem bài này là tốt.
dma_k

-3

Tôi đã sử dụng http://convert-my-image.com/ Điều tích cực mà bạn có thể cung cấp (cùng một trang nhưng trang khác nhau) một kho lưu trữ hình ảnh và ghép chúng vào pdf phổ biến


3
Đề xuất này có ít nhất ba vấn đề: (1) nó sẽ bị chậm, do tải hình ảnh lên trang web và tải xuống bản PDF kết quả; (2) nó tiết lộ dữ liệu của bạn cho bất kỳ ai điều hành trang web đó và cho bất kỳ ai có thể vi phạm trang web đó và cho bất kỳ ai trên mạng; (3) nó không phải là một giải pháp dòng lệnh.
sampablokuper
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.