Ответ 1
Чтобы решить эту задачу, вам нужно 3 вещи:
- Хороший инструмент для извлечения текста, чтобы получить содержимое из PDF файлов (вы в основном просите об этом).
- Знания о том, какие ключевые слова вы хотите использовать для создания соответствующих текстовых заметок/комментариев и запуска автоматического автоматизатора аннотации PDF (вы говорите, что у вас есть это).
- Способ вставки ваших комментариев в PDF, желательно на правильных страницах или даже на точно правильном месте на странице (вы просите об этом).
Удаление текста
PDFlib TET (инструмент для извлечения текста) позволяет извлекать текст из любого PDF файла. Это самый мощный из доступных инструментов для извлечения PDF-текста, который позволяет вам получить доступ через командную строку и скрипты. Он может обрабатывать такие странности (из p.o.v. извлечения текста) как лигатуры, а также различные текстовые кодировки. Что еще более важно, он может указать вам точный номер страницы и координаты на странице PDF для любого символа или текстовой строки, которую он извлек.
Вставка аннотаций PDF
После того, как вы проанализировали текст, и ваша логика решила, какой комментарий добавить для какой страницы, вы можете использовать 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
Voila! У вашего выходного PDF теперь есть аннотация на стр. 2.
Теперь вы, вероятно, не понимали, что именно вы делали:
- Первая часть файла my-pdfmarks.txt управляет метаданными PDF. Просто удалите его, если вы этого не хотите.
- Вторая часть добавляет аннотацию ('/Subtype/Text' и '/Name/Note') на стр. 2 ('/SrcPg 2') выходного PDF в левом нижнем углу, в 10 точках от каждой страницы border ('/Rect [10 10 50 50]'), используя зеленый цвет DeviceRGB ('/Color [0,5 0,5 0]') и открывая его по умолчанию ('/Open true') при доступе к странице.
Тонкие значения параметров (после каждого ключевого слова) в файле my-annotations.txt являются НО:
- "
/DOCINFO pdfmark
" - "
/Subtype /Text
" - "
/Name /Note
" - "
/ANN pdfmark
"
Например, чтобы сделать аннотацию чисто красным, используйте /Color [1 0 0]
.
Чтобы полностью понять синтаксис pdfmark (и добавить дополнительные настройки к вашей процедуре), вам понадобится руководство Google для Adobe pdfmark и прочтите это.
Поскольку вы сказали, что "программирование не проблема", теперь у вас есть все строительные блоки для автоматизации этого с любым языком сценариев по вашему выбору.