Отличие данной обработки от методик и обработок печати PDF, представленных на Инфостарте и использующих бесплатный PDFCreator, заключается в том, что с помощью этой обработки можно сформировать файл PDF почти из любого документа, который возможно распечатать на принтере. Все остальные методики и обработки, найденные на Инфостарте, печатали табличный документ. В моем случае использовались документы MS Office 2003.
Смысл создания этой обработки заключался в том, что пользователю нужно показать копию документа, находящегося в хранилище. В зависимости от прав пользователя копия должна быть защищена от копирования изменения и т.д. и т.п. В данном случае реализована полная защита от изменений. (Идеальной защиты, конечно же, не бывает ).
За основу была взята обработка //infostart.ru/public/19231/, за что автору большое спасибо.
Расписывать методику не буду, она основательно разжевана в //infostart.ru/public/75969/
Тестировалась обработка на файлах *.doc, *.xls и *.vsd, *.dwg:
1) У книг EXCEL по умолчанию распечатывался только один лист. Поэтому пришлось реализовать перебор всех непустых листов и отправку их на принтер.
2) Просмотрщик TrueDWGViewer, установленный по умолчанию для *.dwg, почему-то открывал диалог печати. Поэтому автоматически сформировать pdf файл не удалось.
3) PDFCreator может сам запускать программу просмотра PDF. Для этого у него есть опция StartStandardProgram. Но программно использовать ее не удалось. Запуск программы просмотра PDF возможен был только если вручную выставить этот флаг в настройках принтера. Пришлось сбросить этот флаг и использовать ЗапуститьПриложение.
Ссылка для скачивания PDFCreator: http://www.pdfforge.org/download