Получить эскиз файла PDF в CMIS

Я использую Apache Chemistry OpenCMIS для доступа к своему репозиторию Alfresco и получения файлов. Я могу получить миниатюры с помощью воспроизведения файла (cmis:thumbnail), но, похоже, это работает только для изображений. Можно ли получить эскизы для PDF-файлов? Если так, как я должен сделать это?

1 ответ

Решение

Конечно, это возможно. Тот же звонок, который вы используете для получения изображений, работает и для офисных документов. У меня нет времени, чтобы показать вам Java (то, что вы уже делаете, все равно будет работать), но вот как вы это делаете в Python, который очень похож:

>>> doc = repo.getObject("workspace://SpacesStore/5515d3e1-bb2a-42ed-833c-52802a367033")
>>> doc.name
u'Project Objectives.ppt'
>>> rends = doc.getRenditions()
>>> rends
[<cmislib.model.Rendition object at 0x1102d3210>, <cmislib.model.Rendition object at 0x1102d3990>]
>>> rends[0]
<cmislib.model.Rendition object at 0x1102d3210>
>>> rends[0].href
u'http://localhost:8080/alfresco/cmisatom/a00f3835-612c-47a0-a0ae-1e95d9a80e73/content?id=workspace%3A%2F%2FSpacesStore%2F5515d3e1-bb2a-42ed-833c-52802a367033%3B1.0&streamId=workspace%3A%2F%2FSpacesStore%2Fe725ee47-62c6-4ae9-a761-9b69ba2835c5'
>>> rends[0].title
u'doclib'
>>> rends[1].title
u'webpreview'
>>> rends[1].href
u'http://localhost:8080/alfresco/cmisatom/a00f3835-612c-47a0-a0ae-1e95d9a80e73/content?id=workspace%3A%2F%2FSpacesStore%2F5515d3e1-bb2a-42ed-833c-52802a367033%3B1.0&streamId=workspace%3A%2F%2FSpacesStore%2F41c25437-ce2e-47e1-8e3d-a2f3008e7456'
>>> rends[1].getMimeType()
u'application/x-shockwave-flash'

В этом случае я получаю представления файла PowerPoint с примера общего ресурса дизайна веб-сайта, который поставляется со всеми установками. Вы можете видеть, что у него есть две передачи. Одним из них является миниатюра doclib, которая отображается в списке библиотек документов. Другой - это флэш-файл, используемый для предварительного просмотра презентации при открытии представления сведений о документе.

Другие вопросы по тегам