Факт для принятия: кросс-платформенная печать сложна.
В зависимости от системы, которую вы используете, команды для отправки текста / файлов на принтер будут очень разными.
Для Windows, вам, вероятно, следует использовать модуль Python win32print, даже если вы говорите, что не хотите его использовать из-за сложности и т. Д. c. Честно говоря, я думаю, что попытка решить ее любым другим способом в конечном итоге будет намного сложнее.
Для Linux, Ма c, Unix, вы можете отправлять команды намного более напрямую, используя LPR. к системному принтеру через встроенный os.popen()
или новый subprocess
модуль в Python, но для Windows я уверен, что вам лучше использовать модуль win32print.
Предоставление Функциональность кросс-платформенной печати всегда будет проблемой из-за различий в базовых подсистемах в разных операционных системах.
Базовый c подход
Вам потребуется отделить logi c вашего кода, так что в зависимости от операционной системы ваша программа выберет правильный метод для выполнения необходимых вам функций печати. Я не знаю, как обойти это.
Использование Python модулей win32 не должно быть таким сложным, как вы думаете.
Для Windows
Это можно сделать с помощью модуля win32print, Здесь хорошо документировано
Для Linux, macOS, Unix
Проверьте использование LPR команды , и объедините это с основными c Python os.popen
вызовами или с использованием нового Python subprocess
модуля
Я знаю, что вы, вероятно, хотели больше «копировать / вставлять дружественный» способ, но это было бы очень сложно без остальной части вашего кода и без знания точных требований / спецификаций для вашего приложения.
Суть в том, что вы, вероятно, в конечном итоге напишите пользовательский код для каждой платформы для печати в любом случае, так что, возможно, лучше прыгнуть в голову первым.