Разбор «просмотра пользователями» документов MS Office с Delphi - PullRequest
0 голосов
/ 31 марта 2020

Я создаю форму «плагина» для основного инструмента с API. API позволяет разработчику получить дескриптор файлового объекта. Обратите внимание, что «ручка» находится внутри инструмента. Это не дескриптор уровня операционной системы.

Я создал функции, которые принимают этот дескриптор объекта файла, и он анализирует файл, создавая вывод на основе текста из всех печатаемых символов текста в файле.

Это нормально работает для "обычных" файлов. Однако составные файлы, такие как docx, xlsx и т. Д., Фактически являются формой zip-файла. Таким образом, текстовый вывод представляет собой текстовую версию сжатых данных, а не «представление пользователей», например, «Hello world».

Однако мне нужно запустить текстовые функции в «представлении пользователей» файлов docx и xlsx.

Используя Delphi 10 (или Lazarus \ Free pascal), есть ли какая-нибудь встроенная библиотека или система, которая может помочь мне достичь этого? Другими словами, учитывая дескриптор файла, мне нужно открыть в памяти «представление пользователей» файла, который я затем могу передать своей процедуре текстов, а не всю структуру xml zip.

Когда я гуглил, я обнаружил некоторые возможности, но все они кажутся коммерческими (и дорогими) библиотеками, такими как Dev Express, а также небольшими проектами , такими как . Но с последним примером я думаю, что он работает только с более старыми версиями файлов DOCX. Мне нужен способ, чтобы сделать это будут все версии файлов MS Office, а также то же самое для файлов OpenOffice ODT и тому подобное.

Любая помощь приветствуется

...