Вставка штампа в файлы PDF

10.12.23

Функциональные - Документооборот и делопроизводство (СЭД)

Как неправильно регистрировать входящие документы? Надо распечатать сопроводительное письмо, зарегистрировать документ в программе, на бумажном носителе поставить штамп, вписать номер и дату и заново отсканировать документ в карточку входящего письма. А как правильно?

Скачать файлы

Наименование Файл Версия Размер
Вставка штампа в файлы PDF (без конвертера):
.cfe 71,01Kb
140
.cfe 1.W.3.5 71,01Kb 140 Скачать
Вставка штампа в файлы PDF (версия для Linux):
.cfe 71,25Kb
3
.cfe 1.L.3.8 71,25Kb 3 Скачать

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

Сразу оговорюсь, что работу коллеги видел, но его метод мне не подошёл по 2-м причинам:

  1. письма приходят разные и место для впечатывания штампа необходимо выбирать вручную (не всегда в определённый угол и не всегда на первый лист документа). 
  2. ImageMagick справляется с конвертацией не любых документов формата Adobe Pdf (это боль!).

Как выясняется при внимательном изучении, в 1С:Документооборот уже встроен функционал добавления регистрационного штампа в документ, но работает этот механизм только с файлами MS Office Word и Open Office Writer. А в этих форматах входящие письма редко приходят (примерно никогда), а в основном Adobe PDF или в каких-либо графических форматах.

Всё, что необходимо для решения данной задачи, оказывается, у нас есть. Почти у всех стоит на сервере и настроена такая прекрасная программа, как ImageMagick, соответственно константа ПутьКПрограммеКонвертацииPDF содержит путь к ней. Рекомендую ставить пакет Q8, а не Q16, т. к. работает он шустрее. Рассмотрим алгоритм впечатывания штампа в многостраничный формат (pdf, tiff) с обыкновенными картинками всё проще. Расширение умеет работать с любыми файлами, которые понимает пакет imagemagick.

1. Создаём временную папку и в неё сохраняем файл полистно в графическом формате (я использую jpeg с качеством 100%). Причём ImageMagick текстовый слой совмещает с графическим и получается полноценное изображение (последняя версия на момент написания публикации 7.0.10).

magick convert -density 200 “ПутьКВременномуКаталогу\image_%06d.jpg”

Данная команда создаёт файлы в формате jpeg с разрешением 200 dpi и автонумерацией от «000000» до «999999» в нашем каталоге. Удобство в том, что имя файла первой страницы всегда «image_000000.jpg». Запаса нумерации страниц должно хватить на все случаи жизни.

2. Создаём файл штампа. Тут может быть два решения, через параметр «-draw text x,y”, т. е. вставкой необходимого текста прямо на первую страницу документа или более сложный, но и более универсальный механизм создания штампа отдельно и впечатывания его куда нужно. Я пошёл вторым путём, хотя и с первым тоже поигрался (трудно выравнивать текст).

magick convert -size 472x157 -background #FFFFFF80 -gravity center -fill blue -font c:\windows\fonts\tahoma.ttf -pointsize 30 -interline-spacing 15 label:@text.txt stamp.png

Эта команда создаёт изображение размером 472х157 (60х20 мм при 200 dpi), с полупрозрачным фоном, синим цветом текста, выровненным по центру, шрифтом Tahoma размером 30 точек и межстрочным интервалом 15 точек и текстом, который лежит в файле text.txt. Я экспериментировал с разными шрифтами, есть очень интересные начертания, хорошо смотрятся на штампе. Можно отсканировать реальный штамп, подобрать шрифт, имитирующий рукописный, и через «-draw text x,y” впечатывать номер и дату. Очень круто, но много возни.

3. Определяем координаты вставки штампа. Тут нам помогает тип «Картинка», который после чтения первой страницы изображения, возвращает нам его размеры. А настройки вставки штампа мы берём из штатного параметра «НастройкиПоложения», который нам приходит из процедуры вставки штампа (мы его совсем немного дополняем). Там простая математика, не буду тут разбирать.

