Инструменты пользователя

Инструменты сайта


progs:photo-soft

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
progs:photo-soft [15.09.2021 17:24] – создано viacheslavprogs:photo-soft [07.04.2025 08:51] (текущий) – [JPG -> PDF] viacheslav
Строка 1: Строка 1:
 +====== ImageMagick ======
 +Справка по CLI: https://imagemagick.org/script/command-line-options.php\\
 +Скачать: https://imagemagick.org/script/download.php#windows\\
 +Примеры использования: https://usage.imagemagick.org/
 +
 +
 +
 +===== Решение проблем =====
 +==== magick.exe: TIFF: negative image positions unsupported ====
 +Tif can't store negative offsets, so ''+repage'' is the usual cure for this.
 +===== Задачи =====
 +==== Конвертация bmp → jpg и запись комментариев внутрь jpg из текстового файла ====
 +
 +Для PS7 и новее.
 +<code powershell>
 +$folder = "C:\Users\jjj\Pictures\Альбом"
 +$info = gc "$folder\!Альбом.txt" -encoding 1251
 +cd $folder
 +
 +# Качество 2-31, меньше лучше, но больше по размеру
 +dir $folder -Filter "*.bmp" |ForEach-Object -Parallel {
 +& ffmpeg -i "$($_.fullname)" -q:v 3 "$($_.basename).jpg"
 +} -ThrottleLimit (gcim win32_processor).ThreadCount
 +
 +# Пропись комментариев
 +$jpgs = dir "$folder" -Filter "*.jpg"
 +$info |% {
 +    & "C:\scripts\ImageMagick\mogrify.exe" -comment "$($_ -replace '^\d+-?\d? - ')" "$(($jpgs |? name -match ($_ -split ' - ')[0]).FullName)"
 +
 +</code>
 +https://stackoverflow.com/questions/28025017/how-to-store-description-in-jpeg-image
 +
 +Пример содержимого текстового файла:
 +<code>
 +762 - Фото 26/X - 52 г. На память тете и дяде и сестре Любе от племянника Вовы.
 +763 - Чуркино, июнь 1952 г.
 +764 - Иван, родной брат Марии. 1915 г.
 +767-2 - Александра Павловна с мужем
 +769-2 - Лидия Павловна
 +</code>
 +
 +Имена сканов:
 +<code>
 +img689.bmp
 +img690.bmp
 +img691.bmp
 +img692-1.bmp
 +img692-2.bmp
 +img692-3.bmp
 +</code>
 +
 +==== RAW -> JPG ====
 +<code powershell>
 +# Изменять размер только если картинка больше 1920 по какой-либо из сторон. Пропорции сохраняются.
 +# Учитывать ориентацию (чтобы jpg не были перевёрнутыми).
 +dir *.arw |% {
 +& magick.exe $_.fullname -auto-orient -resize 1920x1920> -quality 51 "D:\temp\in\ARW\$($_.basename).jpg"
 +}
 +</code>
 +
 +==== JPG -> PDF ====
 +<code powershell>
 +### Сканы паспорта
 +cd "C:\temp\passport"
 +# Нужны не все файлы в папке, иначе можно было бы указать *.bmp для magick.exe
 +$files = dir *.bmp |? basename -match 'img12[1-9]'
 +# 150 dpi, формат А4 (210x297mm / 8.27x11.69in / 595x842pt), поля 300 пикселей, jpeg-сжатие качеством 70
 +$dpi = 150
 +$a4 = "$(8.27*$dpi)x$(11.69*$dpi)"
 +
 +& "C:\scripts\ImageMagick\magick.exe" `
 +$files.name -bordercolor white -border 300 `
 +-resize $a4 -gravity center -extent $a4 `
 +-compress jpeg -quality 70 `
 +"C:\temp\output$dpi.pdf"
 +</code>
 +https://acavalin.com/p/images_to_a4pdf
 +
 +Вариант с GhostScript. Не так удобно, как с imagick: конвертировать в jpg и делать список входящих файлов надо заранее, поля не задаются.
 +<code powershell>
 +cd "C:\temp\passport"
 +$jpgs = ((dir *.jpg).name |% { "`($_`) viewJPEG showpage" }) -join ' '
 +
 +& 'C:\scripts\Ghostscript\bin\gswin64c.exe' `
 +-dNOSAFER -dNOPAUSE -dBATCH `
 +-sPAPERSIZE=a4 -sDEVICE=pdfwrite -o C:\temp\output.pdf `
 +C:\scripts\Ghostscript\lib\viewjpeg.ps `
 +-c "$jpgs"
 +</code>
 +====== DjVuLibre ======
 +https://djvu.sourceforge.net/\\
 +Документация: https://djvu.sourceforge.net/doc/index.html
 +
 +===== djvu -> tiff =====
 +Каждая страница в отдельный файл
 +<code powershell>
 +& "C:\Program Files (x86)\DjVuLibre\ddjvu.exe" -format=tiff -eachpage -skip `
 +"C:\temp\in\U_himii_svoi_zakonyi.djvu" "c:\temp\in\U_himii_svoi_zakonyi%03d.tiff"
 +</code>
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki