Содержание

ImageMagick

Справка по CLI: https://imagemagick.org/script/command-line-options.php
Скачать: https://imagemagick.org/script/download.php#windows

Решение проблем

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 и новее.

$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)"
} 

https://stackoverflow.com/questions/28025017/how-to-store-description-in-jpeg-image

Пример содержимого текстового файла:

762 - Фото 26/X - 52 г. На память тете и дяде и сестре Любе от племянника Вовы.
763 - Чуркино, июнь 1952 г.
764 - Иван, родной брат Марии. 1915 г.
767-2 - Александра Павловна с мужем
769-2 - Лидия Павловна

Имена сканов:

img689.bmp
img690.bmp
img691.bmp
img692-1.bmp
img692-2.bmp
img692-3.bmp

RAW -> JPG

# Изменять размер только если картинка больше 1920 по какой-либо из сторон. Пропорции сохраняются.
# Учитывать ориентацию (чтобы jpg не были перевёрнутыми).
dir *.arw |% {
& magick.exe $_.fullname -auto-orient -resize 1920x1920> -quality 51 "D:\temp\in\ARW\$($_.basename).jpg"
}

DjVuLibre

https://djvu.sourceforge.net/
Документация: https://djvu.sourceforge.net/doc/index.html

djvu -> tiff

Каждая страница в отдельный файл

& "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"