Управление работой Adobe Acrobat из внешней программы

Способы открытия документа.

Приведенные особенности проявились на Acrobat 4.0, 5.0

Казалось бы в Acrobat SDK есть несколько функций и все они должны выполнять одну задачу - открывать файл в окне Acrobat-a либо в заданном окне программы.

Для этого имеются AVDoc.Open, AVDoc.OpenInWindow(OpenInWindowEx) и PDDoc.Open/PDDoc.OpenAVDoc. Указанные функции справляются с поставленной задачей каждая по своему.Коротко рассмотрим подводные камни.

1 AVDoc.Open - открывает файл в основном окне программы. Одна неприятная особенность - при скрытом окне программы сообщения об ошибочном открытии, как и о различных неполадках не выводятся на экраан и программа просто зависает. Испорченные файлы не восстанавливаются. Проблема с сообщениями решается при помощи AVDoc.OpenInWindow.

2 AVDoc.OpenInWindow - открывает PDF файл во внешнем окне. Функция не предпринимает попытку восстановить испорченные файлы и не выдает никаких сообщений об ошибках и особенностях загрузки файла. В случае неудачи возвращает ошибку. Тем самым данный метод кроме своего основного назначения способен выполнять роль теста для AVDoc.Open.

3 PDDoc.Open - функция открывает документ и создает для него окно в основной программе. Производится попытка восстановить испорченный файл. Сообщения об ошибкай выдаются. В случае неудачного открытия возвращает ошибку. Выводы: По мнению автора слой PD в Adobe Acrobat сделан более добротно. Поддтверждением этого обстоятельства является тот факт, что функция PDDoc.Open работает наиболее грамотно и стабильно.