Nano Hash - криптовалюты, майнинг, программирование

Извлечение аннотаций/комментариев PDF

У нас довольно сложный рабочий процесс печати, в котором управление заключается в добавлении комментариев и аннотаций к черновым версиям сгенерированных PDF-документов с помощью Adobe Reader или Adobe Acrobat. В рамках рабочего процесса импортированные PDF-документы с аннотациями и комментариями должны быть проанализированы, а аннотации должны быть импортированы в систему CMS (вместе с PDF-файлом).

В: Существуют ли какие-либо надежные инструменты (предпочтительно Python или Java) для извлечения таких данных чистым и надежным способом в файлы PDF?

06.12.2012

  • Не могли бы вы поместить ссылку на образец PDF-файла с аннотацией и комментарием, чтобы мы могли над ним поработать. 06.12.2012

Ответы:


1

Этот код должен выполнять эту работу. Один из ответов на вопрос Разбор аннотаций из pdf очень помог мне написать приведенный ниже код. Он использует библиотеку poppler для разбора аннотаций. Это ссылка на annotations.pdf.

код

import poppler, os.path

path = 'file://%s' % os.path.realpath('annotations.pdf')
doc = poppler.document_new_from_file(path, None)
pages = [doc.get_page(i) for i in range(doc.get_n_pages())]

for page_no, page in enumerate(pages):
    items = [i.annot.get_contents() for i in page.get_annot_mapping()]
    items = [i for i in items if i]
    print "page: %s comments: %s " % (page_no + 1, items)

вывод

page: 1 comments: ['This is an annotation'] 
page: 2 comments: [' Please note ', ' Please note ', 'This is a comment in the text'] 

установка

В Ubuntu установка выглядит следующим образом.

apt-get install python-poppler
06.12.2012
  • Это именно то, что мне нужно, но у меня огромные проблемы с установкой poppler. Будем очень признательны за любую помощь - я только что задал вопрос здесь 24.08.2015
  • @simmons Я разместил инструкции по установке для Ubuntu. Я не смог установить его через pip 24.08.2015
  • Вам нужно libpoppler-cpp-dev в Ubuntu, прежде чем запускать pip install python-poppler. 01.09.2020
  • После установки python-poppler я получаю AttributeError: module 'poppler' has no attribute 'document_new_from_file' 01.09.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..