4. Впечатываем штамп.

magick convert image_000000.jpg stamp.png -geometry +2011+3200 -composite result.jpg

Команда к файлу «image_000000.jpg» прибавляет файл «stamp.png» со смещением 2100 и 3200 точек (для примера) и результат сохраняет в «result.jpg».

5. Собираем результат. Переименовываем «result.jpg» в «image_000000.jpg» собираем все файлы в один.

magick convert “ПутьКВременномуКаталогу\image_*.jpg" -adjoin -quality 90 result.pdf

Команда из файлов image_*.jpg собирает один файл в формате Adobe PDF с понижением качества до 90%.

6. Ну и всё, уже в рамках штатного механизма создаём новую версию файла.

Наименование организации для удобства вынес в новый реквизит справочника «Организации» и разместил на форме.

Теперь про боль. Всё бы ничего, но некоторые документы, приходящие в организацию обрабатывались некорректно. После преобразования в jpeg документ становился серым и в нём пропадала часть текста. Что делать? Оказалось, что есть более специализированный конвертер, написанный в рамках проекта XPDFReader. Он работает быстро и делает изображения в формате PNG с нужным разрешением. Исполняемый файл pdftopng.exe я в расширение не включил (блюдём авторские права), его нужно скачать на сайте разработчика, поместить в макет «ШРВД_ПрограммаКонвертации» и установить в значение «Истина» переменные «ПредварительноКонвертировать» и «ПрограммаКонвертацииВМакете». Можно не в макет помещать, а на диск куда-нибудь сохранить и тогда путь необходимо указать в настройках, а переменной «ПрограммаКонвертацииВМакете» оставить значение «Ложь».

// PDF не всегда корректно конвертируется
// можно использовать предварительную конвертацию
ПредварительноКонвертировать = Ложь;
ПрограммаКонвертацииВМакете  = Ложь; 

Все основные настройки вынесены в переменные расположенные в начале процедуры «ВставитьРегистрационныйШтампВФайлУказаниемПоложения()» общего модуля «ШРВД_ОбщиегоНазначенияСервер». Там указывается разрешение, размеры штампа, шрифт, его размер и межстрочный интервал.

Расширение разрабатывалось и тестировалось на платформе версии 8.3.17.1851 в конфигурации 1С:Документооборот государственного учреждения, редакция 2.1.28.12.

Адаптация для Linux производилась на платформе 8.3.22.1923 в конфигурации Документооборот государственного учреждения, редакция 2.1.32.6

 
 Дополнение для тех, у кого Линукс. 

Инструкция актуальна для Astra Linux 1.7 (ядро 5.4.0), для других дистрибутивов будет незначительно отличаться.
Первым делом нужно раздобыть ImageMagick версии 7, в Астре только 6-я и выше пока не предвидится, а Документооборот не умеет работать с 6-й версией. Но на сайте разработчика есть полноценное портативное приложение, его качаем и кладём в удобное место. Я все файлы складывал в домашнюю папку пользователя usr1cv8, от его имени работает сервер 1С и он точно туда имеет доступ. Идём в настройки программы -> работа с файлами, ставим галку «Использовать ImageMagick» и пишем путь /home/usr1cv8/magick (можно ~/magick), а если поставить галочку «Использовать Ghostscript», то заведётся сканирование в с клинских машин PDF.
Для полного счастья нужен конвертер pdftopng для Linux. Он есть на сайте разработчика в пакете xpdf-tools-linux. Качаем, распаковываем в домашнюю папку.
Теперь, что касается шрифтов, у меня нормально работает, если указать полный путь к шрифту. Системные шрифты лежат тут /usr/share/fonts, можно просто отдельно положить файл шрифта.
Обязательно проверяем, чтобы у файлов magick и pdftopng владельцами был пользователь usr1cv8, группа grp1cv8 и для пользователя были даны права на запуск (команды chown и chmod).
Теперь в модуле расширения ШРВД_ОбщиегоНазначенияСервер с процедуре ВставитьРегистрационныйШтампВФайлУказаниемПоложения указываем путь к файлу шрифта. В расширении прописан путь к одному из системных шрифтов.
Если нужно, проверяем путь к программе предварительной конвертации. Вот и всё.

 
 Дополнение для тех, у кого под Линукс пропадают надписи

