Буферизация не-ascii символов на принтере
У меня есть программа, которая в основном создает текстовый отчет, содержащий не-ASCII символы (точнее, традиционный китайский). Файл прекрасно открывается в текстовых редакторах.
Основная проблема, с которой я столкнулся - это распечатать этот текстовый отчет.
- Если я распечатаю этот файл из блокнота, каналы форм / разрывы страниц не распознаются, и выравнивание становится бесполезным. Не-ASCII символы показывают нормально.
- Если я использую команду "type filename > \\machine\printer", выравнивание работает, но все символы, не входящие в ASCII, печатаются как бессмысленные.
Я пробовал несколько вариантов простой печати, настройки локали системы, изменения кодовой страницы и т. Д., Но не смог заставить его работать.
Первоначально программе было разрешено спулингировать непосредственно на принтер (и она работала нормально), но из-за технологических изменений прямая спулинг запрещена. Я могу работать с текстовым файлом только после его создания.
У кого-нибудь есть идеи как с этим работать?
1 ответ
Найден способ - в основном использовать powershell и принудительное кодирование в UTF-8 в Get-Content. Видимо, спулинг cmd никогда не сможет справиться с этим...