Найти - Пользователи
Полная версия: изменение кодировки при выводе на печать через win32print
Начало » Python для новичков » изменение кодировки при выводе на печать через win32print
1
Ishayahu
Добрый день!
Пытаюсь распечатать текст через win32print но не могу понять, как там справиться с кодировкой, чтобы выводить текст на русском.
Код такой:
import win32ui
import win32print
import win32con
tetx="""В приемную
Прошу Вас разрешить оплату счёта __________ от _____________
на сумму ___________________________________________________
Целевое назначение _________________________________________
Объект _____________________________________________________
Своевременное предоставление документов гарантирую.
Ответственное лицо ________________________________"""
hDC = win32ui.CreateDC()
print win32print.GetDefaultPrinter()
hDC.CreatePrinterDC(win32print.GetDefaultPrinter())
hDC.StartDoc("Test doc")
hDC.StartPage()
hDC.SetMapMode(win32con.MM_TWIPS)
ulc_x = 1000
ulc_y = -1000
lrc_x = 11500
lrc_y = -15000
hDC.DrawText(tetx, (ulc_x, ulc_y, lrc_x, lrc_y), win32con.DT_LEFT)
hDC.EndPage()
hDC.EndDoc()
Если есть другие варианты вывода текста на печать - с удовольствием их тоже услышу ))
py.user.next
надо первой или второй строкой написать -*- encoding: кодировка_исходника -*-
надо в литерале поставить u“”"
если hDC.DrawText() не принимает юникод-строку, то нужно её закодировать через .encode(нужная_кодировка)
Ishayahu
py.user.next
надо первой или второй строкой написать -*- encoding: кодировка_исходника -*-
надо в литерале поставить u“”"
если hDC.DrawText() не принимает юникод-строку, то нужно её закодировать через .encode(нужная_кодировка)
1) я пробовал это в IDLE (python 3.2)
2) не актуально соответственно
3)
>>>  hDC.DrawText(tetx.encode('cp1251'), (ulc_x, ulc_y, lrc_x, lrc_y), win32con.DT_LEFT)
Traceback (most recent call last):
File "<pyshell#72>", line 1, in <module>
hDC.DrawText(tetx.encode('cp1251'), (ulc_x, ulc_y, lrc_x, lrc_y), win32con.DT_LEFT)
TypeError: must be str, not bytes
py.user.next
Ishayahu
1) я пробовал это в IDLE (python 3.2)
Ishayahu
print win32print.GetDefaultPrinter()
скрипт для второго питона сделан
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB