Багатосторінковий pdf з набору jpg

Вітаю всіх. Формат PDF застосовується вже як стандарт в документообігу, багато програм вміють з ним працювати, створювати і т.д. Але в середовищі Linux я звернув увагу на те, що створювані багатосторінкові документи мають гігантський вага, особливо якщо включають зображення. Одна справа стосується офісних програм, там треба вміти ці зображення готувати, перш ніж вставляти в тексти, а інше - створення "чистих" багатосторінкових pdf файлів, що містять тільки зображення - скани документів - паспортів, ртудових, договорів і т.д. Програми, які вміють це робити гуішним способом, типу gThamb, ShowFoto, можуть сформувати pdf шляхом друку в файл кількох зображень. АЛЕ. Попередні якості урізані, розмір друку прив'язаний до набору форматів, і що не танцюй з бубном, виходять сторінки з прикріпленим зображенням і найнеприємніше - дуже великовагові, не дивлячись на вагу файлів. Та й танець з самими заготовками напружувала, я маю на увазі урізування розміру кожного скана або всіх оптом, адже, як правило, скануєш завжди в хорошій якості, щоб було.
А контрагенти, на кшталт сайтів держпослуг, виставляють відчутні обмеження до розміру файлу. А той же gThamb формує файл в мегабайт мало не з порожніх сторінок. Це і змусило мене шукати шлях створення багатосторінкового документа з необхідними параметрами найменш витратним способом.
І народився у мене такий ось скриптик. що складається з трьох - чотирьох невеликих команд. Працює він так:
Спочатку собіраетм в окрему папку необхідні зображення. Бажано, щоб вони мали більш-меньше одноманітні параметри розмірів і dpi, але, раз ми говоримо про стандартні документах, скани напевно будуть як під копірку. Обробляти файли попередньо не треба, якщо тільки вас не влаштовує чіткість, тон, то вам той же gThamb в допомогу. Просто зберіть всі необхідні файли в одній папці з нумерацією або назвами в такому порядку, щоб вони в кінцевому документі розташувалися за алфавітом / зростанню. Тепер в цю папку копіюємо файл скриптик. В його назві вбудовано "ZZ" для того, щоб і сам скрипт, і створений файл zz_Output.pdf розташувалися в кінці списку або вікна з іконками, тобто для зручності, а не на честь групи ZZ-Top. Хоча, їм теж респект. У властивостях файлу треба дати йому право бути виконуваним, (хрестик в пункті "виконання" у вкладці "властивості" / "права". Все, скрипт готовий виконувати ваші бажання.
Подвійний клік по ньому викличе меню вибору - відкриття в терміналі і просто виконання - крайні кнопки, викличуть процес формування папки в каталозі з заготовками, створення там оброблених за розміром та якістю файлів всіх зображень, які перебувають в базовому каталозі і створення їх цих файлів багатосторінкового pdf документа поряд з файлом скрипта. Обсяг кінцевого файлу легко регулюється зміною значень обсягу і якості в самому скрипті. Для цього треба скрипт не сповнити, а вибрати кнопку "показати" в меню після подвійного по файлу кліка. Там, в самому файлі є невелика інструкція (за пешеточкамі). Зрозуміло, що чим менше значення цифр, тим легше кінцевий файл, але сильно не захоплюйтеся, а то отримаєте квадратики з японських фільмів для дорослих. Виставлені за замовчуванням параметри дозволяють отримати з п'яти трехмегабайтних файлів скан паспорта один .pdf в 240 кілобайт з цілком собі читаним і друкувати якістю.
Створену папку зі стиснутим зображеннями можна залишити на потім або видалити вручну, але, якщо в тексті скрипта прибрати грати перед rm -r конвертувати (останній рядок), то відразу після створення необхідного файлу скрипт буде видаляти її сам. зручно для акуратист.
Скрипт заснований на командах живе в системі сервісу ImageMagic. І їх там дуже багато смачних і різних. Чесно, не знаю, з якої версії Мінта він там живе, але як мінімум з Наденьки (16) цілком собі дієздатний. В іншому випадку, думаю, врятує установка ImageMagic стандартним менеджером програм.
Гідність цієї утилитки - дуже швидка робота, створення pdf дуже небагато відрізняється від початкового файлу за розміром.
Наостанок гавкоту сам скрипт, якщо не хочеться щось звідкись качати. Просто створіть текстовий файл, обізву його "мій супермегапуперскріпт" і обов'язково розширення .sh, у властивостях позволльте бути виконуваним, і скопіюйте туди нижчерозташованими текст. Як бачите, робоча частина - тільки останні пара рядків, решта - інструкції і лірика.


# Мій скриптик ZZ для конвертації jpg зображень після сканування, зменшення розміру та якості і створення маловагої PDF файлу. ZZ - тому, що зручно знайти його і кінцевий файл в кінці списку або останнім в іконах в папці, в якій проводиться конвертація. Скрипт копіюється в парку, де зібрано вихідні зображення. Вони повинні бути проіменовани або названі загальним ім'ям з цифрою в потрібній послідовності. Інакше скрипт розподілить їх за алфавітом.
# Параметр resise - зміна розміру наприер, 40% - з вихідного 2100 * 1500 до 800 * 600
# *. * Або filename *. * -все або мають загальне імена файлів, які треба конвертувати, j - перехідний ім'я файлів виду j-№ які будуть створені у новоствореній папці "конвертувати". Якщо по виконанню завдання цю папку треба автоматично видалити, видаліть з скрипта решеточку перед "rm -r конвертувати" в останньому рядку.
# Zz_Output - вихідна ім'я файлу. Буде створено в базовій папці.
# Параметр quality - якість зображення, при значенні в 60% змінює приблизно з 300 до 200 dpi і впливає на розмір.
# Загальне зменшення розміру при значеннях в 40 і 60% змінює загальну вагу з 16 Mb в папці до 240 Kb в багатосторінковому PGF файлі при збереженні читабельності і достатнього друкованого якості.
mkdir конвертувати; convert *. * -resize 40% -quality 60 ./Сконвертірованное/j.jpg; convert ./Сконвертірованное/j*.* zz_Output.pdf;
# Rm -r конвертувати

Очі бояться, а руки - крюки.

Свіжий Вітер, вітаю. ) Де пропадали? невже довгоногі і глазастенькая користувачі настільки спантеличують в офісі що часу на лінукс-форумах не залишається.
собсно респект за скриптик, а в свою чергу ща. свої міркування висловлю, тільки ще дещо чого перевірити треба.

