AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.09.2018, 12:15   #1  
oleyhov is offline
oleyhov
Участник
 
6 / 10 (1) +
Регистрация: 20.06.2018
Печать картинок jpeg, png
Добрый день, отправляю на печать pdf файлы, с этим нет пробелм, с помощью следующего кода
X++:
            new InteropPermission(InteropKind::ClrInterop).assert();

            process         = new System.Diagnostics.Process();
            processInfo     = process.get_StartInfo();
            processInfo.set_FileName(@"acrord32.exe");

            processInfo.set_Arguments(strFmt('/s /h /t "%1" "%2" "%3" "%4"',
                                                    DocuRef::find(inventCertificateTable.dataAreaId, inventCertificateTable.RecId).CompleteFilename(),
                                                    printJobSettings.printerPrinterName(),
                                                    printJobSettings.printerDriverName(),
                                                    printJobSettings.printerPortName()));

            processInfo.set_UseShellExecute(true);
            processInfo.set_CreateNoWindow(true);
            process.Start();

            CodeAccessPermission::revertAssert();
Соответственно для файлов форматов не pdf данный код не подходит, можете подсказать, как отправить на принтер файлы с jpeg и png, к сожалению самому найти не удалось. Версия Axapta 2012.

Последний раз редактировалось oleyhov; 10.09.2018 в 13:41.
Старый 10.09.2018, 14:08   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
265 / 808 (27) +++++++
Регистрация: 23.10.2012
Вариантов - множество, но т.к. Вы используете в качестве оригинального решения внешнее приложение с вызовом определенных параметров, возможно Вам стоит рассмотреть аналогичный вариант с использованием иного приложения, например, mspaint с передачей специфических параметров, таких как /p - печать и /pt с указанием наименования необходимого устройства.

Вот пример взаимодействия с .Net: https://krishhdax.blogspot.com/2012/...x-using-x.html

Последний раз редактировалось Товарищ ♂uatr; 10.09.2018 в 14:12.
Старый 10.09.2018, 16:04   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Можно использовать ShellExecute и не заморачиваться с выбором конкретного приложения

X++:
#WinAPI 

       WinApi::shellExecute("имя файла", 
                             '', 
                             "Директория, где лежит файл",
                             #ShellExePrint);
Достоинства

- Простота
- Не нужно знать конкретное приложение, которое может печатать файлы

Недостатки

- Отсутствие управляемости
- Приложение для печати должно быть зарегистрировано в системном реестре и иметь в нем команду для печати (опция PRINT для ShellExecute)
- Если есть несколько приложений для печати файла данного типа, то выбрано будет то, которое зарегистрировано последним.

По сути, в таком синтаксисе - это поиск приложения по работе с файлом по настроенным ассоциациям с расширением файла. Вещь своеобразная. Но можно использовать как команду на печать по умолчанию, когда явно не сказано с каким приложением работает данный тип файла
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: oleyhov (1).
Старый 10.09.2018, 16:19   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от oleyhov Посмотреть сообщение
Соответственно для файлов форматов не pdf данный код не подходит, можете подсказать, как отправить на принтер файлы с jpeg и png, к сожалению самому найти не удалось. Версия Axapta 2012.
Собственно, Ваш код - это тоже ShellExecute, но с явным указанием приложения. Если вместо имени приложения, Вы просто укажете имя файла, то и будет выполнен поиск первого попавшегося приложения для печати файла с указанным расширением. Ну, там несколько другие опции надо задать, конечно

Печать самих файлов PDF
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 10.09.2018, 17:00   #5  
oleyhov is offline
oleyhov
Участник
 
6 / 10 (1) +
Регистрация: 20.06.2018
Спасибо большое, думал через него тоже только pdf можно печатать.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Configuring a BYODB and Creating a Full and Incremental Entity Export Blog bot DAX Blogs 0 25.05.2018 15:11
stoneridgesoftware: PrecisionForms for Document Management in Dynamics AX Blog bot DAX Blogs 0 14.09.2017 19:11
atinkerersnotebook: Using Service Management to Track Service Orders Blog bot DAX Blogs 1 25.08.2013 19:16
dynamicsaxtraining: Vendor returns Blog bot DAX Blogs 0 11.10.2012 00:11
dynamicsaxtraining: Purchase Blog bot DAX Blogs 0 11.03.2012 05:25
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:21.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.