progs:photo-soft
Это старая версия документа!
Содержание
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 и новее.
$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" }
JPG -> PDF
### Сканы паспорта cd "C:\temp\passport" # Нужны не все файлы в папке, иначе можно было бы указать *.bmp для magick.exe $files = dir *.bmp |? basename -match 'img12[1-9]' # 200 dpi, формат А4, поля 400 пикселей, jpeg-сжатие качеством 60 & 'C:\scripts\ImageMagick\magick.exe' ` -density 200 $files.name ` -page A4 -bordercolor white -border 400 ` -compress jpeg -quality 60 ` C:\temp\output.pdf
Вариант с GhostScript. Не так удобно, как с imagick: конвертировать в jpg и делать список входящих файлов надо заранее, поля не задаются.
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"
DjVuLibre
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"
progs/photo-soft.1743952410.txt.gz · Последнее изменение: 06.04.2025 15:13 — viacheslav