Добавление комментариев в PDF файлы автоматически с помощью регулярных выражений
Я оцениваю академические работы в течение нескольких лет, и я начал видеть многочисленные закономерности в орфографии и грамматических ошибок. Кроме того, я заметил, что менее опытные ученые склонны использовать определенные конструкции, которые немедленно вызывают "запахи" у более опытных исследователей.
Я хотел бы автоматически распознавать и аннотировать их в PDF-файлах. Кто-нибудь знает о скрипте, который я мог бы использовать для автоматического аннотирования и комментариев PDF-файлов? Возможно, он мертв. просто, но я чувствую, что я один из первых, кто задал этот вопрос.
Программирование не проблема.
2 ответов
чтобы решить эту задачу, нужно 3 вещи:
- хороший инструмент извлечения текста, чтобы получить содержимое из PDF-файлов (вы в основном просите об этом).
- знание о том, какие ключевые слова вы хотите использовать, чтобы создать соответствующие текстовые заметки/комментарии и вызвать автоматизм аннотации PDF (вы говорите, что у вас есть это).
- метод вставки ваших комментариев в PDF, желательно на правильных страницах или даже на точно правильном месте на странице (вы просите об этом).
извлечение текста
PDFlib ' S TET (text extraction toolkit)позволяет извлекать текст из любого PDF. Это самый мощный из доступных инструментов извлечения текста PDF, который позволяет вам получить доступ через командную строку и скрипты. Он может справиться с такими странностями (от Р. o.v. извлечение текста), а также различные кодировки текста. Более важно, он может сказать вам точный номер страницы и координаты на странице PDF для любого извлеченного символа или текстовой строки.
вставка PDF annnotations
после того, как вы проанализировали текст, и ваша логика решила, какой комментарий добавить для какой страницы, Вы можете использовать PDFlib или Ghostscript для добавления комментариев ("аннотации") к исходному PDF.
Я не предоставляю учебник о том, как использовать PDFlib для добавления аннотаций к существующим PDF-файлам здесь. Но я буду сливать некоторые инсайдерские знания о том, как Ghostscript может это сделать:
использование Ghostscript для добавления аннотаций в PDF
чтобы добавить аннотацию с Ghostscript в существующий PDF, сначала создайте текстовый файл с именем my-pdfmarks.txt (или любое другое имя, которое вы предпочитаете). Теперь введите в этот текстовый файл содержимое вашей аннотации, используя следующий синтаксис:
[ /Title (Annotation experiments by -pipitas-)
/Author (pipitas)
/Subject (I'm trying to add annotations to existing PDFs with the help of Ghostscript...)
/Keywords (comma, separated, keywords, spelling mistakes, grammar mistakes, raising "smells")
/ModDate (D:20101219192842)
/CreationDate (D:20101219092842)
/Creator (pipitas' brainz)
/Producer (Ghostscript under the direction of pipitas)
/DOCINFO pdfmark
[ /Contents (Smell: This statement was bloody well rebutted by decades of academic research...)
/Rect [10 10 50 50]
/Subtype /Text
/Name /Note
/SrcPg 2
/Open true
/ModDate (D:20101220193344)
/Title (A Comment on Page 2)
/Color [.5 .5 0]
/ANN pdfmark
затем выполните команду Ghostscript следующим образом. Я предполагаю, что Windows сейчас - для Linux/Unix/MacOSX используйте gs
вместо gswin32c.exe
для исполняемого файла, и использовать \
вместо ^
для знаков продолжения строки:
gs ^
-o original-annotated.pdf ^
-sDEVICE=pdfwrite ^
-dPDFSETTINGS=/prepress ^
original.pdf ^
my-pdfmarks.txt
вуаля! ваш выходной PDF теперь имеет аннотацию на странице 2.
теперь вы, вероятно, не поняли, что именно вы делаете:
- первая часть my-pdfmarks.txt файл манипулирует метаданными PDF. Просто удалите его, если не хотите.
- вторая часть добавляет аннотация ( '/ Subtype / Text' и '/Название /Примечание') на стр. 2 ('/SrcPg 2') выходного PDF в левом нижнем углу, в 10 точках от каждой границы страницы ( ' / Rect [10 10 50 50]'), используя зеленоватый цвет DeviceRGB ( ' / Color [0.5 0.5 0]'), и открытие его по умолчанию ( '/ открыть true') при обращении к странице.
Tweakable значения параметров (после каждого ключевого слова) в my-аннотации.txt все но следующее:
- "
/DOCINFO pdfmark
" - "
/Subtype /Text
" - "
/Name /Note
" - "
/ANN pdfmark
"
например, чтобы сделать аннотацию чистой Красной, используйте /Color [1 0 0]
.
чтобы полностью понять синтаксис pdfmark (и добавить дополнительные настройки к вашей процедуре), вам нужно будет google для Adobe pdfmark справочное руководство и прочти это.
С тех пор, как ты сказал'программирование-это не проблема' теперь у вас есть все блоки, чтобы автоматизировать это с любой скриптовый язык по вашему выбору.
на вашем месте я бы начал с библиотека PDF SDK который поддерживает то, что вы ищете:
- экстрактивность
- добавлять комментарии к документам
один недостаток заключается в том, что вы должны подать заявку на него и Adobe может отказать в вашей просьбе.
EDIT:
PDFedit представляется перспективным. Это приложение с открытым исходным кодом GUI, которое позволяет изменять PDF вручную или сценарии.