Всем привет.
Буду признателен за идеи по решению следующей задачи: на почту сотруднику приходят уже готовые 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/

Код:

```1c
    @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/

Код:

```1c
    @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!
    )
```
---
Через ImageMagic пробовал, но качество итогового PDF очень сильно страдало. Но, благодаря твоим ссылкам натолкнулся на описание ключей от Ghostscript и получилось вполне нормально. Спасибо.
---
Есть бесплатная консольная программа PDFtk Server
мануал https://www.pdflabs.com/docs/pdftk-man-page/
загрузка https://www.pdflabs.com/tools/pdftk-server/
Microsoft Windows

Click to download the PDFtk Server installer for Windows XP, Vista, 7 and 8:
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk_server-2.02-win-setup.exe
Для простановки отметок на страницах подойдут опции background | multibackground | stamp | multistamp
Собственно, поэкспериментировать с ключами вызова и подобрать картинку.

Есть версия с пользовательским интерфейсом - The PDF Toolkit, но она платная.
---
ооо, это просто мега-чудо-штука для работы с pdf. Попробовал - реально много чего может и штамп мой вставляет. Только засада какая-то, не получается указать место и размер который мне нужен. Нет случаем примера?
---
Нашел в машинном переводе с немецкого

http://www.lagotzki.de/pdftk/Штамповка PDF-файлов

Файл PDF для штамповки уже должен быть в размер бумаги вашего PDF документа, или, по крайней мере, имеют те же пропорции. Файл PDF подобен съемочной площадке на страницах этого PDF-файла и масштабируется в соответствии с размером.

В следующем примере, все страницы файла PDF будет отмечен печатью:

pdftk example.pdf stamp mystamp.pdf output example_stamped.pdf
Хитроумные производители pdftk сделали отдельную платную версию для настраиваемой "художественной" штамповки.
---
Чтобы разместить на странице формата А4, нужно указать параметр -page. Положение на странице -gravity. Размер изменить -resize.
Тут все есть www.imagemagick.org/Usage/
---
Не туда написал, сори.
---
Сообщение было скрыто модератором.