Как изменить настройки принтера без прав администратора – PythonPython

Программы на 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 и принтерах.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»