Инструкция для Astra Linux 1.7 (ядро 5.4.0).

Формат PDF предполагает наличие 14-ти базовых шрифтов, наличие которых проверяется при запуске приложения pdftopng. Если их нет, то приложение об этим пишет. Чтобы увидеть список шрифтов, котороых не хватает, нужно перехватить в отладчике команду конвертации из PDF в PNG и выполнить в контексте пользователя USR1CV8. Среди этих базовых шрифтов два свободно распростаняемые, а вот остальные совершенно несвободные и в российских дистрибутивах отсутствующие. Тут написано где взять первые два и как писать конфиг, остальные можно поискать на машинах под управлением Windows (но это наверное не законно :-) и в Инете, потом складываем все находки в отдельную папочку и дописываем конфиг примерно так:

fontFile Symbol "/home/usr1cv8/pdftopng.fonts/s0500001.pfb"
fontFile ZapfDingbats "/home/usr1cv8/pdftopng.fonts/d050000.pfb"

fontFile Times-Roman "/home/usr1cv8/pdftopng.fonts/times.ttf"
fontFile Times-Bold "/home/usr1cv8/pdftopng.fonts/timesdb.ttf"
fontFile Times-BoldItalic "/home/usr1cv8/pdftopng.fonts/timesbi.ttf"
fontFile Times-Italic "/home/usr1cv8/pdftopng.fonts/timesi.ttf"

fontFile Courier "/home/usr1cv8/pdftopng.fonts/cour.ttf"
fontFile Courier-Bold "/home/usr1cv8/pdftopng.fonts/courdb.ttf"
fontFile Courier-BoldOblique "/home/usr1cv8/pdftopng.fonts/courbi.ttf"
fontFile Courier-Oblique "/home/usr1cv8/pdftopng.fonts/couri.ttf"

fontFile Helvetica "/home/usr1cv8/pdftopng.fonts/HelveticaRegular.ttf"
fontFile Helvetica-Bold "/home/usr1cv8/pdftopng.fonts/HelveticaBold.ttf"
fontFile Helvetica-BoldOblique "/home/usr1cv8/pdftopng.fonts/HelveticaBoldItalic.ttf"
fontFile Helvetica-Oblique "/home/usr1cv8/pdftopng.fonts/HelveticaItalic.ttf"

Теперь конвертер понимает какими шрифтами ему рисовать символы при преобразовании страницы документа в картинку и текст не пропадает.

В процедуре ВставитьРегистрационныйШтампВФайлУказаниемПоложения модуля расширения ШРВД_ОбщиегоНазначенияСервер указываем конфигурационный файл для работы конвертера (строка -cfg pdftopng.xpdfrc), у меня он лежит рядом с конвертером

