Есть несколько проблем с вашим кодом. Прежде всего, ваш код положения курсора неверный, он должен выглядеть так:
"\u001b*p{0:d}x1:d}Y", 1000, 1000
Это соответствует:
<esc>*p1000x1000Y
у вас было:
<esc>*p1000x*p1000Y
При объединении команд PCL вы сопоставляете одно и то же параметризованное значение и группу, а затем просто добавляете значение + параметризованный символ + значение + параметризованный символ и т. Д. Убедитесь, что последний параметризованный символ является заглавной буквой, обозначающей конец команды PCL. .
Также при определении изображения я рекомендую также указать ширину и высоту в деципоинтах, это должно помочь с масштабированием изображения (* r3A) на странице, поэтому добавьте это (сразу после того, как ваша команда разрешения должна быть в хорошем месте за это):
Int32 deciHeight = original.Height / (int)original.HorizontalResolution * 720;
Int32 deciWidth = original.Width / (int)original.VerticalResolution * 720;
stream("\u001b*t{0:d}h{1:d}V", deciHeight, deciWidth));
Другая рекомендация - записать все это в файл (посмотреть ваши кодировки) и использовать одну из нескольких программ просмотра PCL, чтобы просматривать ваши данные, а не всегда печатать их. Должно сэкономить вам время и лес или два! Я попробовал их все и рекомендую потратить $ 89 и купить pclWorks . У них также есть полный SDK, если вы собираетесь делать много PCL. Мы не используем это, поскольку мы сами жестко кодируем все PCL, но это выглядит хорошо.
Что касается вращения, у нас были проблемы на каком-то устройстве. Вы можете просто повернуть jpg сначала (original.RotateFlip) и затем записать его.
У меня не так много времени сегодня, но надеюсь, что мои комментарии помогут. Я могу проверить ваш код в понедельник или вторник, поработать с ним и опубликовать любые дальнейшие комментарии.
Имейте в виду, что, хотя PCL является стандартом, его поддержка от производителя к производителю и от устройства к устройству может быть проблемой и сильно отличаться. При выполнении основных задач большинство устройств кажутся в порядке; однако, если вы попадете в макрос или сложную графику, вы найдете разницу.