Document

Document class

Представляет документ Word.

Чтобы узнать больше, посетитеРабота с документом документальная статья.

public class Document : DocumentBase

Конструкторы

ИмяОписание
Document()Создает пустой документ Word.
Document(Stream)Открывает существующий документ из потока. Автоматически определяет формат файла.
Document(string)Открывает существующий документ из файла. Автоматически определяет формат файла.
Document(Stream, LoadOptions)Открывает существующий документ из потока. Позволяет указать дополнительные параметры, такие как пароль шифрования.
Document(string, LoadOptions)Открывает существующий документ из файла. Позволяет указать дополнительные параметры, такие как пароль шифрования.

Характеристики

ИмяОписание
AttachedTemplate { get; set; }Получает или задает полный путь шаблона, прикрепленного к документу.
AutomaticallyUpdateStyles { get; set; }Возвращает или задает флаг, указывающий, обновляются ли стили в документе в соответствии со стилями в прикрепленном шаблоне каждый раз при открытии документа в MS Word.
BackgroundShape { get; set; }Получает или задает форму фона документа. Может бытьнулевой .
Bibliography { get; }ПолучаетBibliographyобъект, представляющий список источников, доступных в документе.
BuiltInDocumentProperties { get; }Возвращает коллекцию, которая представляет все встроенные свойства документа.
CompatibilityOptions { get; }Предоставляет доступ к параметрам совместимости документа (то есть к пользовательским настройкам, введенным вСовместимость вкладкаПараметрыдиалог в Word).
Compliance { get; }Получает версию соответствия OOXML, определенную из загруженного содержимого документа. Имеет смысл только для документов OOXML.
Count { get; }Получает количество непосредственных потомков этого узла.
CustomDocumentProperties { get; }Возвращает коллекцию, которая представляет все пользовательские свойства документа.
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
CustomXmlParts { get; set; }Возвращает или задает коллекцию пользовательских частей хранилища XML-данных.
DefaultTabStop { get; set; }Возвращает или задает интервал (в пунктах) между позициями табуляции по умолчанию.
DigitalSignatures { get; }Получает коллекцию цифровых подписей для этого документа и результаты их проверки.
override Document { get; }Получает этот экземпляр.
EndnoteOptions { get; }Предоставляет параметры, управляющие нумерацией и расположением концевых сносок в этом документе.
FieldOptions { get; }ПолучаетFieldOptions объект, представляющий параметры управления обработкой полей в документе.
FirstChild { get; }Получает первый дочерний элемент узла.
FirstSection { get; }Получает первый раздел в документе.
FontInfos { get; }Предоставляет доступ к свойствам шрифтов, используемых в этом документе.
FontSettings { get; set; }Получает или задает параметры шрифта документа.
FootnoteOptions { get; }Предоставляет параметры, управляющие нумерацией и расположением сносок в этом документе.
FootnoteSeparators { get; }Предоставляет доступ к разделителям сносок/концевых сносок, определенным в документе.
Frameset { get; }ВозвращаетFrameset пример, если этот документ представляет собой страницу фреймов.
GlossaryDocument { get; set; }Возвращает или задает документ глоссария в этом документе или шаблоне. Документ глоссария — это хранилище для записей AutoText, AutoCorrect и Building Block, определенных в документе.
GrammarChecked { get; set; }Возвратистинный если документ был проверен на грамматику.
HasChildNodes { get; }Возвратистинный если у этого узла есть дочерние узлы.
HasMacros { get; }Возвратистинный если документ имеет проект VBA (макросы).
HasRevisions { get; }Возвратистинный если в документе есть отслеживаемые изменения.
HyphenationOptions { get; }Предоставляет доступ к параметрам переноса в документе.
IncludeTextboxesFootnotesEndnotesInStat { get; set; }Указывает, следует ли включать текстовые поля, сноски и концевые сноски в статистику количества слов.
override IsComposite { get; }Возвратистинный так как этот узел может иметь дочерние узлы.
JustificationMode { get; set; }Возвращает или задает настройку межсимвольного интервала документа.
LastChild { get; }Получает последний дочерний элемент узла.
LastSection { get; }Получает последний раздел в документе.
LayoutOptions { get; }ПолучаетLayoutOptions объект, представляющий параметры управления процессом макета этого документа.
Lists { get; }Предоставляет доступ к форматированию списка, используемому в документе.
MailMerge { get; }ВозвращаетMailMerge объект, представляющий функциональность слияния почты для документа.
MailMergeSettings { get; set; }Возвращает или задает объект, содержащий всю информацию о слиянии почты для документа.
NextSibling { get; }Получает узел, следующий сразу за данным узлом.
NodeChangingCallback { get; set; }Вызывается при вставке или удалении узла в документе.
override NodeType { get; }ВозвратDocument .
OriginalFileName { get; }Получает исходное имя файла документа.
OriginalLoadFormat { get; }Получает формат исходного документа, который был загружен в этот объект.
PackageCustomParts { get; set; }Возвращает или задает коллекцию пользовательских частей (произвольное содержимое), которые связаны с пакетом OOXML с помощью «неизвестных отношений».
PageColor { get; set; }Возвращает или задает цвет страницы документа. Это свойство является более простой версиейBackgroundShape .
PageCount { get; }Возвращает количество страниц в документе, рассчитанное с помощью последней операции макета страницы.
ParentNode { get; }Получает непосредственного родителя этого узла.
PreviousSibling { get; }Получает узел, непосредственно предшествующий данному узлу.
ProtectionType { get; }Получает текущий активный тип защиты документа.
PunctuationKerning { get; set; }Указывает, применяется ли кернинг как к латинскому тексту, так и к знакам препинания.
Range { get; }ВозвращаетRangeобъект, представляющий часть документа, содержащуюся в этом узле.
RemovePersonalInformation { get; set; }Возвращает или задает флаг, указывающий, что Microsoft Word удалит всю пользовательскую информацию из комментариев, редакций и свойств документа при сохранении документа.
ResourceLoadingCallback { get; set; }Позволяет контролировать загрузку внешних ресурсов.
Revisions { get; }Получает коллекцию ревизий (отслеживаемых изменений), которые существуют в этом документе.
RevisionsView { get; set; }Возвращает или задает значение, указывающее, следует ли работать с исходной или измененной версией документа.
Sections { get; }Возвращает коллекцию, представляющую все разделы документа.
ShadeFormData { get; set; }Указывает, следует ли включать серую заливку полей формы.
ShowGrammaticalErrors { get; set; }Указывает, отображать ли грамматические ошибки в этом документе.
ShowSpellingErrors { get; set; }Указывает, отображать ли орфографические ошибки в этом документе.
SpellingChecked { get; set; }Возвратистинный если документ был проверен на орфографию.
Styles { get; }Возвращает коллекцию стилей, определенных в документе.
Theme { get; }ПолучаетTheme объект для этого документа.
TrackRevisions { get; set; }True, если изменения отслеживаются при редактировании этого документа в Microsoft Word.
Variables { get; }Возвращает коллекцию переменных, добавленных в документ или шаблон.
VbaProject { get; set; }Получает или задаетVbaProject .
VersionsCount { get; }Возвращает количество версий документа, сохраненных в документе DOC.
ViewOptions { get; }Предоставляет параметры для управления отображением документа в Microsoft Word.
WarningCallback { get; set; }Вызывается во время различных процедур обработки документов при обнаружении проблемы, которая может привести к потере точности данных или форматирования.
Watermark { get; }Предоставляет доступ к водяному знаку документа.
WebExtensionTaskPanes { get; }Возвращает коллекцию, представляющую список надстроек области задач.
WriteProtection { get; }Предоставляет доступ к параметрам защиты документа от записи.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
AcceptAllRevisions()Принимает все отслеженные изменения в документе.
override AcceptEnd(DocumentVisitor)Принимает посетителя для посещения конца документа.
override AcceptStart(DocumentVisitor)Принимает посетителя для посещения начала документа.
AppendChild<T>(T)Добавляет указанный узел в конец списка дочерних узлов для данного узла.
AppendDocument(Document, ImportFormatMode)Добавляет указанный документ в конец данного документа.
AppendDocument(Document, ImportFormatModeImportFormatOptions)Добавляет указанный документ в конец данного документа.
Cleanup()Удаляет неиспользуемые стили и списки из документа.
Cleanup(CleanupOptions)Очищает документ от неиспользуемых стилей и списков в зависимости от заданногоCleanupOptions .
Clone()Выполняет глубокое копированиеDocument .
Clone(bool)Создает дубликат узла.
Compare(Document, string, DateTime)Сравнивает этот документ с другим документом, внося изменения по количеству правок и редакций форматаRevision .
Compare(Document, string, DateTime, CompareOptions)Сравнивает этот документ с другим документом, внося изменения в виде ряда правок и редакций форматаRevision . Позволяет указать параметры сравнения с помощьюCompareOptions .
CopyStylesFromTemplate(Document)Копирует стили из указанного шаблона в документ.
CopyStylesFromTemplate(string)Копирует стили из указанного шаблона в документ.
CreateNavigator()Создает навигатор, который можно использовать для перемещения и чтения узлов.
EnsureMinimum()Если документ не содержит разделов, создает один раздел с одним абзацем.
ExpandTableStylesToDirectFormatting()Преобразует форматирование, указанное в стилях таблиц, в прямое форматирование таблиц в документе.
ExtractPages(int, int)ВозвращаетDocument объект, представляющий указанный диапазон страниц.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля по дочерним узлам этого узла.
GetPageInfo(int)Получает размер страницы, ориентацию и другую информацию о странице, которая может быть полезна для печати или рендеринга.
override GetText()Получает текст этого узла и всех его дочерних узлов.
ImportNode(Node, bool)Импортирует узел из другого документа в текущий документ.
ImportNode(Node, bool, ImportFormatMode)Импортирует узел из другого документа в текущий документ с возможностью управления форматированием.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter<T>(T, Node)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore<T>(T, Node)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
JoinRunsWithSameFormatting()Объединяет фрагменты с одинаковым форматированием во всех абзацах документа.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
NormalizeFieldTypes()Изменяет значения типа поляFieldType изFieldStart ,FieldSeparator ,FieldEnd во всем документе, чтобы они соответствовали типам полей, содержащимся в кодах полей.
PrependChild<T>(T)Добавляет указанный узел в начало списка дочерних узлов для данного узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
Print()Печатает весь документ на принтере по умолчанию.
Print(PrinterSettings)Печатает документ в соответствии с указанными настройками принтера, используя стандартный (без пользовательского интерфейса) контроллер печати.
Print(string)Распечатать весь документ на указанном принтере, используя стандартный (без пользовательского интерфейса) контроллер печати.
Print(PrinterSettings, string)Печатает документ в соответствии с указанными настройками принтера, используя стандартный (без пользовательского интерфейса) контроллер печати и имя документа.
Protect(ProtectionType)Защищает документ от изменений без изменения существующего пароля или назначает случайный пароль.
Protect(ProtectionType, string)Защищает документ от изменений и при необходимости устанавливает пароль защиты.
Remove()Удаляет себя из родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveBlankPages()Удаляет пустые страницы из документа.
RemoveChild<T>(T)Удаляет указанный дочерний узел.
RemoveExternalSchemaReferences()Удаляет внешние ссылки на XML-схемы из этого документа.
RemoveMacros()Удаляет все макросы (проект VBA), а также панели инструментов и настройки команд из документа.
RemoveSmartTags()Удаляет всеSmartTag узлы-потомки текущего узла.
RenderToScale(int, Graphics, float, float, float)Преобразует страницу документа вGraphics объект в указанном масштабе.
RenderToSize(int, Graphics, float, float, float, float)Преобразует страницу документа вGraphics объект до указанного размера.
Save(string)Сохраняет документ в файл. Автоматически определяет формат сохранения по расширению.
Save(Stream, SaveFormat)Сохраняет документ в потоке, используя указанный формат.
Save(Stream, SaveOptions)Сохраняет документ в потоке, используя указанные параметры сохранения.
Save(string, SaveFormat)Сохраняет документ в файл в указанном формате.
Save(string, SaveOptions)Сохраняет документ в файл, используя указанные параметры сохранения.
Save(HttpResponse, string, ContentDispositionSaveOptions)Отправляет документ в клиентский браузер.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первыйNode что соответствует выражению XPath.
StartTrackRevisions(string)Начинает автоматически отмечать все дальнейшие изменения, вносимые вами в документ программным способом, как изменения редакции.
StartTrackRevisions(string, DateTime)Начинает автоматически отмечать все дальнейшие изменения, вносимые вами в документ программным способом, как изменения редакции.
StopTrackRevisions()Останавливает автоматическую маркировку изменений документа как ревизий.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.
UnlinkFields()Отменяет связь полей во всем документе.
Unprotect()Снимает защиту с документа независимо от пароля.
Unprotect(string)Снимает защиту с документа, если указан правильный пароль.
UpdateActualReferenceMarks()ОбновляетActualReferenceMark свойство всех сносок и концевых сносок в документе.
UpdateFields()Обновляет значения полей во всем документе.
UpdateListLabels()Обновляет метки списка для всех элементов списка в документе.
UpdatePageLayout()Перестраивает макет страницы документа.
UpdateThumbnail()ОбновленияThumbnail документа с использованием параметров по умолчанию.
UpdateThumbnail(ThumbnailGeneratingOptions)ОбновленияThumbnail документа согласно указанным параметрам.
UpdateWordCount()Обновляет свойства количества слов в документе.
UpdateWordCount(bool)Обновляет свойства количества слов в документе, опционально обновляетLines свойство.