"Хіба це не ти вибираєш Linux, а Linux вибирає тебе"
(С) Себастьян Перейра, торговець чорним деревом

покрутив скрипти. спробував. ну і ось які міркування.
Почну мабуть з уточнень і того що з'ясувалося в процесі нелюдських дослідів

Багатосторінковий PDF з набору JPG


скрипт робить багатосторінковий PDF не тільки з набору JPG, але і з купки інших форматів зображень - PNG, TIFF, TGA, BMP, PIX, PSD, GIF, PDF. можливо і інші формати підходять, це ті що випробував.
відмовився конверт ORA.
Ну і нюанс за форматами - багатошарові формати (в т.ч. анімований GIF) видадуть у вихідний PDF кожен шар окремою сторінкою.
PSD -. незважаючи що при відкритті в Гімпу показував наявність одного шару після конверта в pdf видавав однакові 2 сторінки.
PNG і інші формати підтримують прозорість - в результаті конверта в JPG перед складанням ПДФ-ки прозоре заливається чорним. (Якщо проміжне конвертування в папку конвертувати робити не jpg, а в png то прозорість заливається білим).

Але все це дрібниці, оскільки основними форматами фото і відсканованих на сканері папірців є як правило JPG, PNG, дехто на сканах воліє TIFF, і як правило ніяких прозоростей на цих зображеннях немає.

Свіжий Вітер писал (а):. зберіть всі необхідні файли в одній папці. Тепер в цю папку копіюємо файл скриптик.
. Подвійний клік по ньому викличе меню вибору - відкриття в терміналі і просто виконання - крайні кнопки, викличуть процес формування.

краще скопіювати скриптик в

/.config/caja/scripts якщо у вас mate або в

/.local/share/nemo/scripts якщо cinnamon і зайшовши в ФМ в папку з підготовленими для конверта в pdf картинками клацнути ПКМ -Сценаріі- і клац по шуканого скриптик конвертації.

Свіжий Вітер писал (а): Створену папку зі стиснутим зображеннями можна залишити на потім або видалити вручну, але, якщо в тексті скрипта прибрати грати перед rm -r конвертувати (останній рядок), то відразу після створення необхідного файлу скрипт буде видаляти її сам.

имхо, краще відразу в сріпте "активувати" видалення цієї папки. чого вже у себе і зробив.

Свіжий Вітер писал (а): Обсяг кінцевого файлу легко регулюється зміною значень обсягу і якості в самому скрипті. Для цього треба скрипт не сповнити, а вибрати кнопку "показати" в меню після подвійного по файлу кліка.

