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

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

Зачем:

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

 

 

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

пример №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 не будет опубликован. Обязательные поля помечены *