// предварительная обработка
Если ПредварительноКонвертировать И ВРег(Расширение) = "PDF" Тогда
	Команда = ПрограммаКонвертации +  " -r " + Строка(Разрешение) + " -q -cfg pdftopng.xpdfrc """ + ИмяВходногоФайла + """ "
		+ """" + КаталогФайлаПолистного + "preimage"""; // формируются файлы preimage-000000.png
	ЗапуститьПриложение(Команда, КаталогВременныхФайлов(), Истина);
	// проверяем, всегда должен быть файл preimage-000001.png
	ПредварительныйФайл = Новый Файл(КаталогФайлаПолистного + "preimage-000001.png");
	Если Не ПредварительныйФайл.Существует() Тогда 
		ЗаписьЖурналаРегистрации("Вставка регистрационного штампа",
			УровеньЖурналаРегистрации.Ошибка,,,
			"При выполнении команды " + Команда + ", файл " + ПредварительныйФайл.ПолноеИмя + " не был создан (т.е. команда не отработала)");
		ВызватьИсключение "Ошибка конвертации файла";	
	КонецЕсли;
	// пережимаем в jpeg для экономии места (утверждение спорное, всё зависит от контента)
	Команда = ПутьКImageMagick + " convert -density " + Строка(Разрешение) + " -units PixelsPerInch """ 
		+ КаталогФайлаПолистного + "preimage-*.png" + """ "
		+ """" + КаталогФайлаПолистного + "image_%06d.jpg""";
Иначе	
	// формируем и запускаем команду
	Команда = ПутьКImageMagick + " convert -density " + Строка(Разрешение) + " -units PixelsPerInch """ 
		+ ИмяВходногоФайла + """ " + """" + КаталогФайлаПолистного + "image_%06d.jpg"""; 
КонецЕсли;

 

UPD: 08.02.2021 исправлена ошибка постановки штампа на обычное изображение и появилась возможность делать рамку вокруг штампа.

UPD: 03.07.2021 исправлена ошибка постановки штампа на не первую страницу документа, также мелкие доработки по результатам использования в организации.

UPD: 20.09.2023 добавлена версия для Linux и инструкция по установке

UPD: 10.12.2023 добавлено решение проблемы со шрифтами

Проверено на следующих конфигурациях и релизах:

  • Документооборот КОРП, релизы 2.1.32.6

Входящий PDF штамп ImageMagick Linux Линукс

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

Организуйте правильный документооборот на вашем предприятии. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот!

42500 руб.

19.02.2016    107002    103    5    

84

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1260    0    0    

5

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101385    296    173    

312

1С:Архив

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    4860    4    1    

4

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    27794    25    48    

57

Групповая выгрузка и загрузка файлов XML для ЭДО в каталог по приказу №820 ФНС (для УТ 10.3/11, КА2, ERP2, БП3, УНФ, УПП1.3, Розница2.3). Поддержка маркировки. Прослеживание товаров.

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Групповая выгрузка файлов XML для ЭДО в каталог по приказу №820 ФНС для Контур.Диадок, СБИС и других провайдеров ЭДО. Поддержка УНФ 1.6, УНФ 3.0 Поддержка УТ 10.3, УПП 1.3 Поддержка Розница 2.3 Добавлена выгрузка непосредственно из документа

18000 руб.

15.12.2022    6426    106    25    

14

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    44287    56    51    

71

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

Обмен между базами 1C Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная связь с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Интеграция позволяет экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    53781    34    67    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. i_cherepkov 20.01.21 03:07 Сейчас в теме
Сергей, интересна ваша разработка, напишите, пожалуйста, мне в личку.
2. Andrei_Ivanov 159 18.03.21 19:42 Сейчас в теме
Добрый день. Скачал XPDFReader. Файла pdftopng.exe нет. Есть файл xpdf.exe. Указал в коде путь к нему. Команда преобразования файла не отрабатывает - файл не конвертирует. Подскажите, пожалуйста, в чем может быть дело ?
3. soulner 359 18.03.21 21:43 Сейчас в теме
(2) Скачивать надо Xpdf command line tools (тут) и там в папочке bin32/64 будет утилита pdftopng.exe.
Эта утилита нужна только если ImageMagic не справляется.
Andrei_Ivanov; +1 Ответить
4. Andrei_Ivanov 159 19.03.21 10:16 Сейчас в теме
(3) Спасибо. Очень помогли.
5. prostovalera1 25.03.21 11:45 Сейчас в теме
Добрый день.
Есть ли возможность управления цветом штампа?
6. soulner 359 25.03.21 21:55 Сейчас в теме
(5) Да, конечно. В команде magick convert -size 472x157 -background #FFFFFF80 -gravity center -fill blue -font c:\windows\fonts\tahoma.ttf... blue - это как раз цвет. Его можно и в RGBA вводить и по именам.
7. Xleo777 48 19.05.21 17:13 Сейчас в теме
Добрый день!
Спасибо за функционал! Очень интересное решение!

Скажите, пожалуйста, почему в результате в версии файла может получится файл с лиловой заливкой и тремя изображениями исходного pdf с вставленным штампом?
Во временных файлах все красиво и правильно,
но после использования процедуры АвтозаполнениеШаблоновФайловСервер.ОбновитьВерсиюИзДвоичныхДанных(ДвоичныеДанныеРезультат, Файл, "Вставка регистрационного штампа"); версия получается "кривая".
8. soulner 359 20.05.21 11:21 Сейчас в теме
(7) Добрый день, давайте разбираться.
1. какой тип файла документа, на который ставите штамп? (Adobe PDF мной тестировался хорошо, а графические форматы не очень)
2. файл в формате Adobe PDF собирается из изображений формата jpeg командой magick convert "image_*.jpg" -adjoin -quality 90 ..., т.е. из всех файлов, соответствующей маске image_*.jpg во временной папке КаталогФайлаПолистного. По этому нужно поставить точку останова в конце процедуры ВставитьРегистрационныйШтампВФайлУказаниемПоложения() общего модуля расширения ШРВД_ОбщиегоНазначенияСервер, но до команды УдалитьФайлы(КаталогФайлаПолистного); (или на ней) и посмотреть, какие файлы image_*.jpg содержатся в каталоге.
3. дальше по результату п.2

Команда АвтозаполнениеШаблоновФайловСервер.ОбновитьВерсиюИзДвоичныхДанных() работает уже с двоичными данными файла и не может их поменять.
9. Xleo777 48 21.05.21 16:24 Сейчас в теме
(8)
Добрый день!
1. Вставляем штамп в файл формата PDF
2. Похоже, дело было в том, что Разрешение полученного файла сильно отличалось от разрешения штампа. Когда поставили разрешение 400 файл хотя бы стал нормальным. Но размер файла увеличился.
Разбираемся дальше
10. soulner 359 22.05.21 10:02 Сейчас в теме
(9) Погодите, разрешение в данном случае не играет роли. Оно содержится в метаданных изображения и используется для масштабирования при печати. Вся обработка производится по точкам. Но разрешение штампа должно быть равно разрешению изображений.
11. yakutskteplo 30.08.21 07:10 Сейчас в теме
Все работает, но
1. Перед надписью названия организации ставит вопросительный знак.
2. И можно ли надпись обвести рамкой?
12. soulner 359 30.08.21 13:05 Сейчас в теме
(11) 1. Это странно. Название организации берётся из реквизита ШРВД_ТекстДляШтампа, добавляемого к справочнику Организации.
За вставку названия организации отвечает строка
ТекстШтампа.Записать(ТекстНадписи.Организация.ШРВД_ТекстДляШтампа + Символы.ПС);

там негде появиться вопросу.
Могу предположить, что вы в начале названия организации используете символ, которого нет в шрифте. Имя шрифта указано в начале процедуры ВставитьРегистрационныйШтампВФайлУказаниемПоложения() общего модуля ШРВД_ОбщиегоНазначенияСервер расширения.

2. Там же есть переменная Рамка, которая отвечает за рамку штампа
Рамка				= Ложь; // делать у штампа рамку
13. user1437374 08.07.22 17:01 Сейчас в теме
приятного времени суток.
Документ весь залился красным цветом.
Как это исправить?)
Прикрепленные файлы:
gla.pdf
14. soulner 359 09.07.22 13:23 Сейчас в теме
(13) Добрый день. Очень странный у вас файл получился. Попробуйте взять пустой лист MS Word (или другого редактора) и сделать из него pdf. Разрешение пусть будет 200 dpi. Потом на этот пустой лист поставить штамп. Дальше изучаем ситуацию по инструкции поста № 8
15. Потап 02.08.22 16:36 Сейчас в теме
День добрый. Не подскажете почему название организации не прописывает?
16. soulner 359 03.08.22 09:50 Сейчас в теме
(15) Добрый день. На форму справочника "Организации" расширением выводится реквизит, на форме он называется "Текст для штампа", там должно быть указано краткое название организации для вывода в шапку штампа.
17. R2D2 13.09.22 10:44 Сейчас в теме
(15) Подскажите, на каком релизе Вы применили это расширение? На 2.1.31.5? У нас такой, хотелось бы узнать, подойдёт ли
18. Потап 13.09.22 12:11 Сейчас в теме
(17)Документооборот 8 КОРП, редакция 2.1 (2.1.31.5)
19. soulner 359 13.09.22 14:33 Сейчас в теме
(17) В статье указано, что на ДГУ 2.1.28.12.
20. R2D2 14.09.22 17:20 Сейчас в теме
(19) Какое Вам спасибо за статью и обработку! У меня все получилось на 2.1.31.5 (платформа 1С:Предприятие 8.3 (8.3.20.1914)). Сначала на pdf от ведомств с ЭЦП которые - был наполовину черный файл, но описание сторонней программки и комментарии помогли - теперь и на крутые файлы из Министерств тоже проставляется штамп.
21. user1437374 10.11.22 11:13 Сейчас в теме
Приятного времени суток.
подскажите пожалуйста в чем может быть проблема
Ошибка конвертации файла
{ШтампРегистрацииВходящихДокументов ОбщийМодуль.ШРВД_ОбщиегоНазначенияСервер.Модуль(65)}:ВызватьИсключение "Ошибка конвертации файла";
{ШтампРегистрацииВходящихДокументов ОбщийМодуль.ШтрихкодированиеКлиентСервер.Модуль(21)}:ДвоичныеДанныеЗаполненногоФайла = ШРВД_ОбщиегоНазначенияСервер.ВставитьРегистрационныйШтампВФайлУказаниемПоложения(Расширение, ТекстНадписи, ДвоичныеДанныеФайла, НастройкиПоложения);
{ОбщийМодуль.ШтрихкодированиеСервер.Модуль(1003)}:Возврат ШтрихкодированиеКлиентСервер.ВставитьРегистрационныйШтампСИспользованиемНастроек(ТекущийФайл,
{ОбщийМодуль.ШтрихкодированиеКлиент.Модуль(355)}:Результат = ШтрихкодированиеСервер.ВставитьРегистрационныйШтамп(ТекущийФайл, ДанныеОШтрихкодеФайла, ТекстНадписи);
{ОбщийМодуль.ШтрихкодированиеКлиент.Модуль(54)}:ВыполнитьОбработкуОповещения(ОписаниеОповещения, НастройкиШтрихкода)
{ШтампРегистрацииВходящихДокументов ОбщаяФорма.ВыборВариантаРасположенияПриПечати.Форма(71)}:Закрыть(ДанныеОПоложении);
22. soulner 359 10.11.22 17:40 Сейчас в теме
(21) Добрый день. Данная ошибка возникает, когда у программы не получается разбить входной файл на изображения полистно. Там в результате должен получиться хотя бы один файл, а его нет. Т.е. входной файл должен содержать минимум одну страницу.
В журнале регистрации формируется более полный отчёт по ошибке, включая команду, которая отработала не корректно.
В коде программы, команда для ImageMagick формируется отдельно и хранится в переменной "Команда". Я это сделал специально для упрощения отладки, т.е. можно поставить точку останова в отладчике (у вас это строка 65), из переменной Команда получить текст команды и выполнить её в командной строке. И там увидеть какая конкретно ошибка возникает у конвертера.
23. user1437374 15.11.22 13:03 Сейчас в теме
(22) День добрый!
Подскажите пожалуйста, я правильно понимаю что у пользователя User_1C нет доступа на создание файла?
При выполнении команды "magick.exe" convert -density 200 -units PixelsPerInch "C:\Users\User_1C\AppData\Local\Temp\v8_B613_39.pdf" "C:\Users\User_1C\AppData\Local\Temp\v8_B613_3a\image_%06d.jpg", файл C:\Users\User_1C\AppData\Local\Temp\v8_B613_3a\image_000000.jpg не был создан (т.е. команда не отработала)
24. soulner 359 15.11.22 17:46 Сейчас в теме
(23) Это одна из причин, но не в вашем случае, т.к. был создан файл "C:\Users\User_1C\AppData\Local\Temp\v8_B613_39.pdf". Я бы посоветовал проверить путь к файлу magick.exe, похоже, что не запускается ImageMagick
36. oleggio345 04.02.23 00:02 Сейчас в теме
(24) Аналогично с (22) выдаёт, что команда не отработала. Копирую команду и выполняю из командной строки на сервере, проходит без ошибок, постраничный файл создаётся. Из кода 1С команда не выполняется. Сами понимаете, что пути верные, раз из командной строки выполняется без ошибок. Что может быть причиной? Понимаю, что что-то с правами, но не понимаю как исправить. Служба сервера работает с правами администратора, по идее выполнение команды из кода 1с на стороне сервера тоже происходит с правами администратора.
37. soulner 359 04.02.23 18:20 Сейчас в теме
(36) Да уж, не простая ситуация. Из вашего описания не понятно, какая конкретно команда выполняется, там может быть 2 варианта, но раз команда выполняется из консоли, значит она синтаксически верная. Могу предложить поэкспериментировать с перенаправление вывода команды в файл, а потом его прочитать.
Примерно так:
Команда = ПутьКImageMagick + " convert -density " + Строка(Разрешение) + " -units PixelsPerInch """ 
+ ИмяВходногоФайла + """ " + """" + КаталогФайлаПолистного + "image_%06d.jpg""" + " > result.txt"; 

После выполнения команды в файле result.txt должен быть текст ошибки.
25. ignor 235 24.11.22 07:28 Сейчас в теме
Добрый день, не пособите ли, не подскажете ли. Мне в очередной раз прилетела задача по визуализации ЭЦП в Документах ворда, екселя и собственно непосредственно в pdf-ках. Визуализацию мне предстоит делать не в ДГУ и не в Документообороте, а в БГУ и ЗГУ по люьым вложенным подписанным в них файлам (Справочник файлы). Подпись это не штамп и их может быть у файла несколько. А екселька это не документ и она может быть произвольного размера Может посоветуете как прикрутить magick.exe к моей ситуации. Он у заказчика установлен
26. soulner 359 29.11.22 10:22 Сейчас в теме
(25) Добрый день. Для разных типов файлов, нужно использовать разные механизмы. Для объекта ЗаписьPDF оказывается есть метод ЗаписатьПодпись() и там можно сделать присоединенную подпись и, что самое интересное, можно сгенерировать картинку в ImageMagic или табличный документ и сразу сформировать визуализацию. Там очень могучий функционал и, наверное, это самый правильный способ подписи PDF в 1С.
27. SvetLanaGil 15.12.22 09:30 Сейчас в теме
Добрый день. Спасибо большое за статью, ваше описание команд очень помогло разобраться в командах Image Magic, благодаря чему получилось исправить ошибки и внедрить у себя подобное решение. Очень полно и понятно все описано.
28. chg 02.01.23 07:29 Сейчас в теме
Добрый день.

В тройке не тестировали?
29. soulner 359 02.01.23 12:05 Сейчас в теме
(28) Добрый день. У меня клиенты пока на 2.1 сидят. Хочется переределать на механизм, указанный в (26), это будет более правильно. Можно совместить эти два направления.
30. soulner 359 03.01.23 15:27 Сейчас в теме
(29) Сам себе отвечу. Метод ЗаписатьПодпись() для объекта ЗаписьPDF не получится использовать. Там происходит повторное подписание документа, а из параметра ОписаниеПодписи берётся сертификат и по нему в хранилище сертификатов пользователя (или в системном) ищется установленный сертификат с закрытым ключом. Т.е. в нашем случае уже есть ЭП, но её внутрь PDF-документа запихнуть не получится.
31. odinarhitektor 09.01.23 17:48 Сейчас в теме
После вставки штампа, в некоторых случаях почему-то весь лист становится черным, не знаете в чем может быть проблема?
Прикрепленные файлы:
32. soulner 359 09.01.23 22:28 Сейчас в теме
(31) Добрый вечер. Я сталкивался с тем, что документ становился серым. Тут помогала утилита pdftopng. Где её взять есть в ответе на вопрос (2). Надо останавливать программу в отладчике и смотреть где появляется чёрный фон.
33. odinarhitektor 17.01.23 11:37 Сейчас в теме
34. odinarhitektor 25.01.23 15:08 Сейчас в теме
Добрый день!
подскажите, пожалуйста, не сталкивались ли Вы с тем, что нужно адаптировать размер штампа под размер страницы пдф?
пришел документ размером 1500х1500, в итоге штамп очень маленький и почти не виден...
35. soulner 359 25.01.23 16:15 Сейчас в теме
(34) Добрый день. Конечно слой изображения в pdf может быть разным и для этого программа устанавливает разрешение 200 dpi. Штамп тоже формируется в разрешении 200 dpi по размерам, которые указаны в настройках. Смещение штампа вычисляется в абсолютных значениях от фактического размера изображения. Надо смотреть какое разрешение стоит у вашего документа. Что указано в свойствах? Геометрические размеры связаны с размерами в пикселях как раз через разрешение. Если, предположим, у вас 10 dpi, тогда геометрический размер вашего изображения 150х150 дюймов, т.е. 381х381 см., соответственно штамп размером 60х20 будет очень маленьким.
38. user1437374 21.02.23 13:16 Сейчас в теме
Всем приятного времени суток!
Может кто подсказать как можно решить данную проблему?
Ошибка 1 при вызове ImageMagick с командной строкой:
"magick.exe" convert -strip -density 150 -quality 0 C:\Users\User_1C\AppData\Local\Temp\v8_965A_60\src.pdf C:\Users\User_1C\AppData\Local\Temp\v8_965A_60\res.png
Возможно, нарушена структура командной строки.
{ОбщийМодуль.РаботаСКартинками.Модуль(422)}: ВызватьИсключение ТекстИсключения;
{ОбщийМодуль.РаботаСКартинками.Модуль(51)}: ЗапуститьImageMagick(Параметры, ФайлыКУдалению);
{ОбщийМодуль.РаботаСФайламиВызовСервера.Модуль(3814)}: МассивПутейPng = РаботаСКартинками.ПреобразоватьPdfВPng(ИмяФайлаPdf, ВременнаяПапкаДляРазархивирования);
{ОбщийМодуль.РаботаСФайламиВызовСервера.Модуль(3663)}: ФайлВизуализация = ПолучитьВизуализациюЭП(ДанныеФайла, ИдентификаторФормы);
{ОбщийМодуль.РаботаСФайламиВызовСервера.Модуль(3418)}: ДобавитьВизуализациюЭП(ДанныеФайла, ИдентификаторФормы);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(10219)}: ДанныеФайла = РаботаСФайламиВызовСервера.ДанныеФайлаДляОткрытия(
{Справочник.ИсходящиеДокументы.Форма.ФормаЭлемента.Форма(4059)}: РаботаСФайламиКлиент.ОткрытьФайлДокумента(Строка.Ссылка, ЭтаФорма);
Оставьте свое сообщение