Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Печать файла из PB.  [new]
GEAN
Guest
Имеются шаблоны в текстовом формате. В PB эти файлы обрабатываются ( констаны заменяются на определенные значения из базы данных). Вопрос: как распечатать файл из PB?
26 окт 04, 09:04    [1060080]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
GEAN
Guest
Неужели PB настолько беден, что нельзя выполнить печать файла?
26 окт 04, 09:45    [1060178]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
GEAN
Guest
Удалось распечатать текстовый файл. После обработки файла он записывается в ввиде строки в базу. Далее в DataWindow отображаем тексовое поле из базы в котором записан файл.(с последующей печатью) При этом сохраняется форматирование.
Но такой подход не подойдет для html файлов. Т.к. теги отображаются и соответственно печатаются как текст.
Теперь вопрос звучит следующим образом: как распечатать html файл из PB.
26 окт 04, 10:18    [1060278]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Вопросы поставлены не правильно. Правильный вопрос - как открыть из PB через OLE или COM браузер IE или же редактор Word, указать ему документ и вызвать печать. Вот сюда и копайте :)
26 окт 04, 10:24    [1060300]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
По поводу печати текстовых документов смотрите в помощи "Print Functions". RTFM всегда рулит :)
26 окт 04, 10:25    [1060304]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
GEAN
Guest
Видимо для html файлов вопрос будет звучать так как его сформулировал ASCRUS. Как открыть файл из PB через OLE или COM браузер IE или же редактор Word, указать ему документ и вызвать печать?
ASCRUS - большая просьба, если для тебя это уже пройденный этап, поделится информацией.
Заранее благодарен.
26 окт 04, 10:30    [1060325]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Для начала заглядываем в FAQ:
https://www.sql.ru/faq/faq_topic.aspx?fid=192
можно там и по другим ссылкам походить. На документы HTML рекомендую так же использовать Word, так как IE не очень хорошо занимается печатью.
26 окт 04, 10:58    [1060422]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
GEAN
Guest
Спасибо. Очень помогло.
Но на печать файл не удается вывести. Что не так

OLEObject ole_object
ole_object = CREATE OLEObject

IF ole_object.ConnectToNewObject("word.application.10") = 0 THEN
ole_object.Documents.open("k:\prog12\test.htm")
ole_object.Documents.visible=false
ole_object.Documents.Print()

ELSE
MessageBox('OLE Error','Unable to start an OLE server process!',Exclamation!)
END IF

Что не так?
26 окт 04, 12:14    [1060824]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
ASCRUS
На документы HTML рекомендую так же использовать Word, так как IE не очень хорошо занимается печатью.

А проблемы и там и там бывают, и HTML они по разному воспринимают. Так что по ситуации.

Можно с IE вот так работать:
Просмотр:

ShellExecute(Handle,'open',PChar('c:\Report.htm'),'',nil,WS_MAXIMIZE);
Печать:

ShellExecute(Handle,'open','rundll32.exe',PChar('MSHTML.DLL,PrintHTML'+'c:\Report.htm'),nil,SW_SHOW);

Или через OLE.
26 окт 04, 13:05    [1061102]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
GEAN
Guest
[quot Локшин Марк]
А как печать через word.
26 окт 04, 13:36    [1061318]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
GEAN
А как печать через word.

ole_object.Application.PrintOut()
26 окт 04, 14:01    [1061460]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
GEAN
Guest
[quot Локшин Марк][quot]
Спасибо!
26 окт 04, 14:30    [1061613]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
Enlighten me
Member

Откуда:
Сообщений: 172
Локшин Марк
ShellExecute(Handle,'open',PChar('c:\Report.htm'),'',nil,WS_MAXIMIZE);
Печать:

ShellExecute(Handle,'open','rundll32.exe',PChar('MSHTML.DLL,PrintHTML'+'c:\Report.htm'),nil,SW_SHOW);

Вот они плоды полиглотсва - дельфийский синтаксис в пэбэшном форуме. Так начинающего автора топика можно окончательно смутить. ;-))
26 окт 04, 15:20    [1061875]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
Геннадич
Member

Откуда: Алматы
Сообщений: 640
Вот так можно печатать прямо из мультилайн:
If mle_text.text <> "" Then
ls_Temp = "Наименование данных"
Job = PrintOpen(ls_Temp)
PrintDefineFont(Job, 2, ls_Font, &
li_Size, li_Weight, Default!, Modern!, FALSE, FALSE)
PrintSetFont(Job, 2)
ls_Text = mle_Text.text
Print(Job, ls_Text)
PrintClose(Job)
End If
27 окт 04, 06:25    [1063273]     Ответить | Цитировать Сообщить модератору
 Re: Печать файла из PB.  [new]
Riska
Member

Откуда: Израиль
Сообщений: 989
А как распечатать файл формата sxw (OpenOffice)?
В таком виде:
ole_object.Application.PrintOut() 
не проходит.
2 мар 05, 21:02    [1357953]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить