| Автор
| Сообщение |
|
|
|
Цитата |
|
| Как распечатать текстовый файл или файл Microsoft Word без вызова каких-либо диалогов с заранее заданными полями? (левое, правое, верхнее, нижнее)? Заранее огромное спасибо... |
|
| В начало |
|
 |
|
|
 |
 aka57
Я живу тут....

Возраст: 28
Знак зодиака: 
Зарегистрирован: 03.07.2003
Сообщения: 1287
|
|
|
Цитата |
|
| пользуй компанент создания отчетов |
|
| В начало |
|
 |
|
|
|
Цитата |
|
| а без него? с помощью Winapi например? |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
Ну, положим, без ничего с помощью только WinAPI, Word-овские документы не распечатаешь.
Для Word-а придется как минимум заюзать COM.
А в принципе, на канвасе принтера можно нарисовать что угодно .
| Код: | uses Printers;
.....
Printer.Orientation:=poLandscape;
Printer.Title:='Мое задание на печать :)';
Printer.BeginDoc;
{
... дальше берешь Printer.Canvas и попер рисовать
вот я например так делал
x:=GetDeviceCaps(Printer.Handle,PHYSICALOFFSETX);
y:=GetDeviceCaps(Printer.Handle,PHYSICALOFFSETY);
hr:=GetDeviceCaps(Printer.Handle,HORZRES);
vr:=GetDeviceCaps(Printer.Handle,VERTRES);
Printer.Canvas.StretchDraw(Rect(0-x,0-y,hr+x,vr+y),Emf);
// ну естественно Emf-файл уже нарисован с полями
}
Printer.EndDoc;
|
_________________ Пойду посплю перед сном. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
А если с помощью COM?
Пробовал с помощью TPrinter выводить построчно текстовый документ... так задание появлялось в списке, а потом вылетала ошибка Access Violation... Так и не понял в чем дело.. |
|
| В начало |
|
 |
|