Всем привет.
Буду признателен за идеи по решению следующей задачи: на почту сотруднику приходят уже готовые PDF файлы (от коллег, контрагентов и т.д.). Его задача распечатать документ, поставить на нем штамп и снова сохранить в базу. Как можно вставить картинку в файл PDF?
Вставить картинку - это в смысле отсканировать печать и совмещать её с приходящим PDF файлом?
тут либо все ручками как вариант (открыли pdf. закинули на него png печати - сохранили)
либо автоматизировать при помощи утилит (но тогда печать может не совпасть с местом для печати, тк входящий документ может быть разной длины)
Как с минимальными усилиями объединить 2 jpg в один - по ссылке разбирается пример как объединить два файла в один.
Цитата:
консольная утилита convert.exe из пакета ImageMagic
ключ -append
(This option creates a single image where the images in the original set are stacked top-to-bottom. If they are not of the same width, any narrow images will be expanded to fit using the current {-background} color setting. Use {+append} to stack images left-to-right. The set of images is terminated by the appearance of any option. If the {-append} option appears after all of the input images, all images are appended.)
описания ключей не полностью документированы, придётся самому разбираться
Вот ссылки на хэлп - мож пригодятся
_http://mydebianblog.blogspot.com/2007/07/imagemagick.html
_http://offline.computerra.ru/2006/653/285947/
и конешно оффсайт (по-английски) _http://imagemagick.org/
Код:
@echo off
setlocal EnableDelayedExpansion
set both=0
set first=0
set second=0
echo both=%both%
echo first=%first%
echo second=%second%
for %%x in (*.jpg) do (
echo c
if !both! == 0 (
set first=%%x
set both=1
echo 0
) else (
set second=%%x
set both=0
echo 1
convert "!first!" "!second!" -append "!first!"_"!second!"
)
echo both=!both!
echo first=!first!
echo second=!second!
)
Вставить картинку - это в смысле отсканировать печать и совмещать её с приходящим PDF файлом?
тут либо все ручками как вариант (открыли pdf. закинули на него png печати - сохранили)
либо автоматизировать при помощи утилит (но тогда печать может не совпасть с местом для печати, тк входящий документ может быть разной длины)
Как с минимальными усилиями объединить 2 jpg в один - по ссылке разбирается пример как объединить два файла в один.
Цитата:
консольная утилита convert.exe из пакета ImageMagic
ключ -append
(This option creates a single image where the images in the original set are stacked top-to-bottom. If they are not of the same width, any narrow images will be expanded to fit using the current {-background} color setting. Use {+append} to stack images left-to-right. The set of images is terminated by the appearance of any option. If the {-append} option appears after all of the input images, all images are appended.)
описания ключей не полностью документированы, придётся самому разбираться
Вот ссылки на хэлп - мож пригодятся
_http://mydebianblog.blogspot.com/2007/07/imagemagick.html
_http://offline.computerra.ru/2006/653/285947/
и конешно оффсайт (по-английски) _http://imagemagick.org/
Код:
@echo off
setlocal EnableDelayedExpansion
set both=0
set first=0
set second=0
echo both=%both%
echo first=%first%
echo second=%second%
for %%x in (*.jpg) do (
echo c
if !both! == 0 (
set first=%%x
set both=1
echo 0
) else (
set second=%%x
set both=0
echo 1
convert "!first!" "!second!" -append "!first!"_"!second!"
)
echo both=!both!
echo first=!first!
echo second=!second!
)
(2) Через ImageMagic пробовал, но качество итогового PDF очень сильно страдало. Но, благодаря твоим ссылкам натолкнулся на описание ключей от Ghostscript и получилось вполне нормально. Спасибо.
(3) ооо, это просто мега-чудо-штука для работы с pdf. Попробовал - реально много чего может и штамп мой вставляет. Только засада какая-то, не получается указать место и размер который мне нужен. Нет случаем примера?
Файл PDF для штамповки уже должен быть в размер бумаги вашего PDF документа, или, по крайней мере, имеют те же пропорции. Файл PDF подобен съемочной площадке на страницах этого PDF-файла и масштабируется в соответствии с размером.
В следующем примере, все страницы файла PDF будет отмечен печатью:
(5) Чтобы разместить на странице формата А4, нужно указать параметр -page. Положение на странице -gravity. Размер изменить -resize.
Тут все есть www.imagemagick.org/Usage/