Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение и разбор spool-файла.


matthew_v ©   (2002-03-18 13:01:00) 

Видно, что xxxxx.spl файл имеет строгую структуру, но что-то не могу найти ничего (в WinAPI), что бы могло вернуть массив имен метафайлов (EMF),
относящихся к конкретному JOB. В структурах _JOB_INFOX есть название документа, количество страниц и т.п. Нужных данных не вижу.
Прямое чтение и разбор *.spl не подходит, т.к. чтение происходит из драйвера, а прямой доступ к файлу не рекомендован...
Я просто уверен, что проблема решается элементарно, но как?


matthew_v   (2002-03-19 12:31:00) [1]

В общем, спасибо за помощь. Сам разобрался. )))
Последовательность:
OpenPrinter()
EnumJobs()
GetJob()
Заполнение структуры DOC_INFO_2
(поле dwCommand (или как там его) должно быть DI_JOB_STATUS_READ (или типа того))
Потом
StartDocPrinter()
ReadPrinter()
в указателе на Buf будет получена сслылка на внутренности *.spl нужного JOB
Ну а там уже богатый аппарат для работы с pChar, String, Byte и Char...
В конце
EndDocPrinter() (именно! а не EndDoc как в документации)
Ну и ClosePrinter()
Оказывается все просто...


Наверх

Титульная страница Поиск, карта сайта Написать письмо