Оглавление 2
Введение 4
Основные определения, обозначения и сокращения 7
1. Обзорно-аналитическая часть 8
1.1 Принципы и методы обработки текстовых файлов 8
1.2 Анализ существующих решений 9
1. Apache PDFBox 9
2. iText PDF 10
3. Qoppa Software 10
1.3 Функциональные требования 12
1.4 Описание каждого модуля. 13
2. Технологическая часть 16
2.1 Выбор инструментов разработки 16
2.1.1 Язык программирования 16
2.1.2 Среда разработки 16
2.1.3 Система сборки проекта 17
2.1.4 Фреймворк создания 17
2.1.5 Графический интерфейс 17
2.1.6 Система контроля версий (VCS) 18
3. Разработка системы 19
3.1 Описание и разработка шаблона интерфейса 19
3.2 Разработка возможности отображения PDF-файлов 23
3.3 Реализация механизмов поиска фрагментов текста 26
3.3.1 Автоматическое определение фрагментов 26
3.3.2 Ручное определение фрагментов 26
3.4 Разработка механизма конвертации 27
3.4.1 Разработка механизма конвертации pdf-документов в редактируемый формат html 27
3.4.2 Разработка механизма сохранения изменений 28
Заключение 30
Список использованных источников 31
Приложение 33
ПРИЛОЖЕНИЕ 1 33
ПРИЛОЖЕНИЕ 2 34
ПРИЛОЖЕНИЕ 3 36
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЕ 3 38
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЕ 3 40
Portable Document Format (PDF) - межплатформенный формат электронных документов, разработанный фирмой ”Adobe Systems” с использованием ряда возможностей языка PostScript.
При работе с документами данного формата пользователи часто сталкиваются с необходимостью изменить содержимое файла или преобразовать его в редактируемые форматы с целью немедленного редактирования, поиска или хранения. Приложения, главной задачей которых является работа с документами pdf формата, зачастую содержат минимальный набор простейших средств извлечения текстового содержимого, однако при этом теряется символьное и абзацное форматирование, игнорируются таблицы и сложная вёрстка PDF-документа.
На сегодняшний день существуют множество программ, направленные на «точечное» редактирование без преобразования в изменяемые форматы - но арсенал их средств редактирования сильно ограничен. В самом Adobe Acrobat не представляется возможности изменять многие документы, единственное, что программа может предложить, это возможность «аннотирования» текста (ряд инструментов-маркеров для графического выделения нужного фрагмента текста, возможность добавления комментария, зачеркивание выделенного участка документа). При более сложном редактировании пользователи сталкиваются с проблемой расплытия текста, возникновения ошибок отображения файла, что в конечном итоге ведет к невозможности обработки pdf-документов.
Целью дипломной работы является разработка библиотеки приложения, которое поможет пользователям более качественно и эффективно работать с документами данного формата. Позволит не только просматривать уже существующие файлы, но и конвертировать их в формат HTML, для дальнейшего редактирования содержимого.
В рамках выполнения дипломной работы, передо мной были поставлены следующие задачи:
1. Изучение существующих библиотек для работы с документами формата PDF.
2. Определение недостатков существующих подходов.
3. Проектирование архитектуры приложения.
4. Проектирование шаблона графического интерфейса.
5. Реализация графического интерфейса приложения.
6. Разработка механизма отображения pdf-документов.
7. Реализация механизма просмотра документа.
8. Разработка механизма автоматического и ручного поисков фрагментов текста.
9. Разработка механизма конвертации PDF-документов в редактируемые форматы.
10. Разработка механизмов сохранения результатов работы в форматы HTML и PDF.
Помимо стандартных возможностей редактирования, программа будет содержать функции автоматического и ручного поиска фрагментов текста для заполнения. Данные механизмы поиска расширяют функционал разрабатываемого приложения, а также являются отличительной особенностью от существующих аналогов. Принцип работы поиска заключается в обнаружении специальных (служебных) символов, которые подразумевают наличие заполненной информации. На основе сравнения программа автоматически, после открытия очередной страницы pdf- документа, находит данные фрагменты документа, помещая их в таблицу, показывая тем самым пользователю, что он может внести изменения в найденные участки документа. Однако некоторые фрагменты для заполнения могут быть не учтены в процессе поиска, тогда в ход вступает ручное выделение. Пользователю достаточно выделить участок pdf-документа, после чего программа автоматически определит выделенное место, вычислив координаты выделенной области, и выделенный текст, после чего фрагмент будет добавлен в содержимое таблицы, если ранее не находился в ней. Изменяя содержимое фрагментов, помещенных в таблицу, и применяя изменения, пользователю становится доступна новая модифицированная версия документа с минимальными усилиями.
Результатом дипломной работы является создание приложения для облегчения процесса работы с PDF-документами. Приложение позволяет пользователям просматривать файлы данного формата; конвертировать документы в изменяемый формат html, быстро редактировать документ, а также дает возможность поиска фрагментов PDF-документа для редактирования, используя автоматический поиск или ручное выделение фрагментов документа и задавая текст, который нужно будет вставить в данные участки файла.
В процессе выполнения дипломной работы были решены следующие задачи:
Собраны и проанализированы сведения о подходах к применению методов по работе с документами pdf формата, а также уже существующие решения.
Спроектирована и реализована гибкая архитектура приложения.
Выработаны подходы для максимального увеличения скорости разработки и быстродействия самого приложения.
1. Portable Document Format //wiki2.org [Электронный ресурс]. - https: //wiki2. org/ru/Portable_Document_F ormat
2. Apache PdfBox. Официальный сайт. [Электронный ресурс]. -
https: //pdfbox.apache.org/
3. iText PDF. Официальный сайт [Электронный ресурс.] - https://www.ibm.com/developerworks/ru/library/os-j avapdf/index.html
4. Qoppa Software. Официальный сайт. [Электронный ресурс]. -
https://www.qoppa.com/
5. Соловьев Ф.Н. Библиотека извлечения текстовых потоков //Международная конференция RESILIENCE2014 Международного центра по ядерной безопасности института физико-технической информатики. 2015. Издательство: Автономная некоммерческая организация "Институт физико-технической информатики". [Электронный ресурс] - https://elibrary.ru/item.asp?id=24924905
6. The history of pdf //Prepressure.com [Электронный ресурс]. -
https: //www.prepressure.com/pdf/basics/history/2
7. Лагута А. В. Исследование и разработка методов извлечения информации из научно- технической литературы. // Дипломная работа. МГУ. 2013. - 35 с.
http: //seminar.at.ispras .ru/seminar/wp-content/uploads/2012/07/laguta. pdf
8. Шигаров А.О. Технология извлечения табличной информации из электронных документов разных форматов. //Автореферат - Диссертации на соискание ученой степени кандидата технических наук. Иркутск. 2009. 20 с. [Электронный ресурс] - www.ict.nsc.ru/sites/default/files/discouncil/Enlist/Old_Ref/shigarov.pdf
9. Spring Framework. Официальный сайт. [Электронный ресурс]. - https: //proj ects. spring.io/spring-framework/
10. Крейг Уоллс. Spring в действии // 4 издание, ДМК ПРЕСС, Москва, 2013. - 754 с.
11. JavaFX. Официальный сайт. [Электронный ресурс]. - http: //www.oracle.com/technetwork/j ava/j avase/overview/j avafx-overview- 2158620.html
12.SceneBuilder. Официальный сайт. [Электронный ресурс]. - http://gluonhq.com/products/scene-builder/
13. Алексей Рембиттт. Статья по работе с pdf документами [Электронный ресурс] - https://habrahabr.ru/post/69568