Как изменить настройки принтера без прав администратора – Python ⇐ Python
Как изменить настройки принтера без прав администратора – Python
Я уже некоторое время сижу над этой проблемой и до сих пор не могу вникнуть в нее. У меня есть приведенный ниже код, но я даже не могу его протестировать, поскольку у меня нет доступа к правам администратора. Всякий раз, когда я пытаюсь использовать функцию win32print.SetPrinter, я получаю ошибку «Доступ запрещен», которую я могу исправить, войдя в консоль от имени администратора, но после завершения программы программа должна запускаться без прав администратора. Очевидно, существуют программы, которые могут печатать без прав администратора, поэтому должен быть какой-то способ.
file_path = 'path\\test.ps' имя_принтера = win32print.GetDefaultPrinter() file_handle = open(file_path, 'rb') print_handle = win32print.OpenPrinter(win32print.GetDefaultPrinter()) информация = win32print.GetPrinter(printer_handle, 2)["pDevMode"] if (win32print.DocumentProperties(0, дескриптор_принтера, имя_принтера, информация, информация, 5) == 1): win32print.SetPrinter(printer_handle, 2, информация, 0) задание = win32print.StartDocPrinter(printer_handle,1,("postscripttest",None,"RAW")) print(win32print.GetJob(printer_handle, задание)) win32print.WritePrinter(printer_handle,file_handle.read()) win32print.EndDocPrinter(printer_handle) win32print.ClosePrinter(printer_handle) еще: print("Процесс отменен") Я немного не понимаю, где можно посмотреть. Сначала я был очень рад, когда win32print.DocumentProperties с режимом 5 предоставил мне интерфейс, в котором я мог установить параметры принтера, а это именно то, что мне нужно, а также сохранил изменения в «info», объекте DevMode. Однако я не могу придумать другого способа «сохранить» эти настройки, кроме как с помощью SetPrinter. И, как я уже говорил, для SetPrinter требуются права администратора, если только не существует другого способа его использования, о котором я не знаю.
Для TL;DR: мне нужно иметь возможность изменять настройки принтера для одного задания принтера без прав администратора. Простое задание на печать одной страницы из файла Postscript, где я могу заранее настроить параметры печати принтера.
Любая помощь приветствуется. Похоже, что практически никто не разбирается в Python и принтерах.
Я уже некоторое время сижу над этой проблемой и до сих пор не могу вникнуть в нее. У меня есть приведенный ниже код, но я даже не могу его протестировать, поскольку у меня нет доступа к правам администратора. Всякий раз, когда я пытаюсь использовать функцию win32print.SetPrinter, я получаю ошибку «Доступ запрещен», которую я могу исправить, войдя в консоль от имени администратора, но после завершения программы программа должна запускаться без прав администратора. Очевидно, существуют программы, которые могут печатать без прав администратора, поэтому должен быть какой-то способ.
file_path = 'path\\test.ps' имя_принтера = win32print.GetDefaultPrinter() file_handle = open(file_path, 'rb') print_handle = win32print.OpenPrinter(win32print.GetDefaultPrinter()) информация = win32print.GetPrinter(printer_handle, 2)["pDevMode"] if (win32print.DocumentProperties(0, дескриптор_принтера, имя_принтера, информация, информация, 5) == 1): win32print.SetPrinter(printer_handle, 2, информация, 0) задание = win32print.StartDocPrinter(printer_handle,1,("postscripttest",None,"RAW")) print(win32print.GetJob(printer_handle, задание)) win32print.WritePrinter(printer_handle,file_handle.read()) win32print.EndDocPrinter(printer_handle) win32print.ClosePrinter(printer_handle) еще: print("Процесс отменен") Я немного не понимаю, где можно посмотреть. Сначала я был очень рад, когда win32print.DocumentProperties с режимом 5 предоставил мне интерфейс, в котором я мог установить параметры принтера, а это именно то, что мне нужно, а также сохранил изменения в «info», объекте DevMode. Однако я не могу придумать другого способа «сохранить» эти настройки, кроме как с помощью SetPrinter. И, как я уже говорил, для SetPrinter требуются права администратора, если только не существует другого способа его использования, о котором я не знаю.
Для TL;DR: мне нужно иметь возможность изменять настройки принтера для одного задания принтера без прав администратора. Простое задание на печать одной страницы из файла Postscript, где я могу заранее настроить параметры печати принтера.
Любая помощь приветствуется. Похоже, что практически никто не разбирается в Python и принтерах.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как сохранить настройки принтера в файле для дальнейшего пользователя в Java
Anonymous » » в форуме JAVA - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-