Перетворіть каталог файлів JPEG в один документ PDF


242

У мене є багато файлів JPEG в каталозі, і я хочу їх перетворити в PDF і об'єднати їх, щоб зробити єдиний документ.

Як це можна зробити?

Я вважаю за краще використовувати командний рядок, оскільки цей процес пройде швидше.

Відповіді:


358

У imagemagickпакеті використовуйте convertкоманду:

convert *.jpg pictures.pdf

Ви отримаєте один pdf, що містить усі jpg у поточній папці.

Встановити чат за допомогою:

sudo apt-get install imagemagick

джерело: stackoverflow

Редагувати: Зауважте, що зображення будуть не в певному порядку, якщо вони не будуть пронумеровані. якщо у вас є 10 і більше, вам потрібно назвати їх із закінченням filename01.jpg ... filename99.jpg тощо. Провідні нулі потрібні для правильного замовлення. Якщо у вас 100 або більше 001 ... 999.


1
Використання джокера для мене не вийшло, мені довелося використовувати рішення @ Alex.
Євсевій

2
@Eusebius, якщо макіяж не працює для вас з конвертацією, ви можете використовувати oneliner типуfor f in *.jpg; do convert "$f" "$f.pdf"; done; pdftk *.pdf cat output final.pdf
Elder Geek

1
GrphicMagickКористувачі повинні запуститиgm convert *.jpg pictures.pdf
michaelbn

Можливо, мої файли jpg занадто великі та численні, але при цьому майже відразу витрачено стільки оперативної пам’яті, що моя система 16 Гб почала мінятися.
RonJohn

8
Зауважте, що цей метод може призвести до not authorizedпомилки; див. це пов'язане питання (та відповіді) .
Яні Уусітало

31
convert `ls -1v` file.pdf
  • Цей список буде перераховувати один файл у раз у "природному порядку" (1,2,3 ...) та переходити до перетворення.

1
Я спробував це, і мені це не вийшло. численні помилки вказують на те, що це може мати щось спільне з пробілами у назви файлів.
Старійшина Гейк

5
Щоб подбати про проблему з пробілами, спочатку виконайте заміну шаблону: для ThisFile в * .jpg; do mv "$ ThisFile" "$ {ThisFile // / _}"> / dev / null 2> & 1; d
Саймон Маттес

20

Працювало для мене (Але попередження! Вимикає стиснення, і отриманий PDF-файл стане великим!):

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

або навіть:

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

На ubuntuforums.org +compressдопомагає не зависати. ПРИМІТКА: + компрес вимикає стиснення. Машина, над якою я працював у той час, здавалося, зависла? Назавжди? (Я не чекала вічно, хоча дізнаюся.) Без опції + стиснення. Твій пробіг може дуже відрізнятися! Опція RTFM на imagemagick.org -компресуйте , можливо, експериментуйте з -compress <type>, якщо у вас проблеми з стисненням / вивільненням, щоб дізнатися, що буде працювати для вас.


13
НЕ використовуйте +compressпараметр з convertкомандою, як було запропоновано вище! Він фактично вимикає все стиснення, залишаючи вам PDF-файл у 10 разів більший, ніж оригінальний JPEG. Просто не вказуйте параметри стиснення, і convertбуде використовуватися вхідний формат стиснення (JPEG), який у цьому випадку є найкращим варіантом розміру файлу. Джерело: http://www.imagemagick.org/script/command-line-options.php#compress

Це не інтуїтивно! Дякую S Minddal Це спрацювало для мене. Я припускаю, що машина, якою я користувався, тоді мала проблему робити компресію. Я скорегую відповідь.
gaoithe

2
так $ converet *.jpg file.pdfдобре працювали з меншим розміром файлів, ніж з +compressаргументом
докторат

18

На жаль, convertзмінює якість зображення перед тим, як "упакувати" його в PDF. Отже, щоб мати мінімальну втрату якості, краще помістити оригінал jpgу PDF, який потрібно використовувати img2pdf.

