Документ с печатью: генерация печати

Создание измененного изображения печати для печатной формы табличного документа.

Зачем:

для генерации нового изображения печати из шаблона путем: вращения, изменения цвета, осветления/затемнения, смещения (задается пользователем) и  с последующим выводом нового изображения в печатную форму при формировании.

 

 

Примеры использования:

пример №1

 

пример №2 (на 1с8 обычная форма)

 

пусть есть макет с объектом Картинка (чаще всего печатная форма документа с печатью организации, например, Счет)

добавим код формирования и вывода табличного документа и изображения печати из оригинала

 

Таб = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");

СтрокаМ = Макет.ПолучитьОбласть("Строка");

фПрог = "c:GvTempsPicture.exe";
фШаблон = "c:GvTempp1.png";
WshShell=Новый COMОбъект("wscript.shell");

Для Н = 1 По  5 Цикл
фРез = "c:GvTemp
 + " + Н + ".png";

//КомандаСистемы(фПрог + "" + фШаблон + "" + фРез + " 1 1 1");
WshShell.Run(фПрог + "" + фШаблон + "" + фРез + " 1 1 1", 0, -1);

физФРез = Новый Файл(фРез);
Если Не физФРез.Существует() Тогда
Продолжить;
КонецЕсли;

СтрокаМ.Рисунки.МП.Картинка = Новый Картинка(фРез);
Таб.Вывести(СтрокаМ);

УдалитьФайлы(физФРез.Путь, физФРез.Имя);
КонецЦикла;

Таб.АвтоМасштаб = Истина;
Таб.Показать();
 

 где изображение формируется Командой системы с параметрами, где

фПрог — полный путь к программе sPicture

фШаблон — полный путь к файлу шаблону (в качестве шаблона рекомендуется использовать .png изображение с прозрачным фоном и наличием пустого пространства от краев (необходимо для функции «Сдвигать») )

фРез — полный путь к файлу-результату обрабоки данных

1 1 1 — функции: Поворачивать, Менять цвет, Сдвигать, где 1 — использовать функцию, 0 — не использовать

 

 В результате :

 

 

пример №3 (на 1с8 управляемая форма, или 1с77, или просто командная строка)


принцип реализации метода см пример №2, проблем возникнуть не должно.


 

Замечания и дополнения приветствуются.

4 Comments

  1. Hitcher

    А что это за программа? Интернет о ней не знает, а AVAST определяет как Win32:GenMaliciousA-MJH [Trj] и помещает в карантин

    Reply
  2. Umix

    не знаю, на что ругается Аваст.

    внутри архива пример печати .png и сама программка sPicture.exe

    sPicture — это маленькое приложение, созданное мной на C#.net, на всех устройствах в сети и на машине, на которой программирую установлен Kaspersky — проблем не возникало.

    Reply
  3. Hitcher

    Все получилось, запустил из под 1С. То, что надо. Спасибки. Возьму ее за основу проекта

    Возникли первые вопросы.

    1. Сколько пустого места надо места оставлять для сдвига . Или сколько оставишь, на столько и будет сдвигать?

    2. Для подписи такие повороты слишком круты. Не планируется ли ограничение углов поворота?

    Reply
  4. Umix

    (3) Hitcher, спасибо,

    — учту ваши пожелания, изначально — да планировалось выставлять угол поворота, но решил, что для вращения печати лучше использовать 360, а подпись вращать не будут, а только сдвигать и менять цвет.

    — пустое пространство будет использовано все (т.е. верно — сколько оставишь), т.к. система ищет точки «вылеза» изображения за пределы bitmap

    — еще планируется пару моментов

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *