Dynamic ax 2012 R2将pdf文件发送到服务器端的打印机

时间:2015-11-05 12:50:02

标签: axapta dynamics-ax-2012 x++

我正在尝试使用网络上的soap客户端将pdf文件发送到打印机 在ax工作使用工作正常。 我试过了:
winAPI :: shellExecute(adobeExe,adobeParm);
在AOS服务器上启用AOS打印
http://www.artofcreation.be/2014/01/27/how-to-print-any-file-in-ax/

但对我不起作用。 也许有人设法做到了? 也许需要使用ghostScript或sumatraPDF?要么...?
提前谢谢。

2 个答案:

答案 0 :(得分:1)

#File   //File macro
System.Diagnostics.ProcessStartInfo processInfo;
System.Diagnostics.Process process;
System.Exception interopException;

// Parameters
Filename    fileName    = @"C:\test\test.pdf";
PrinterName printername = UserPrinterHandler::getDefaultPrinter();
;

printerName = '"' + printerName + '"';

try
{
    // assert permissions
    new InteropPermission(InteropKind::ClrInterop).assert();

    process = new System.Diagnostics.Process();

    processInfo = process.get_StartInfo();

    processInfo.set_UseShellExecute(true);
    processInfo.set_CreateNoWindow(true);
    processInfo.set_FileName(fileName);

    // the argument is the printer name
    processInfo.set_Arguments(printerName);

    // set the verb to printto
    processInfo.set_Verb('printto');
    processInfo.set_WindowStyle(System.Diagnostics.ProcessWindowStyle::Hidden);

    process.Start();

    // revert asserted permissions
    CodeAccessPermission::revertAssert();
}

答案 1 :(得分:0)

AOS user account身份登录服务器,确保添加了打印机,或重新添加。作为您的用户帐户,再次这样做会有什么不妥。