Я використовую ці команди:

  1. Ця команда - створити pdfфайл із кожного jpgзображення, не втрачаючи ні роздільної здатності, ні якості:

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

  2. Ця команда об'єднає pdfсторінки в один документ:

    pdftk * .pdf вихідний код у поєднанні.pdf

  3. І нарешті, я додаю текстовий шар OCRed, який не змінює якість сканування в pdfs, щоб їх можна було шукати:

    pypdfocr комбінований.pdf

    Альтернатива використанню pypdfocr:

    ocrmypdf комбінований.pdf комбінований_ocr.pdf


1
Чудовий метод! Єдиним недоліком без стиснення буде те, що отриманий .pdf розмір файлів буде дуже високим (тобто трохи більшим, ніж усі фотографії разом). Але варто того, якщо документ, який ви конвертуєте, дійсно важливий!
Гокуль NC NC

1
Це спрацювало чудово, коли convertне вдалося виконати "спробу виконати операцію, не дозволену політикою безпеки" PDF ".
Маттіас Браун

12

Відкрийте jpg або png файл за допомогою LibreOffice Writer та експортуйте у форматі PDF.

Сподіваюся, це простий спосіб експорту pdf.


Так! LibreOffice - найкращий спосіб експорту файлів зображень у PDF. Ми повністю контролюємо вихід PDF-файлу, включаючи макет сторінки, зміну розміру імпортованих файлів, необов'язкові заголовки та колонтитули та інше ... Велике спасибі користувачеві359154 за розумну пропозицію!

8

Наступне рішення також покладається на ImageMagick, convertале є дещо складнішим, оскільки:

  • Це дозволяє всім зображенням мати різні розміри, зберігаючи розмір вихідної PDF сторінки однаковим (A4 у прикладі нижче).
  • Він центрує зображення на сторінці PDF.
  • Це дозволяє гарантувати мінімальний простір між межами зображень та межами сторінки PDF, що дозволяє друкувати PDF без проблем.
  • Це не змінює дані зображення. (Тому якість зображення не впливає, файл PDF має приблизно такий же розмір файлу, що і зображення. Ви можете витягнути оригінальні зображення пізніше pdfimages -j file.pdf img.) На даний момент це працює лише з PNG - дивіться коментар @dma_k нижче .

Інструкції:

  1. Використовуйте мій сценарій з цієї відповіді, щоб перетворити кожне зображення у власний односторінковий PDF-файл із розміром сторінки формату A4 та 5% межею навколо.
  2. Об’єднайте всі PDF-файли на одній сторінці за допомогою PDFtk таким чином:

    pdftk *.pdf cat output out.pdf
    

2
Ця команда показує , що ( по крайней мере , з версіями , що поставляються на Ubuntu 16.04) даних зображення є вплив:convert some.jpg -format pdf -compress jpeg generated.pdf ; pdfimages -j generated.pdf generated.pdf ; diff -sq some.jpg generated.pdf-000.jpg
Стефан Горічон

2
Я грав у GraphicsMagick, і я помітив, що він виконує рекомпресію зображень . Якість одержуваного зображення JPEG на сторінці PDF значно гірша. Тож на даний момент найбезпечнішим способом є додавання зображень PNG - вони вставлені правильно. Дивіться також цю публікацію .
dma_k

-3

Я використав http://convert-my-image.com/ Позитив, що ви можете надати (той самий сайт, але іншу сторінку) архів зображень і об'єднати їх у загальний pdf


3
Ця пропозиція має щонайменше три проблеми: (1) це буде повільно, через завантаження зображень на веб-сайт та завантаження отриманого PDF; (2) він передає ваші дані тому, хто керує цим веб-сайтом, і будь-кому, хто, можливо, порушив цей веб-сайт, і будь-кому, хто працює в мережі; (3) це не рішення командного рядка.
sampablokuper
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.