Вся инструкция по работе в архиве с библиотекой. Ограничение по pdf - 10 страниц за раз.
Параметры:
PaperHight-Высота бумаги ( число )
PaperWight - ширина бумаги (число)
PrinterName - Имя принтера ( строка)
FileName - Имя файла ( строка)
Landscape - Ориентация (Альбомная\Книжная,true\False) (булево)
PixelJpgX - Параметр для печати картинок ( координата по x) задается для опеределения места начала отрисовки картинке на листе бумаги ( число)
PixelJpgY- Параметр для печати картинок ( координата по y) задается для опеределения места начала отрисовки картинке на листе бумаги ( число)
LeftField- левое поле отступа ( число );
RightField- правое поле отступа ( число);
UpField - верхнее поле отступа ( число);
DownField - нижнее поле отступа ( число);
Методы:
ReturnSettings() - возвращает значение параметров(строка);
PrintPDF() - печатает PDF файл ( возвращает ответ -"ОК" или описание ошибки (строка));
PrintJPG() - печатает Файл картинки jpg , может и другие форматы ( возвращает ответ -"ОК" или описание ошибки (строка));
Имя для ком соединения -"Component1c.MyClassComponent";
Гуиды Библиотеки :
6844AACB-9194-46bf-81AF-9DA73EE687DC - интерфейс;
69EE0677-884A-4eeb-A3BD-D407844C0C70 - класс реализиующий функциональность интерфейса;
Регистрация :
вместо regsvr32 ( это для ++ библиотек) - C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "Путь к файлу"
пример : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Users\user\Documents\component1c\Component1c.dll"
пример 2 : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Users\user\Documents\component1c\Component1c.dll" /codebase
дорегистрация для 64 битного сервера :
Работа с реестром----
1. создаем раздел с именем "{69EE0677-884A-4eeb-A3BD-D407844C0C70}" в ветке HKEY_CLASSES_ROOT\wow6432node\appid. Для этого раздела создаем строковое свойство "DllSurrogate" с пустым значением.
2. Находим HKEY_CLASSES_ROOT\wow6432node\CLSID\{69EE0677-884A-4eeb-A3BD-D407844C0C70} и добавляем строковое свойство "AppID" со значением "{69EE0677-884A-4eeb-A3BD-D407844C0C70}".
где
{69EE0677-884A-4eeb-A3BD-D407844C0C70} гуид приложения
Пример кода 1С
МояОбработка=Новый COMОбъект("Component1c.MyClassComponent");
МояОбработка.PrinterName="Honeywell PM42 (203 dpi) - DP";
МояОбработка.FileName= "C:\Users\user\Documents\штрихкод.jpg";
МояОбработка.PaperHight=197;
МояОбработка.PaperWight=404;
МояОбработка.PixelJpgX=50;
МояОбработка.PixelJpgY=10;
Ответ=МояОбработка.PrintJPG();
Тестирование проводилось на платформе 8.3.9+ , КА 1.1 и 64 битном сервере 1С предприятия.
Печатал на принтер этикеток Honeywell PM42 с Терминала сбора данных "EDA50k " с установленным на него самописным мобильным приложением 1С посредством web -сервиса. PDF файлы печатает нормально, однако по какой-то причине - именно на этот принтер всегда в альбомном варианте, хотя и давалась четкая команда на драйвер, что необходим портрет. На обычных принтерах также не всегда отрабатывает команда о смене ориентации . Эту проблему решил (правда, только для обычного принтера) сохранением из 1С pdf файла сразу в нужной мне ориентации.
Но Honeywell PM42 даже при сохраненном файле в портретном варианте продолжал печатать как альбомный лист.
В итоге, насколько я понял, эта проблема связанна именной с той библиотекой, которую я использовал как базу для работы с pdf. Т.к мне на данном принтере необходимо было печатать только штрихкод, сформированный в 1С, а штрих код в 1С стандартной компонентой формируется как картинка, то я добавил возможность печати картинок.
При отправлении изображения на принтер Honeywell PM42 проблема решилась.
Библиотека для работы с печатью изображений типовая (т.е от виндовс) и она может печатать разные форматы изображений, но я тестировал только в jpg.