"Хіба це не ти вибираєш Linux, а Linux вибирає тебе"
(С) Себастьян Перейра, торговець чорним деревом

colonel, Приголомшлива продуктивність і дуже приємна увага до теми. поступово вникаю в суть відповідей і пропозицій.
Bill Williamson, велосипеди різні потрібні і іноді з моторчиками) дуже хотів випробувати прогу, але не зміг, так як вона чомусь не заводиться на 18.1. пише, що встановлено, в меню сидить, але при натисканні крутиться ромашка з хвилину і тиша. Система більш менш свіжа, не ламалася раніше.

пи си. як цікаво тут працює кнопка "краща відповідь. Я думав, colonel-у просто медаль дадуть, або якось текст в грамоту оформлять, а тут ось воно че, в сам топік вставляє. Ось де придумали.

Очі бояться, а руки - крюки.

Chocobo писал (а): Введення значень, або вибір файлів можна організувати за допомогою нескладних утиліт: dialog для псевдографіки в терміналі або zenity для графічних віконець - і те й інше корисна штука для підвищення юзабіліті підручних скриптів.

Chocobo. ось як раз варіант з віконцями zenity застосував
- вікно вибору проміжного формату jpg-png (при замовчуванні - ipg)

"PNG і інші формати підтримують прозорість - в результаті конверта в JPG перед складанням ПДФ-ки прозоре заливається чорним. (Якщо проміжне конвертування в папку конвертувати робити не jpg, а в png то прозорість заливається білим)."

Ессен застосування проміжного формату png вихідний файл.
-і пара віконець "-ползунков для установки" розміру "і" якості "(параметри resize quality) з установками за замовчуванням
(Змінити значення замовчувань нескладно підредагувавши текст скриптик)

"Хіба це не ти вибираєш Linux, а Linux вибирає тебе"
(С) Себастьян Перейра, торговець чорним деревом

Свіжий Вітер писал (а): пристрасть як хочеться в одному вікні обидва повзунка мати. поки не наздогнав, як реалізувати.

з тієї ж причини у мну повзунки по черзі
і так. в процесі "дослідів" в зв'язку з нюанс ( "і нюанс за форматами - багатошарові формати (в т.ч. анімований GIF) видадуть у вихідний PDF кожен шар окремою сторінкою") виявилася можливість до вже готового ПДФ додавати сторінки (в кінець або в початок в залежності як імена перед конвертінгом призначити)
собсно в скрінкасти показано буде.

ps
той же нюанс (при необхідності. якщо треба зменшити розмір вихідного файлик) дозволяє при відсутності початкових кодів переконвертіть pdf з іншими параметрами.

