Реферат на тему файл с расширением. Docx студент гр. Ом01020021 тюнина ирина андреевна
Скачать 1.75 Mb.
|
МИНИСТЕРСТВО ОРАЗОВАНИЯ И НАУКИ РФ ФГБОУ ВПО “УДМУРТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ” МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ КАФЕДРА ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ РЕФЕРАТ НА ТЕМУ ФАЙЛ С РАСШИРЕНИЕМ .DOCX ВЫПОЛНИЛ: СТУДЕНТ ГР. ОМ-010200-21 ТЮНИНА ИРИНА АНДРЕЕВНА ПРОВЕРИЛ: БАННИКОВ АЛЕКСАНДР СЕРГЕЕВИЧ ИЖЕВСК 2013 Оглавление Введение 1. Общий обзор формата Office 2007 Open XML Format 1.1 Контейнер 1.2 Части документа 1.3 Реляционные элементы 1.4 Типизованные элементы 1.5 Встроенные объекты 2. Содержимое файла 2.1 Детали реализации 2.2 Программные интерфейсы 2.3 Сценарии использования документов в XML-формате 3. Программы, которыми можно открыть файл .DOCX ВведениеФайл с расширением .DOCX - документ, созданный Microsoft Word, программой обработки текста. Содержит текст документа, изображений, форматирование, стили, нарисованные объекты и другие параметры документа. В отличие от файлов .DOC .DOCX файлы разработаны, чтобы сделать содержимое документов доступным. Например, текстовый документ сохраняется с помощью простых текстовых файлов и изображений документов, хранятся в виде отдельных файлов изображения для одного файла .DOCX. Файлы DOCX могут быть открыты в Word 2007 или в более поздней версии в ОС Windows, или в Word 2008 или в более поздней версии для Mac OS X. Они также могут быть открыты в более ранних версиях Word для ОС Mac или ОС Windows через поддержку документов Open XML. Для этого необходимо установить пакет обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint. 1.Общий обзор формата Office 2007 Open XML FormatНачнем обсуждение Office 2007 Open XML Format с рассмотрения общих характеристик этого формата. Затем в следующем разделе мы обратимся к более подробному рассмотрению деталей сохранения документов, создаваемых таким приложением Microsoft Office 2007, как Word 2007. .1 Контейнерформат, используемый в Microsoft Office 2007, представляет собой ZIP-архив - контейнер, который называется package и в котором помещаются различные компоненты документа, называемые частями (part) и элементами (item). Части являются фрагментами документа и отвечают за его содержимое, элементы представляют собой метаданные, описывающие то, каким образом части должны быть собраны вместе и отображены. Элементы можно разделить на два типа: реляционные (relationship items), описывающие взаимоотношения между частями и типизованные (content-type items), задача которых - дать описание содержимого каждой части документа. Реляционные элементы, в свою очередь, подразделяются на элементы, описывающие взаимоотношения контейнеров, и элементы, задающие взаимоотношения между частями документа. .2 Части документаКаждый документ содержит так называемую главную часть - все остальные элементы либо располагаются внутри этой главной части, либо так или иначе привязаны к ней. В зависимости от типа файла (текстовый документ, электронная таблица, презентация) главная часть может называться по-разному. Например: Не все части документа сохраняются в XML-формате. Например, графические изображения (*.png, *.jpg, *.tiff) хранятся в оригинальном формате, что делает более удобным доступ к ним и выполнение соответствующих манипуляций. Помимо этого в бинарном виде хранятся VBA-проекты и внедренные в документы OLE-объекты. Части документа, сохраняемые в XML-формате, соответствуют схемам, определенным для того или иного фрагмента документа. .3 Реляционные элементыКак мы увидели выше, для каждого типа документа главная часть располагается в соответствующей папке контейнера и имеет собственное название. Реляционный элемент с именем officeDocument (схема где: · Id - строковый идентификатор взаимоотношения, который должен иметь уникальное в рамках файла имя; · Type - описывает тип взаимоотношения, указывает на схему, которая определяет тип для данного формата · Target - указывает на папку и файл, в которых располагается описываемый фрагмент документа. Папка _rels имеет ключевое значение для всего процесса сохранения офисных документов в формате XML. Взаимоотношения между частями документа всегда задаются именно в этой папке. Упомянутое выше взаимоотношение officeDocument является взаимоотношением на уровне контейнера - другими словами, оно описывает весь контейнер и потому хранится в папке _rels в корне контейнера. Если же требуется найти описание взаимоотношений между частями документа, то в случае Microsoft Word 2007 его следует искать в файле document.xml - он будет находиться в подкаталоге word каталога _rels. Итеративный просмотр содержимого этого файла позволит обнаружить все части документа и взаимоотношения между ними. .4 Типизованные элементыКак было уже отмечено выше, типизованные элементы содержат метаданные, описывающие файловый тип каждой части документа. К частям документа могут относиться простой текст (text/plain), графическое изображение (image/jpeg) или более абстрактные понятия, например XML-документ (application/xml). Реляционные элементы также имеют соответствующие типизованные элементы, служащие для описания взаимоотношений. Множество типизованных элементов позволяет потребителям XML-файлов получить представление не только о его содержимом, но и о том, как интерпретировать и отрисовывать отдельные части документа. Типизованные элементы хранятся вместе, в одном элементе с именем [Content_Types].xml в корневой папке контейнера. Типизованный элемент по умолчанию обычно ассоциируется с расширением имени файла, например *.xml или *.jpg. Типизованный элемент override может указывать на то, что данный фрагмент имеет указанный тип независимо от расширения имени файла. .5 Встроенные объектыoffice документ файл Формат Office Open XML может включать любое число встроенных объектов, которые могут принадлежать к любому типу. Эта возможность, пришедшая на смену неэффективному кодированию Base64, которое использовалось в предыдущих версиях продукта, сделала файлы более гибкими и удобными для обработки. Например, вставка графического изображения в документ Word 2007 приведет к появлению в контейнере следующих элементов: · в файл [Content_Types).xml будет добавлено описание типа, связывающего расширение файла *.jpg с to image/jpeg; · папка media, созданная в папке word, будет содержать копию вставленного в документ графического изображения; · в файле document.xml, который находится в папке word, будет вставлена ссылка на новое взаимоотношение; · в файле document.xml.rels (находящийся в папке word) будет добавлено новое взаимоотношение, которое будет ссылаться на соответствующий элемент в файле document.xml. 2. Содержимое файла 2.1 Детали реализацииРассмотрим, как описанный выше XML-формат используется при сохранении документов, создаваемых приложением Microsoft Office 2007,а именно к Word 2007. Начнем с простого текстового документа, созданного с помощью Word 2007. На рис. 1 показано, как этот документ выглядит в редакторе. Рис. 1. Документ, созданный средствами Word 2007 Сохраненный документ имеет расширение *.docx и представляет собой ZIP-контейнер, который мы можем исследовать с помощью любой программы, позволяющей работать с ZIP-архивами. В качестве примера будем использовать программу WinZip. Ниже показана структура docx-файла, открытого в WinZip (рис. 2). Рис. 2. Структура docx-файла В файле [Content_Types).xml описаны все типизованные элементы, связанные с данным документом. Все типизованные элементы, уникальные для Word 2007, имеют префикс application/vnd.ms-word. Если типизованный элемент соответствует XML-файлу, то в конец URI добавляется «+xml». Типичными для Word 2007 типизованными элементами являются: · application/vnd.ms-word.comments+xml - содержит комментарии в формате XML; · application/vnd.ms-package.core-properties+xml - содержит свойства документа в формате XML; · image/png - графическое изображение в оригинальном формате. Поскольку имеется возможность изменения имени любого фрагмента документа, в файле [Content_Types).xml описаны и ссылки на такие фрагменты. Например, вот как указывается местоположение таблицы шрифтов: Взаимоотношения между частями документа всегда располагаются в каталоге _rels. Для конкретного документа взаимоотношения описываются в файле document.xml.rels. Например: Здесь задается связь между схемой, описывающей нижний колонтитул документа, и файлом footer1.xml, в котором содержится сам колонтитул. Более подробно прочитать о структуре XML-файла Word 2007 можно в документе «Walkthrough: Office 12 Word Open XML File Format», доступном на сайте MSDN. 2.2 Программные интерфейсыДля работы с документами, сохраненными в формате Office 2007 Open XML Format, следует использовать классы, реализованные в пространстве имен System.IO.Packaging (библиотека WinFX, сборка windowsbase.dll). Подробное описание данного пространства имен можно получить в онлайновой версии документации к библиотеке WinFX, расположенной по адресу: Рассмотрим несколько примеров. Мы уже отмечали, что для успешной обработки документа в формате Office 2007 Open XML Format необходимо успешно найти главную часть документа, которая имеет тип http://schemas.microsoft.com/office/2006/relationships/officeDocument. Для документов, созданных средствами Word, главная часть хранится в файле document.xml. После того как главная часть документа найдена, мы получаем возможность обнаружить все остальные части документа. В приведенном примере показано, как найти главную часть (documentPart) офисного документа. // // Найти «главную часть» документа по заданному имени файла ,,void FindStartPart(string fileName) {officeDocRelType = @”http://schemas.microsoft.com/office/2006//officeDocument”;documentPart = null; Uri documentUri = null; //Открыть контейнер только для чтения using (Package officePackage = Package.(fileName,.Open, FileAccess.Read)) { // Найти «главную часть»(PackageRelationship relationship in.GetRelationshipsByType(office- DocRelType)) { // В контейнере только одна «главная часть» documentUri = PackUriHelper.ResolvePartUri (new Uri(“/”, UriKind.Relative), relationship.);= officePackage.GetPart(documentUri); break; } // Дальнейшая обработка } } После того как извлекатьли главную часть документа, можно найти любую часть документа - для этого необходимо выполнить итерацию по описанию взаимоотношений частей. Ниже показано, как это сделать, на примере поиска комментариев в документе Word. // // Найти комментарии в документе //commentsPartRelType = @”http://schemas.microsoft.com/office/2006/ relationships/wordComments”;commentsPart = null; Stream commentsXML = null; // //Итерация по всем взаимоотношениям в document.xml //(PackageRelationship relationship in.GetRelationshipsByType(comments-)) { //Комментарии = /word/comments.xmlcommentsUri = PackUriHelper.ResolvePartUri (documentUri,.TargetUri);= officePackage.GetPart(commentsUri); break; } В приведенном примере мы использовали URI для нахождения адреса определенного фрагмента документа - это необходимо для того, чтобы не зависеть от имени фрагмента, которое может меняться по мере работы с документом. Последний пример, который мы рассмотрим, относится к удалению определенного фрагмента документа. Предположим, что мы хотим удалить из файла VBA-проект. public void DeleteVBAPart(string fileName) {officeDocRelType = @”http://schemas.microsoft.com/office/2006//”;string vbaRelationshipType = “http://schemas.microsoft.com/office/2006//vbaProject”;documentPart = null; Uri documentUri = null; // // Открыть контейнер на чтение //(Package officePackage = Package.Open (fileName, FileMode.Open, FileAccess.ReadWrite)) { // Получить «главную часть»(PackageRelationship relationship in.GetRelationshipsByType (officeDocRelType)) {= PackUriHelper.ResolvePartUri(new(“/”, UriKind.Relative), relationship.);= officePackage.GetPart(documentUri);; } // Найти VBA project(System.IO.Packaging.PackageRelation-relationshipdocumentPart.GetRelationshipsByType (vbaRelationshipType)) {vbaUri = PackUriHelper.ResolvePartUri (documentUri,.TargetUri);vbaPart = officePackage.GetPart (vbaUri); // Удалить VBA project.DeletePart(vbaUri); // Удалить ссылку на VBA.DeleteRelationship (relationship.Id);; } // Закрыть контейнер.Close(); } } Приведенные примеры помогут вам составить общее представление о том, как использовать классы System.IO.Packaging для работы с документами в формате Office 2007 Open XML Format. В ближайшее время Microsoft планирует опубликовать значительное число примеров использования этого программного интерфейса - следите за новинками на сайте MSDN ( .3 Сценарии использования документов в XML-форматеВозможность манипуляции частями офисных документов либо посредством редакторов XML-файлов, либо через вышеупомянутые программные интерфейсы открывает перед разработчиками ряд новых сценариев. К новым сценариям можно отнести следующие: · обмен данными - открытость формата офисных документов делает их полноценными участниками бизнес-процессов - появляется возможность извлечения или вставки данных в документы, персонализации документов при их рассылке конечным потребителям, использования настраиваемых схем и т.п.; · управление содержимым документов - у разработчиков появляется возможность редактирования содержимого документов: обновления данных, изменения отдельных частей документа, удаления или добавления новых частей; · повторное использование фрагментов документов - модульность нового формата офисных документов позволяет повторно задействовать фрагменты документов - использовать их как строительные блоки для создания новых документов; · сборка документов на лету - у разработчиков появляется возможность создания офисных документов на лету, как используя готовые части документов (например, отдельные слайды), так и полностью генерируя документы с нуля путем реализации серверных сценариев, недоступных для более ранних версий Office; · обеспечение безопасности - возможность манипуляции VBA-проектами внутри офисных документов делает их более безопасными. Простое изменение расширения имени файла гарантирует, что макросы, расположенные внутри документа, не будут выполняться. Помимо этого открытость офисных документов делает более простой работу антивирусных приложений и всевозможных сканеров; · управление конфиденциальной информацией - открытость офисных документов упрощает управление конфиденциальной информацией, позволяя динамически создавать версии документов, не содержащие информацию для служебного пользования, и таким образом значительно сокращая затраты на создание документов, предназначенных для сторонних клиентов 3.Программы, которыми можно открыть файл .DOCXMacOS Microsoft Word 2010 Apple Pages 4.1 Planamesa NeoOffice OpenOffice.org Hancom ThinkFree Office Write Panergy docXConverter LibreOffice Apple Preview
Windows Microsoft Word 2010 Microsoft Word Viewer Corel WordPerfect Office X5 OpenOffice.org OxygenOffice Professional Hancom ThinkFree Office Write Panergy docXConverter NativeWinds Docx2Rtf LibreOffice
Linux OpenOffice.org OxygenOffice Professional Hancom ThinkFree Office Write LibreOffice
|