Примечания

TheDocument является центральным объектом в библиотеке Aspose.Words.

Чтобы загрузить существующий документ в любой изLoadFormat форматы, передайте имя файла или поток в один изDocument конструкторы. Чтобы создать пустой документ, вызовите конструктор the без параметров.

Используйте одну из перегрузок метода Save, чтобы сохранить документ в любом из SaveFormat форматы.

Для рисования страниц документа непосредственно наГрафика объект use RenderToScale илиRenderToSize метод.

Чтобы распечатать документ, воспользуйтесь одним изPrint методы.

MailMerge— это механизм создания отчетов Aspose.Words, позволяющий быстро и легко заполнять отчеты, разработанные в Microsoft Word, данными из различных источников данных. Данные могут быть из DataSet, DataTable, DataView, IDataReader или массива значений. MailMerge просматривает записи, найденные в источнике данных, и вставляет их в поля слияния почты в документе, увеличивая его по мере необходимости.

Document хранит информацию по всему документу, такую какStyles , BuiltInDocumentProperties ,CustomDocumentProperties , списки и макросы. Большинство этих объектов доступны через соответствующие свойстваDocument.

TheDocument является корневым узлом дерева, содержащего все остальные узлы документа. Дерево представляет собой шаблон проектирования Composite и во многом похоже на XmlDocument. Содержимым документа можно свободно манипулировать программно:

  • Доступ к узлам документа можно получить через типизированные коллекции, напримерSections , ParagraphCollection и т. д.
  • Узлы документа можно выбрать по типу узла с помощью GetChildNodes или с помощью запроса XPath сSelectNodes илиSelectSingleNode.
  • Узлы контента можно добавлять и удалять из любого места документа с помощью InsertBefore ,InsertAfter , RemoveChild и другие методы, предоставляемые базовым классомCompositeNode.
  • Атрибуты форматирования каждого узла можно изменить с помощью свойств этого узла.