Відправлено через 33 хвилини 28 секунд:
зи2
(З приводу "називається це диво XnView MP)

малий того що "це чудо що називається XnView MP" відсутній в репах за замовчуванням в мінт18.1, і того, що може і не запрацювати після установки не кращим чином
при всёй чудово і навороченності цього просмотщіка картинок в питанні швидкого створення він всеж поступається такому маленькому скриптик що був запропонований Свіжим Вітром.
якщо конкретніше, то.
1. XnView MP вимагає додаткових дій для доустановки програми. для роботи скрипта вже все є.
2. Для створення ПДФ в XnView MP потрібно запуск самої програми і та робота в ній
3.формати в яких пропонується зберігати файли отсканенних документів можна подивитися ось на цьому скрині

і тепер дивимося як і з яких форматів "чудо" і скриптик роблять багатосторінковий ПДФ

ну і в догонку скрін з великою кількістю форматів і як. що, з чим працює

розумію що в більшості випадків вихідні картинки можуть бути в jpg, але. це в фото, а ось скани багато роблять в tiff. рідше в png.
і ще, зіткнувся з такою штукою - щоб зробити ПДФ в XnView MP з вихідних .png в цьому ж самому XnView MP пакетно переконвертіл png в jpg, однак "це чудо" відмовилося робити ПДФ-ку з отриманих jpg. (Точніше не відмовилося, а як на скронях вище видно, зробило ПДФ з чистими сторінками)

Ну і.
4. в # 12 (вище) писав. що "виявилася можливість до вже готового ПДФ додавати сторінки (в кінець або в початок в залежності як імена перед конвертінгом призначити)" і що якщо при необхідності зменшити розмір вже наявного готового файлик (при відсутності вихідних текстів) скриптик дозволяє переконвертіть це pdf з іншими параметрами ( не завжди це може привести до необхідного результату за якістю але все ж)
XnView MP так не вміє.

Відправлено через 17 хвилин 40 секунд:

оффтопно повертаючись до першого повідомлення

Свіжий Вітер писал (а):. в середовищі Linux я звернув увагу на те, що створювані багатосторінкові документи мають гігантський вага, особливо якщо включають зображення. Одна справа стосується офісних програм, там треба вміти ці зображення готувати, перш ніж вставляти в тексти, а інше - створення "чистих" багатосторінкових pdf файлів, що містять тільки зображення - скани документів - паспортів, ртудових, договорів і т.д. Програми, які вміють це робити гуішним способом, типу gThamb, ShowFoto, можуть сформувати pdf шляхом друку в файл кількох зображень. АЛЕ. Попередні якості урізані, розмір друку прив'язаний до набору форматів, і що не танцюй з бубном, виходять сторінки з прикріпленим зображенням і найнеприємніше - дуже великовагові, не дивлячись на вагу файлів.

в ЛібреОфісе додав в текстовий документ 3 ськана кожен вагою 10мб по картинці на сторінку (підсумковий odt вийшов в 31мб), в меню експорту в pdf налаштував стиснення. в результаті отримав многостранічкуPDF розміром в 322kb.
Але повозитися довелося. хоча картинку готує спеціально для вставки не довелося але знадобилося і поля розсовувати. і картинку в ці поля вганяти (розтягувати) і настройку стиснення в меню ставити. і з гальмівного все працювало через великі картинок.

"Хіба це не ти вибираєш Linux, а Linux вибирає тебе"
(С) Себастьян Перейра, торговець чорним деревом

Свіжий Вітер писал (а): По скрипту, трохи не вистачає бар з індикатором виконання, типу цього -
. zenity --warning --timeout =.
.
це актуально для великих обсягів, а то він мовчки все робить, хочеться втрутитися.

на мою зайве і не варто перевантажувати скрипти. тим більше що поки йде робота з конвертування у відкритій папці з картинками гордо "світиться" папка конвертувати,
а ось сигналізатором закінчення процесу легко зробити згадане вами вікно "Скасування".
для чого в скрипті після рядків
rm -r конвертувати

помістити ось такий запис
zenity --warning --timeout = 7 --title = "" \
--text = "Операція конвертації завершена"

Свіжий Вітер писал (а): І підправити, щоб натискання на "скасування" у вікнах взагалі відбивало завдання з видачею віконця "скасовано користувачем".

спробуємо прикрутити. так щоб після першого ж натискання в вікнах на "Скасувати" не було переходу на наступні вікна і робота скрипта преривалссь з висновком "скасовано користувачем".
можливо вийде.
миж НЕ програмер, а всього лише colonel. якому належить вміти правильно знайти місце де розписатися.

"Хіба це не ти вибираєш Linux, а Linux вибирає тебе"
(С) Себастьян Перейра, торговець чорним деревом

можна, можливо. можна, можливо. да ніззя
пріфігачіл всеж прогрес бар. але щоб полегшити собі завдання і не шукати яким чином вивуджувати відомості про% виконання, обмежився (--pulsate --auto-close) індикацією пульсації нна період поки йде процес конвертації (окремо для проміжного перетворення в jpg або png. і окремо на процес конвертації в PDF.
ессно після закінчення процесу вискакує віконце з повідомленням про закінчення

І так ще, пару змін зробив:
- ім'я вихідного файлу присвоюється за іменем папки де розміщені вихідні для PDF картинки / скани з додаванням дати-часу створення). Ось тільки ім'я це не повинно прогалин містити інакше обрізане. Замість прогалин можна або "-" (дефіс \ тире) або таку нижню межу "_" поставити.
- змінив трохи вид віконець (підписів в них)
-видалив пару. як виявилося зайвих рядків.

І ще, по роботі скрипта.
При перериванні \ для переривання процесу досить хоч один раз в будь-якому з віконець установки параметрів вибрати "скасування" і вихідного файлу не вийде. Але тепер залишилося незручність, що все одне всі вікна будуть відриватися і для повного припинення роботи скрипта доводиться кілька разів клацати мишкою. І ессно без віконечка про переривання процесу.

"Хіба це не ти вибираєш Linux, а Linux вибирає тебе"
(С) Себастьян Перейра, торговець чорним деревом

colonel, Бліін, як здорово! Спасибі величезне за участь. Дуже красива і корисна штука вийшла.

Очі бояться, а руки - крюки.

Повернутися в «Офіс і документи»

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 0 гостей

Схожі статті