Вниз
Скачать: 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.017 c
1-77870
finger22
2003-07-13 19:50
2003.07.24
подскажите синтаксис


3-77792
Тимофеев Илья
2003-06-30 14:27
2003.07.24
Фильтрция записей


7-78180
MGA
2003-05-05 13:34
2003.07.24
Как отключить Ctrl+Alt+Del в WinXP


1-77876
Всё равно
2003-07-13 23:36
2003.07.24
Свой компонент


1-77957
avch
2003-07-08 12:15
2003.07.24
Добрый день, помогите плиз. (COM-сервер)




   Наверх