2013-06-19 3 views
1

У меня есть несколько отчетов, которые разработаны в ландшафтном режиме, которые отлично работают при предварительном просмотре и печати с помощью элемента управления VB6 Crystal.Печать отчета о кристалле в ландшафте до конкретного принтера

Меня недавно попросили, чтобы принтер быть изменен так, добавлен код для перечисления принтеров и установить PrinterDriver, PrinterName и PrinterPort свойства элемента управления. Хотя это хорошо работает для отчетов о портрете, указание чего-либо, кроме принтера по умолчанию, заставляет средство просмотра отчетов принудительно выводить отчет в ориентацию по умолчанию для выбранного принтера.

Printer.Orientation до vbPRORLandscape не влияет на кристалл, поскольку он использует собственную печатную поверхность. Зритель Кристалл также не имеет возможности указать ориентацию (он установлен в ландшафт в конструкторе)

Microsoft KB198901 имеет образец кода, чтобы изменить ориентацию по умолчанию (после изменения использовать PRINTER_ACCESS_USE), но это влияет ничего, что бы получить доступ этот принтер, пока он не будет снова изменен.

Есть ли способ печати на конкретном принтере И сохранить ландшафтную ориентацию отчета, не изменяя при этом временную конфигурацию системы принтера в альбомной ориентации на время использования элемента управления?

Отчеты сконструированы в Crystal 4.6 и печатаются с помощью средства управления зрителем Crystal 8.0.

+0

Мне будет интересен лучший ответ, чем «кеш-настройки и восстановление после использования». Однако я считаю, что эти настройки сохраняются и используются на уровне очереди печати, который является глобальным (по одному для каждого принтера для всего ПК). Я был бы рад показать, что это неверно! – Bob77

ответ

0

Я полагаю, что вы устанавливаете свойства принтера CRAXDRT.Report PrinterDriver, PrinterName и PrinterPort. Один и тот же объект имеет свойства PaperSize и PaperOrientation. Вы пытались их установить?

+0

Я использую старый VB6 'Crystal.CrystalReport', а не' CRAXDRT.Report'. Кажется, он не раскрывает никаких свойств ориентации. – Deanna

+0

Что такое управление Crystal.CrystalReport? Это CrystalViewer? К сожалению, я использовал Crystal 8 давно. – Lan

+0

Это средство управления зрителем (или совместимое) с VB6. – Deanna

Смежные вопросы