|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
WinAPI. Автоматизация печати
Подскажите, каким образом или способом (догадываюсь, что он не очень сложный) автоматизировать печать файлов разных типов. Существует каталог, содержащий файлы, например таких типов - *.xls, *.html, *.doc, *.txt. Как организовать автоматическую печать на принтер по умолчанию без вывода служебного диалогового Windows-окна подтверждения отправки на печать ?
Последний раз редактировалось werwolf, 09.09.2007 в 13:04. |
#2
|
||||
|
||||
Это подходит?
|
#3
|
|||
|
|||
Нет, не так, всё сложнее. :-(
У меня есть каталог, содержащий 10 файлов. Например, 3 *.xls, 3 *.doc, 2 *.html, 2 *.txt. Нужно всё это отправить на печать через цикл, при условии, что не будет окна подтверждения отправки.
|
#4
|
|||
|
|||
Выражение неудовольствия.
Неужели на форуме отсутствуют профессиональные Дельфийские программеры, могущие мне помочь в этом вопросе ?
|
#5
|
|||
|
|||
вот у меня тоже аналогичній вопрос!
как єто сделать? |
#6
|
|||
|
|||
Если вы хотите это сделать из Delphi (судя по фразе "...отправить на печать через цикл"), то следует осознавать проблему, которая состоит не в том, как сделать, чтобы не вызывался диалог для печати, а в том, что Windows не занимается разборкой типов файлов и напрямую ей нельзя сказать: "печатай такой то файл".
Подозреваю, что вы заметили, что печатью каждого типа файла занимается свое приложение (даже для печати текста без приложения, умеющего это делать вам не обойтись), которое делает перед печатью так называемый рендеринг родственных ему типов данных (в том числе и находящихся в файлах) и только потом отправляет эти данные Windows для печати. Таким образом, чтобы печатать разные типы файлов вы должны в своем приложении на Delphi сделать рендеринг данных из файлов, причем каждый тип файла должен ренедерится по своему. Сам по себе ренедеринг не более чем красивое слово и, если взять, например, xml или html файлы, то для печати достаточно отправить на Printer.Canvas (TPrinter) строки из этих файлов. Если же это xls файл, то исходя из вышесказанного вам без Excel'я не обойтись: придется из приложения вызывать Excel или брать какой-нибудь wiewer сторонних разработчиков для этого типа файла. Аналогично и для других закрытых форматов (для doc придется вызвать MS Word). И сложность будет не в том чтоб подавить появление диалога принтера (как раз это и не будет вызывает трудностей), а в том что вам придется в своем приложении заниматься выводом на принтер каждого типа файла самостоятельно и по разному. Не забывайте делать резервные копии Последний раз редактировалось san-46, 21.08.2008 в 09:35. |