Буферизация не-ascii символов на принтере

У меня есть программа, которая в основном создает текстовый отчет, содержащий не-ASCII символы (точнее, традиционный китайский). Файл прекрасно открывается в текстовых редакторах.

Основная проблема, с которой я столкнулся - это распечатать этот текстовый отчет.

  1. Если я распечатаю этот файл из блокнота, каналы форм / разрывы страниц не распознаются, и выравнивание становится бесполезным. Не-ASCII символы показывают нормально.
  2. Если я использую команду "type filename > \\machine\printer", выравнивание работает, но все символы, не входящие в ASCII, печатаются как бессмысленные.

Я пробовал несколько вариантов простой печати, настройки локали системы, изменения кодовой страницы и т. Д., Но не смог заставить его работать.

Первоначально программе было разрешено спулингировать непосредственно на принтер (и она работала нормально), но из-за технологических изменений прямая спулинг запрещена. Я могу работать с текстовым файлом только после его создания.

У кого-нибудь есть идеи как с этим работать?

1 ответ

Найден способ - в основном использовать powershell и принудительное кодирование в UTF-8 в Get-Content. Видимо, спулинг cmd никогда не сможет справиться с этим...

Другие вопросы по тегам