Как использовать определенный PDF IFilter

Я пытаюсь извлечь текст из файлов PDF с помощью iFilter.

Adobe PDF iFilter, который распределяется с Adobe Reader, ужасен, возвращаясь HRESULT E_FAIL сообщения для многих документов в формате PDF.

FoxIt PDF IFilter работает красиво над фактически всеми PDFs, которые я использовал для тестирования.

Проблема состоит в том, что каждый раз выполнения Adobe Updater, это заменяет потрясающий FoxIt IFilter дрянным Adobe IFilter.

Я использовал метод LoadIFilter для получения зарегистрированного IFilter для файлов PDF. Существует ли способ вынудить API Win32 загрузить FoxIt IFilter вместо Adobe IFilter?

Примечание: Этот вопрос об определении, какие IFilters установлены, спрашивает связанное - но не идентичный - вопрос.

6
задан Community 23 May 2017 в 12:00
поделиться

1 ответ

Кажется, что IFilter зарегистрирован как COM-объект с окнами, поэтому у вас должна быть возможность просто создать его экземпляр с помощью COM.

Из http://msdn.microsoft.com/en-us/library/ms692565 : структура DLL такова, что у нее есть IFilter и IClassFactory

Вы должны иметь возможность создать экземпляр IClassFactory (учитывая CLSID)

проверить http://msdn.microsoft.com/en-us/library/ms684007 http://msdn.microsoft.com / en-us / library / ms680760

3
ответ дан 17 December 2019 в 18:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: