Преобразование объектов PDF OLE обратно в файл (вложения) в Lotus Notes?

У меня есть база данных с множеством PDF-документов, встроенных в виде объектов OLE в поля Notes RichText. Они несовместимы с XPages, поэтому мне нужно преобразовать объекты OLE в файлы (вложения). Как я могу сделать это в автоматическом режиме (я знаю, что он должен работать в клиенте Notes (должен ли?) - или есть способ POI для их извлечения?

Пояснение
Я могу извлечь большой двоичный объект (в память, если захочу), но запись его на диск не создает файл PDF, поскольку этот большой двоичный объект является контейнером OLE. Итак, я вижу 2 возможных пути:

  • Активируйте объект OLE и используйте там метод
  • Прочитайте большой двоичный объект и получите что-то, что извлекает часть PDF (возможно, Apache POI)

Но я не прикасался ни к одному из этих подходов, и мне было интересно, может ли какой-нибудь совет сэкономить мне часы тестов.


person stwissel    schedule 23.10.2012    source источник
comment
Какие методы объекты PDF OLE предоставляют LotusScript?   -  person Richard Schwartz    schedule 23.10.2012
comment
Хороший вопрос. активировать я полагаю, но тогда... Мне нужна помощь :-)   -  person stwissel    schedule 24.10.2012
comment
Прошло слишком много времени с тех пор, как я даже думал об автоматизации OLE в Notes, поэтому я не помню достаточно, чтобы действительно помочь. Но я нашел ссылку на Acrobat OLE API: livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhelp/   -  person Richard Schwartz    schedule 24.10.2012
comment
Похоже, в классе AcroExch.AVDoc есть метод сохранения.   -  person Richard Schwartz    schedule 24.10.2012
comment
То же самое. Когда кто-то говорит OLE, я думаю об испанском приветствии. Пора стряхнуть воспоминания :-)   -  person stwissel    schedule 25.10.2012


Ответы (2)


Возможно ли это с помощью инструментов dxl? Я работал с экспортером dxl для извлечения встроенных изображений из документа, может быть, это также выполнимо с объектами ole?

Я использовал слегка измененную версию объекта EmbeddedImage проекта коллекции золота lotusscript на openntf

Эта библиотека содержит объект Embeddedimagelist, который ищет теги изображений в DXL и пытается проанализировать его содержимое. Возможно, это также применимо к встроенным объектам ole.

person jjtbsomhorst    schedule 23.10.2012
comment
Этот шаг довольно прост. Проблема начинается, когда у вас есть этот блоб в памяти. Запись на диск не создает файл PDF. Это контейнер OLE - что с ним делать, это как раз мой вопрос - person stwissel; 24.10.2012

Я бы подумал, что это что-то вроде поиска %PDF, а затем сохранения всего, так как в качестве файла должен быть указан PDF. Теоретически в файле OLE может быть куча вещей, но в большинстве случаев вы получите файл, просто с префиксом заголовка OLE (или как он там называется).

Я использовал этот подход в одном случае (но не для PDF), и, похоже, он работал нормально.

Я предполагаю, что именно на этом подходе openntf, о котором говорит jjtbsomhorst, основан :-)

person Normunds Kalnberzins    schedule 24.12.2013
comment
Я попробую. Я подозреваю, что Apache POI может помочь - person stwissel; 27.12.2013