Подход к автоматизации формирования документов MS Word
Применение скриптового интерпретируемого языка программирования, интерпретатор которого взаимодействует с MS Word DOM. Описание языка VT-Script. Использование интерпретатора VT-Word и определенных алгоритмов. Изучение внутреннего устройства программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 28.01.2019 |
Размер файла | 873,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПОДХОД К АВТОМАТИЗАЦИИ ФОРМИРОВАНИЯ ДОКУМЕНТОВ MS WORD
Д.А. Зиновьев Зиновьев Дмитрий Александрович, студент, специальность «Кибернетика, информационные системы и технологии»
Zinoviev Dmitry, Student,
Национальный исследовательский Иркутский государственный технический университет, 664074, г. Иркутск, ул. Лермонтова, 83.
Рассматривается задача автоматизации формирования документов в MS Word. Заказчиком (крупной финансовой компанией, название которой запрещено разглашать в целях конфиденциальности) были установлены серьезные требования к будущему продукту: высокое качество сформированного документа (визуального и внутреннего представления); логика формирования документа, которую необходимо сделать открытой для возможности внесения изменений в тексты шаблонов и логику формирования пользователями АС; технология должна быть применима в web-приложении. Следуя этим требованиям и изучив решения в области автоматизированного формирования документов MS Word, было принято решение о создании АС, в составе которой будет реализован интерпретатор языка, находящегося в тексте документа. Так как подобные продукты являются проприетарным ПО (программное обеспечение), то использование их в качестве модулей программы является невозможным. Интерпретатор взаимодействует с объектной моделью Microsoft Word и изменяет документ, добавляя текст, меняя его форматирование, удаляя конструкции языка, создавая таблицы. Создание таблиц из HTML-подобной строки является главной особенностью подхода, так как подобные решения не предоставляют такой возможности. Использование интерпретатора в составе АС подготовки документации позволит облегчить рутинную работу. Возможности языка достаточны для формализации требуемой логики в шаблонах финансовых документов. Язык и его интерпретатор не привязаны к конкретной предметной области и могут быть использованы для широкого класса задач формирования документации.
На рынке сегодняшнего дня существует масса решений, помогающих составить документ MS Word, с какой либо стороны автоматизировать этот процесс так, что бы в итоге облегчить работу пользователя. Все эти решения разнообразны в своих подходах и возможностях, однако у всех результатом деятельности является документ в готовом его виде. Рассмотрим подобные решения и теоретическое описание созданного нового продукта, работающего в этой области.
Обследование предметной области
Практически все организации, так или иначе, используют MS Word для формирования документации. Зачастую приходится вручную заполнять подготовленные заранее шаблоны документов, и, как правило, процесс формирования трудоемок, потому как необходимо перемешаться по тексту документа, следить за форматированием, вручную проверять вводимые данные на валидность и случайные ошибки и т.д. Формат документов MS Word является открытым, но при этом крайне сложен в реализации и как следствие, качественных сторонних редакторов документов в форматах MS Word практически нет.
Самым распространенным редактором документов MS Word, кроме конечно самого Word'a, является Open Offiсe, качество работы которого оставляет желать лучшего. С другой стороны, процесс формирования документа необходимо автоматизировать, тем самым повысив качество формируемых документов (если автоматизация была качественной), так снижаются расходы на контроль формируемых документов, увеличивается производительность труда работников, избавляя их от рутины. Достижение этих целей можно реализовать разными путями, если рассматривать принципы автоматизированного формирования документа можно выделить несколько походов:
1. Трансляторы из иных форматов в форматы MS Word.
2. Средства расширения функциональности Microsoft Office.
3. Вынесение логики формирования документа в шаблон MS Word. Логика задается с помощью скриптового интерпретируемого языка программирования, интерпретатор которого взаимодействует с MS Word DOM.
Существует множество программ-трансляторов, все они не обеспечивают высокого качества формируемого документа, примером такой программы может быть приложение Fine Reader компании ABBYY.
Средства расширения функциональности Microsoft Office, например VSTO, предоставляют удобные интерфейсы для работы с Word разработчикам, но инкапсулируют логику создания документа внутри себя, поэтому принципы их работы ненаглядны и жестко привязаны к шаблону документа.
Программы, выносящие логику формирования документа в шаблон MS Word, не привязаны к шаблону документа и наглядны, что характеризует этот метод с лучшей стороны, но все найденные приложения такого типа не предоставляют инструментов для создания таблиц. Качество готового документа таких программ зависит от реализации каждого конкретного продукта.
Постановка задачи
Компания, в которой я проходил преддипломную практику, ставила перед собой ряд целей при разработке АС подготовки документации:
1. Высокое качество сформированного документа (визуального и внутреннего представления).
2. Логику формирования документа необходимо сделать открытой для возможности внесения изменений в тексты шаблонов и логику формирования пользователями АС.
3. Технология должна быть применима в web-приложении.
Этим критериям отвечает метод вынесения логики формирования документа в шаблон MS Word. Исследуя ассортимент таких программ, мы приходим к выводу, что аналогичные продукты не обладают необходимым функционалом и являются проприетарным ПО, что подразумевает невозможность их использования в качестве модулей программы. Логичным последствием этих изысканий является разработка собственного скриптового языка программирования и его интерпретатора, удовлетворяющие предъявляемым требованиям.
Описание языка VT-Script
Был разработан язык VT-Script грамматики LL(1). Грамматика определяет синтаксис языка программирования, класс грамматики LL (1), первое "L" в LL(1) означает сканирование входного потока слева направо, второе "L" - получение левого порождения, а "1" - использование на каждом шаге предпросмотра одного терминала для принятия решения о действиях синтаксического анализатора. Терминал, в свою очередь - это значащая конструкция языка, например строка или условие. Грамматика LL(1) была выбрана, так как её реализация является наиболее простой, потому как необходимо знать лишь один следующий за текущим токен, чтобы принять решение о действиях синтаксического анализатора (о нем позже). Класс грамматик LL(1) достаточно богат для того, чтобы охватить большинство программных конструкций.
В языке существуют следующие типы данных: int (целочисленный тип), double (число с плавающей запятой), bool (логический тип данных), string (строка), data (временной тип). Так же реализована возможность создания переменных различных типов (они могут быть объявлены как внутри документа, так и могут быть внешними), а так же массивов. Имеются условные конструкции, циклы и различные программные функции.
Среди прочего, реализован вспомогательный язык разметки. Его конструкции представляют и себя теги наподобие тегов XML с той лишь разницей, что параметрами тегов являются json-конструкции. С помощью конструкций языка можно изменять форматирование текста и создавать самые различные таблицы. Вспомогательный язык занимает особое место в интерпретаторе, дело в том, что его конструкции могут находиться только в строке, т.е. внутри конструкции главного языка, между открывающей кавычкой и закрывающей. В случае если при выводе на экран в такой строке будут обнаружены конструкции вспомогательного языка, то дополнительно будет произведена его обработка. Функционал скриптового языка удовлетворяет всем требованиям АС.
Информационная технология
Грамматика языка предполагает использование вполне определенных алгоритмов реализации его интерпретатора. Созданный интерпретатор получил название VT-WordScript. Можно выделить основные его модули: модуль взаимодействия с исходным текстом программы, синтаксический анализатор, лексический анализатор, стековая машина.
Модуль взаимодействия с исходным текстом программы производит всю работу по чтению, вставке и удалению текста и таблиц, а так же изменения форматирования текста, он непосредственно связан с лексическим анализатором.
Лексический анализатор запрашивает поток символов у модуля взаимодействия с исходным текстом, и группирует эти символы в значащие последовательности, называющиеся лексемами. Для каждой лексемы анализатор строит выходной токен (token) вида (имя_токена, значение_атрибута) имя_токена, представляет собой абстрактный символ, использующийся во время синтаксического анализа, а второй компонент, значение_атрибута, указывает на запись в таблице символов, соответствующую данному токену. Далее токены передаются на следующую фазу - синтаксическому анализатору.
Синтаксический анализатор получает строку токенов от лексического анализатора и проверяет, может ли эта строка имен токенов порождаться грамматикой исходного языка. Мы также реализовали в синтаксическом анализаторе “режим паники”, который активируется при нахождении ошибки. В этом режиме, если ошибка не фатальная, то программа отработает, но в итоговом документе будет содержаться пометка, в каком месте произошла ошибка и её описание. Синтаксический анализатор работает по методу рекурсивного спуска. То есть, программа состоит из набора процедур, по одной для каждого нетерминала.
Нетерминал (нетерминальный символ) - объект, обозначающий какую-либо сущность языка (например: формула, арифметическое выражение, команда) и не имеющий конкретного символьного значения. Работа программы начинается с вызова процедуры для стартового символа и успешно заканчивается в случае сканирования всей входной строки.
Синтаксический анализатор в ходе своей работы формирует инструкции для модуля стековой машины (инструкции стековой машины) которая в свою очередь формирует высокоуровневые инструкции для модуля взаимодействия с исходным текстом программы. Так завершается круг работы интерпретатора (рисунок).
программирование интерпретатор алгоритм скриптовый
Рисунок 1. Внутреннее устройство программы
Пример формирования документа
До обработки документа интерпретатором:
После обработки:
Использование интерпретатора VT-Word Script в составе АС подготовки документации позволит облегчить рутинную работу. Возможности языка VT-Script достаточны для формализации требуемой логики в шаблонах финансовых документов. Язык и его интерпретатор не привязаны к конкретной предметной области и могут быть использованы для широкого класса задач формирования документации.
Библиографический список
1. Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман Компиляторы: принципы, технологии и инструментарий, 2 изд. М.: Вильямс, 2008.
Размещено на Allbest.ru
...Подобные документы
Преимущества использования Word при создании веб-страниц. Его публикация Word в библиотеке документов. Преобразование документа Word в веб-страницу. Функции HTML-конвертора Word97. Пересмотр документа Word и веб-страницы. Отображение закладок в документе.
реферат [23,6 K], добавлен 06.04.2010Описание Visual Basic Scripting Edition как скриптового языка программирования, интерпретируемого компонентом Windows Script Host. Правила работы языка и применение VBS-сценариев для обработки данных, управления системой, работы с учетными записями.
доклад [31,3 K], добавлен 11.05.2012Основные типы файлов Word. Режимы отображения документа. Преимущества стилевого оформления документов. Основные сведения о шрифтах. Средства автоматизации обработки текста в MS Word. Использование объектов OLE. Порядок сохранения файлов, выбор папки.
презентация [1,9 M], добавлен 17.12.2014Основные функции текстового процессора Word. Создание документа Word. Использование шаблонов документов. Удаление, копирование и перемещение текста. Сохранение, закрытие и открытие документа. Изменение шрифтов, выравнивание текста и использование стилей.
курсовая работа [71,6 K], добавлен 17.08.2011Методика создания приложений передающих данные в Microsoft Word. Технология взаимодействия приложений с текстовым редактором Microsoft Word. Создание и использование экземпляров серверов автоматизации. Взаимодействие с сервером на уровне документа.
курсовая работа [120,7 K], добавлен 26.03.2010Запуск Word. Выход Word. Настройка пользовательского интерфейса. Панели инструментов Word. Контекстное меню Word. Подсказки, которые выдает Word. Система Справки Word. Открытие и сохранение документа. Изменение имени и места хранения документа.
лабораторная работа [241,7 K], добавлен 10.03.2007Знакомство с основными возможностями программы MS Word при редактировании документов. Общая характеристика инструментов, применяемых при форматировании документа. Рассмотрение особенностей установки колонтитулов. Анализ общих требований безопасности.
реферат [3,6 M], добавлен 20.02.2015Характеристики и возможности редактора MS Office Word 2007: интерфейс, окно формул, стандартные блоки; сохранение документов в формате PDF, XML; сравнение документов, их совместное использование; вставка и группировка фигур; объекты SmartArt, WordArt.
контрольная работа [6,6 M], добавлен 21.06.2011Основные правила работы с текстовым редактором Word: запуск программы, открытие и сохранение документа, описание возможностей панели инструментов. Вставка сносок, рисунков, диаграмм, построение таблиц, создание списков. Методика форматирования текста.
методичка [166,5 K], добавлен 05.07.2010Устройство персонального компьютера и устройства внешней памяти. Создание и приемы редактирования документа в Microsoft Word. Возможности панели рисования в Word, работа с встроенным редактором формул Microsoft Equation 3.0, создание логотипа фирмы.
контрольная работа [1,1 M], добавлен 10.11.2011Создание и редактирование текстовых документов, содержащих таблицы, рисунки и другие мультимедийные объекты. Разница между текстовыми редакторами и текстовыми процессорами. Запуск Microsoft Word. Создание нового документа. Завершение работы в MS Word.
презентация [306,6 K], добавлен 19.12.2014Microsoft Word — текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов с использованием таблично-матричных алгоритмов. Область применения Microsoft Excel; общие операции над листами и ячейками рабочей книги.
реферат [2,5 M], добавлен 23.02.2012Пользовательский интерфейс редактора Word 2000. Работа с документом на уровне файловых операций. Интеграция OLE-объектов в Word. Создание и редактирование файлов HTML. Средства рисования и решение задач в Word. Редактирование текста и оформление таблиц.
реферат [75,4 K], добавлен 16.07.2010Особенности создания документа в MS Word. Форматирование его по заданным требованиям и выполнение основных действий с файлами. Особенности работы с объектами MS Word. Внедрение интегрированной информационной системы управления персоналом предприятием.
лабораторная работа [27,6 K], добавлен 22.01.2010Автоматизация ввода и редактирования. Проверочные средства Microsoft Word, форматирование документа. Оформление документа, практическое применение макросов. Анализ разных версий Microsoft Word. Разработка методического пособия, апробация результатов.
курсовая работа [757,9 K], добавлен 17.05.2010Проектирование лексического и синтаксического анализаторов учебного языка. Правила преобразования логических выражений в ПОЛИЗ. Формирование триад, оптимизация их списка. Логическая структура программы. Тестирование модулей транслятора-интерпретатора.
курсовая работа [1,3 M], добавлен 28.05.2013Автоматизация редактирования текста документа. Стили документа Word 2010. Сравнительная характеристика в Microsoft Word 2007 и 2003, стили оформления. Приемы и методы редактирования документов, предназначенных для автоматической обработки данных.
курсовая работа [3,6 M], добавлен 23.06.2016Особливості роботи в програмі MS Word. Завантаження MS Word. Автоматична перевірка орфографії. Встановлення режиму відображення "Разметка". Встановлення в якості основної українську мову. Встановлення автоматичного переносу. Зміна параметрів сторінки.
контрольная работа [1,9 M], добавлен 29.08.2010Изучение алгоритма рекурсивного спуска и системы построения грамматики с помощью лексического анализатора Lex. Написание программы интерпретатора языка разметки HTML. Проверка входной последовательности на корректность входа как общая функция программы.
контрольная работа [226,7 K], добавлен 25.12.2012Основные средства и технологии обработки и редактирования текстовых документов, принципы их использования. Характеристика функциональных возможностей текстового процессора Ms. Word. Описание дополнительных возможностей текстового редактора Word 2003.
курсовая работа [1,4 M], добавлен 19.03.2011