Рассмотрите возможность использованияDocumentBuilder что упрощает задачу программного создания или заполнения дерева документов.

TheDocument может содержать толькоSection объекты.

В Microsoft Word действительный документ должен иметь хотя бы один раздел.

Примеры

Показывает, как выполнить слияние почты с данными из DataTable.

public void ExecuteDataTable()
{
    DataTable table = new DataTable("Test");
    table.Columns.Add("CustomerName");
    table.Columns.Add("Address");
    table.Rows.Add(new object[] { "Thomas Hardy", "120 Hanover Sq., London" });
    table.Rows.Add(new object[] { "Paolo Accorti", "Via Monte Bianco 34, Torino" });

    // Ниже приведены два способа использования DataTable в качестве источника данных для слияния почты.
    // 1 - Использовать всю таблицу для слияния почты, чтобы создать один выходной документ слияния почты для каждой строки в таблице:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");

    // 2 - Используйте одну строку таблицы для создания одного выходного документа слияния:
    doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table.Rows[1]);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}

/// <summary>
/// Создает исходный документ для слияния почты.
/// </summary>
private static Document CreateSourceDocExecuteDataTable()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" MERGEFIELD CustomerName ");
    builder.InsertParagraph();
    builder.InsertField(" MERGEFIELD Address ");

    return doc;
}

Смотрите также