Intereting Posts
Смонтируйте / etc из диска в squashfs Найти, где символ общей библиотеки, определенный в живой системе, / список всех символов, экспортированных в систему Как разбить две папки по инодам Нужна ли мне приятная работа на виртуальной машине? Виртуальные сетевые интерфейсы. Увеличение и уменьшение каждые 15 секунд. Как mount определяет параметры установки по умолчанию для вновь подключенных файловых систем? Почему команда «ls» * «" ничего не показывает? Почему работает определение встроенной переменной, но предыдущая строка не используется для команды aws? Печать всех строк файла с несколькими столбцами в сценарии оболочки как вставить много похожих записей в mysql за раз? Нет, я не хочу постоянных сетевых правил rsync: двоеточие в именах файлов Использование Ctrl + для переключения между окнами с помощью tmux Как использовать пленный портал в текстовом режиме? AWK для создания CSV-файла

Автоматическая печать изображений с добавленными надписями

У меня много отсканированных изображений и изображений / фотографий, над которыми я работаю с несколькими версиями. Когда я печатаю их (используя различные программы), все, что я получаю, – это изображение, и, часто, трудно сказать, какое изображение появилось из какого файла. Это особенно неприятно для моих фотографий (27K), когда у меня есть печать, и вы хотите другую копию и не можете ее найти. (Фотографии находятся в KPhotoAlbum, поэтому я могу найти меньшинство, которое я действительно отметил правильно).

Я бы хотел, чтобы это была утилита, которая бы печатала кучу изображений (например, doit * .jpg) и включала автоматическую (сгенерированную программой) подпись (надеюсь, настраиваемую) с чем-то вроде полного пути к файлу в ней. gnome-фото-принтер был бы идеальным, если бы у него была возможность распечатать полные пути изображений с ними.

Мне нужно это, пока проекты продолжаются и для очистки после этого. Это не для «окончательных» изображений.

Было бы здорово (и экономично), если бы я мог указать размер печати изображения, потому что, как правило, меньших изображений «миниатюр» может быть достаточно для организации / очистки, и они сэкономили бы кучу времени, бумаги и чернил / тонер.

Я знаю, что я мог бы вручную создать документ со встроенной картиной в чем-то вроде LO-записи, но это было бы полностью ручным (по крайней мере, с моим уровнем знаний) и, следовательно, очень медленным.

Было бы особенно приятно иметь надпись «вне» картинки, чтобы она не мешала содержимому, поэтому я мог контролировать цвет фона и шрифта для удобства чтения.


Я понял (в принципе), как построить что-то подобное в bash, используя конвертировать пару раз вместе с композитным (оба из ImageMagick), но он довольно запутан, и я надеюсь на что-то более простое.

Вы можете посмотреть на feh ( http://feh.finalrewind.org/ ), у которого есть опция -caption-path:

--caption-path PATH Path to directory containing image captions. This turns on caption viewing, and if captions are found in PATH, which is relative to the directory of each image, they are overlayed on the displayed image. eg with caption path "captions", and viewing image images/foo.jpg, caption will be looked for as "images/cap- tions/foo.jpg.txt" 

Вы даже можете редактировать подписи при просмотре изображения:

  c, C Caption entry mode. If --caption-path has been specified, then this enables caption editing. The caption will turn yellow and be editable, hit enter to confirm and save the caption, or hit escape to cancel and revert the caption. 

К сожалению, вы не можете выбрать цвет, положение или размер надписи, поэтому его использование ограничено.

EDIT: мои комментарии были на 1.3.4. В последней версии есть дополнительные опции для титров.

Добавив ссылку на мой собственный вопрос: xv-подобный просмотрщик изображений, который позволяет мне аннотировать / отмечать изображения?

Возможно, вы можете использовать следующую команду в качестве отправной точки

 find -name "test.png" -exec mogrify -draw "text 0,0 '$(pwd)/{}'" -gravity SouthWest "{}" \; 

Сначала он ищет определенные файлы (здесь test.png), а затем выполняет команду mogrify (часть ImageMagick), чтобы поместить на нее текст. Это поместит текст в левый нижний угол изображения. Возможно, вы также можете поставить его за пределы фигуры, но, возможно, кто-то может дать намек на то, чтобы точно определить это.

Вы также можете identify вывод из изображения внутри изображения, тогда вы должны сделать что-то вроде этого:

 find -name "test.png" -exec bash -c 'mogrify -draw "text 0,0 \"$0$(identify $1)\"" -gravity SouthWest $1' $(pwd) "{}" \; 

Где -exec выполняет bash , который также принимает аргументы.

редактировать

После повторного чтения вашего сообщения, я замечаю, что я ответил только на часть ваших вопросов. Что не так с циклом над файлами и выполнением некоторых команд в цикле? Что-то вроде

 for picture in $(find -name "*.jpg") do label=$(identify $picture) mogrify ... $label .. print $picture done 

Хорошим подходом было бы создание документа на каком-либо языке разметки, который включает в себя изображения как внешние файлы и содержит титры.

HTML – это простой язык разметки. С другой стороны, это может быть трудно заставить печатать так, как вам нравится: HTML был разработан для гибкого отображения в веб-браузерах, а не для красивой печати. Вот сценарий оболочки с доказательством концепции, чтобы генерировать HTML-файл, содержащий картинки и их описания.

 #!/bin/bash cat <<'EOF' <html> <head><title>My pictures</title></head> <body> EOF for file_name; do file_name=${file_name//\&/'&amp;'} file_name=${file_name//\"/'&quot;'} file_name=${file_name//\</'&lt;'} file_name=${file_name//\>/'&gt;'} echo "<p><img src=\"$file_name\"><br>$file_name" done cat <<'EOF' </body> </html> EOF 

Возможно, вы захотите проанализировать метаданные EXIF ​​и распечатать интересную информацию, такую ​​как дата и местоположение, если они есть. У нас есть несколько существующих тем, на которые вы можете ссылаться для предложений программ, примеров кода и вдохновения: Распечатайте определенные значения данных изображения Exif с помощью exiv2 , Как я могу переименовать фотографии, учитывая данные EXIF? , Фильтрация сценариев оболочки через атрибуты файлов jpg

Если вы хотите больше контролировать внешний вид печатаемого документа, вы можете создать источник LaTeX. LaTeX позволяет легко создавать красивые документы, но только после начального периода обучения. Пакет галереи изображений предназначен для простого оформления галереи; в файле примера укажите, как указать изображения для включения. Чтобы сгенерировать PDF легко, поместите image-gallery.cls и ваш файл my-gallery.tex в текущий каталог (вместе с файлом .txt содержащим список изображений) и запустите pdflatex my-gallery .