Как я могу предотвратить печать второй страницы вверх ногами? - PullRequest
0 голосов
/ 01 ноября 2018

Я использую старый код VB6, который, кажется, прекрасно работает на рабочем столе Win7. В какой-то момент код использует объект Printer, выполняя такие вещи ...

Printer.font.Bold = True
Printer.CurrentX = xpos
Printer.CurrentY = ypos
Printer.Print LinesToPrintArr(LineNum, i)

Страницы печатаются в дуплексном режиме и переплетаются по длинному краю (вверху), поэтому вы переворачиваете страницы, будучи привязанными по длинному краю. Все напечатано пейзажем. В Windows 7 это работает без проблем. Однако недавно мы начали использовать такие ОС, как Windows Server 2012R2 или новее. По какой-то причине первая страница идеальна, а вторая (сзади первой) напечатана вверх ногами.

Примечание. Созданное приложение фактически вызывает COM-объект для выполнения печать, поэтому запуск приложения (работающего на машине win10) в режиме совместимости (win7) при вызове COM-объекта на сервере (2016) Не думаю, что это поможет.

Пример того, как это должно выглядеть на всех версиях ОС ...

enter image description here

Пример того, как это выглядит на серверной ОС (что неверно) ...

enter image description here

Кто-нибудь знает, почему это происходит на новой серверной ОС (например, на сервере 2016), а не на Windows 7? Есть ли контрольный файл или другой файл поддержки, который я мог бы понизить, который Win7 использует, чтобы сделать эту функцию правильным способом? Я предполагаю, что это связано с объектом принтера vb6, используемым внутри vb6.

...