В ShellExecute, как указать параметры печати, такие как диапазон страниц, лоток и т. Д.? - PullRequest
0 голосов
/ 16 мая 2018

Это код, который я использую для печати файла PDF на компьютере с Windows, используя Python.У меня установлен Adobe Acrobat Reader для помощи в печати. ​​

win32api.ShellExecute(0,"print",file_path,"NPIAC1EC3 (HP LaserJet Pro MFP M226dw)",".",3)  

Как добавить дополнительные параметры для упоминания таких вещей, как лоток для принтера / источник страницы, диапазон страниц и т. Д.?

У меня естьпрочитайте документацию по ShellExecute из MSDN.

Я видел в документации, что есть lpParameters (я полностью предполагаю, что именно здесь я указываюпараметры печати), но нет объяснений, как использовать его с параметром «печать».

1 Ответ

0 голосов
/ 16 мая 2018

В документации указано, что то, что вы хотите, невозможно.Комментируемые выдержки (подчеркните мои):

Синтаксис:

HINSTANCE ShellExecute(
  _In_opt_ HWND    hwnd,
  _In_opt_ LPCTSTR lpOperation,
  _In_     LPCTSTR lpFile,
  _In_opt_ LPCTSTR lpParameters,
  _In_opt_ LPCTSTR lpDirectory,
  _In_     INT     nShowCmd
);

Параметры...

  • lpOperation [in, необязательно]

    Тип: LPCTSTR

    Указатель на строку с нулевым символом в конце, называемую в этом случае глаголом, ... Обычно используются следующие глаголы:
    ...

    print

    Печать файла, указанного в lpFile. Если lpFile не является файлом документа, функция завершается ошибкой .

Поэтому при использовании "print" в качестве глагола lpFile должен быть документfile

...

  • lpParameters [in, необязательно]

    Тип: LPCTSTR

    Если lpFile указываетисполняемый файл, этот параметр является указателем на строку с нулевым символом в конце, которая указывает параметры, которые будут переданы приложению.Формат этой строки определяется глаголом, который должен быть вызван. Если lpFile указывает файл документа, lpParameters должен быть NULL .

Поэтому, когда вы используете print в качестве глагола, lpFile должен бытьфайл документа, и lpParameters должен быть нулевым: нет условий для передачи дополнительных параметров в ShellExecute действие печати. ​​

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...