Вниз
Скачать: CL | DM;

Печать на плоттер   Найти похожие ветки 

← →
Maverick   (2003-05-14 09:38) [0]

Проблема в том, что при очередном выводе в Printer.Canvas программа вроде как зависает. Перед этим всё благополучно уходит. Может быть при выводе на плоттер есть какие-то свои особенности? Может быть стоит делать NextPage? А как тогда узнать, сколько элементов может влезть в этот плоттер?
Ещё одна проблема в том, что юзер с плоттером находится далеко и посмотреть, как всё это выглядит, я не могу. :(


← →
Слесарь Матерящийся ©   (2003-05-14 11:32) [1]

IMHO, надо проверить на каком-либо принтере (не-плоттере, лучше поставить какой-нибудь "Epson Compatible 24pin", etc), предварительно перенаправив вывод в файл (порт FILE: спулера печати). Если всё пройдёт гладко (получим файл с данными печати), и ничего не повиснет, значит, в первом приближении, код не виноват.
Если код не виноват, то, возможно, дело в режиме вывода.
Постарайтесь не использовать операции таких типов, какие рендер не поддерживает (например, вывод растровой картинки на векторный плоттер).
Какие операции плоттер поддерживает - можно узнать с помощью ф-и GetDeviceCaps() WinAPI.
Ещё одна возможность - не использовать TCanvas, а рисовать прямо на hdc. IMHO, гораздо проще.

Плюс - если плоттер доступен через сеть, поставить его на локальном компе и перенаправить вывод в тот же порт FILE: - эта проверка поможет понять, всё ли в порядке с транспортом данных по сети.

Разумеется, всё это лишь предположения, делать именно так не обязательно, одним словом, IMHO...


← →
Maverick   (2003-05-15 11:02) [2]

Да в том-то и дело, что у меня всё печатает прекрасно. В сетке несколько принтеров и проблем никаких не наблюдается.
В канвас же я вывожу как раз векторную графику (moveTo, lineTo).
А рисовать на hdc, как я понимаю, можно так же, как и на канвас, теми же функциями?


← →
Слесарь Матерящийся ©   (2003-05-15 11:54) [3]

На hdc можно рисовать с помощью MoveToEx() и LineTo(), для создания пера - CreatePen() и для выбора пера - SelectObject(). Все функции - WinAPI. В остальном всё то же самое.


← →
Maverick   (2003-05-16 10:19) [4]

Вы таки будете смеяться, но мне удалось уговорить пользователя переустановить драйвера и проблема вроде как исчезла! :)
Одно не понятно, другой софт, например AutoCAD, выводил на этот плоттер не смотря на кривость драйверов. Наверное, использовать winAPI лучше, чем tPrinter.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-77714
Alfred77777
2003-06-30 09:39
2003.07.24
Пустое поле


1-77871
Jumbo
2003-07-13 14:48
2003.07.24
Из одного проекта - две программы (Lite и Full версии)


7-78179
dim-
2003-05-14 21:28
2003.07.24
Как отследить из какой программы была послана печать и сколько ко


3-77800
Demka
2003-07-02 10:58
2003.07.24
select from TQuery


1-77930
Veles
2003-07-10 14:54
2003.07.24
Изображение в Excel




   Наверх