Mittwoch, 18. Dezember 2013

Drucken eines externen PDF aus AX2009 mit Hilfe des Adobe Readers.

static void printPDF(str _filePath, PrintJobSettings  _printJobSettings = new PrintJobSettings() )
{
    PrintJobSettings    printJobSettings;
    str                          adobeExe;
    str                          adobeParm;
    Set                         permissionSet;
    ;

    permissionSet = new Set(Types::Class);
    permissionSet.add( new InteropPermission(InteropKind::ClrInterop) );
    CodeAccessPermission::assertMultiple( permissionSet );

    if (System.IO.File::Exists(_filePath))
    {
        //get Adobe Reader executable
        adobeExe = WinAPI::findExecutable(_filePath);
      
        adobeParm = strFmt('/n /t "%1" "%2" "%3" "%4"',
                           _filePath,
                           printJobSettings.printerPrinterName(),
                           printJobSettings.printerDriverName(),
                           printJobSettings.printerPortName());

        winAPI::shellExecute(adobeExe,  adobeParm);
    }
    CodeAccessPermission::revertAssert();
}

Adobe Commandline Arguments:
http://www.robvanderwoude.com/commandlineswitches.php#Acrobat

Keine Kommentare:

Kommentar veröffentlichen