Возьмите загруженные файлы на plone и загрузите их через скрипт на python?

1

Я создал сайт документов на Plone, с которого можно загружать файлы. Я видел, что plone сохраняет их в файловой системе в виде большого двоичного объекта, теперь мне нужно провести их через скрипт на python, который будет обрабатывать PDF файлы, загруженные с помощью OCR. У кого-нибудь есть идеи как это сделать? Спасибо

Теги:
pdf
ocr
blob
plone

1 ответ

0

Не уверен, как извлечь PDF файлы из BLOB-хранилища или, если это вообще возможно, но вы можете извлечь их с работающего Plone-сайта.

Если слабое распознавание типа файла по окончанию имени файла достаточно хорошо, вы можете выполнить этот метод (проверено через вызов браузера):

import os


def exportPdfFiles(context, export_path):
    """
    Write all items which are of portal_type 'File'
    and whose ids end with '.pdf' to export_path.
    """

    search_results = context.portal_catalog(portal_type='File', Language='all')

    for search_result in search_results:


        if search_result.id.endswith('.pdf'):

            file_path = export_path + search_result.getPath()

            file_content = search_result.getObject().data

            parent_path = '/'.join(file_path.split('/')[:-1])


            if not os.path.exists(parent_path):

                os.makedirs(parent_path)


            with open(file_path, 'w') as fil:

                fil.write(file_content)

                print 'Wrote ' + file_path

Более новые Plone-версии предоставляют MIMEtype-info об объектах, что позволяет фильтровать результаты поиска для файлов типа PDF.

В этом примере структура папок сайта Plone хранится в каталоге экспорта. Если вы хотите, чтобы они были плоскими в одном каталоге, необходима проверка на наличие дублирующихся имен файлов.

  • 0
    Вы были очень добры, спасибо большое!
  • 0
    Де нада, хорошего времени экспорта!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню