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; }Получает или задает форму фона документа. Возможнонулевой .
BuiltInDocumentProperties { get; }Возвращает коллекцию, которая представляет все встроенные свойства документа document. .
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; }Предоставляет параметры, управляющие нумерацией и расположением сносок в этом документе.
Frameset { get; }ВозвращаетFramesetэкземпляр, если этот документ представляет собой страницу фреймов.
GlossaryDocument { get; set; }Получает или задает документ глоссария в этом документе или шаблоне. Документ глоссария — это хранилище для записей автотекста, автозамены и стандартных блоков, определенных в документе.
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; }Получает текущий активный тип защиты документа.
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()Принимает все отслеживаемые изменения в документе.
AppendChild(Node)Добавляет указанный узел в конец списка дочерних узлов для этого узла.
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(NodeNode)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore(NodeNode)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
JoinRunsWithSameFormatting()Объединяет прогоны с одинаковым форматированием во всех абзацах документа.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
NormalizeFieldTypes()Изменяет значения типов полей.FieldType изFieldStart ,FieldSeparator ,FieldEnd во всем документе, чтобы они соответствовали типам полей, содержащимся в кодах полей.
PrependChild(Node)Добавляет указанный узел в начало списка дочерних узлов для этого узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
Print()Печатает весь документ на принтере по умолчанию.
Print(PrinterSettings)Печатает документ в соответствии с указанными настройками принтера, с использованием стандартного (без пользовательского интерфейса) контроллера печати.
Print(string)Распечатайте весь документ на указанном принтере, , используя стандартный контроллер печати (без пользовательского интерфейса).
Print(PrinterSettings, string)Печатает документ в соответствии с указанными настройками принтера, с использованием стандартного контроллера печати (без пользовательского интерфейса) и имени документа.
Protect(ProtectionType)Защищает документ от изменений без изменения существующего пароля или назначает случайный пароль.
Protect(ProtectionType, string)Защищает документ от изменений и дополнительно устанавливает пароль защиты.
Remove()Удаляет себя от родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild(Node)Удаляет указанный дочерний узел.
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)Снимает защиту с документа, если указан правильный пароль.
UpdateFields()Обновляет значения полей во всем документе.
UpdateListLabels()Обновляет метки списка для всех элементов списка в документе.
UpdatePageLayout()Перестраивает макет страницы документа.
UpdateThumbnail()ОбновленияThumbnail документа с использованием параметров по умолчанию.
UpdateThumbnail(ThumbnailGeneratingOptions)ОбновленияThumbnail документа согласно указанным параметрам.
UpdateWordCount()Обновляет свойства количества слов в документе.
UpdateWordCount(bool)Обновляет свойства количества слов в документе, при необходимости обновляет.Lines свойство.

Примечания

Document является центральным объектом в библиотеке 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.

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

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

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

Document может содержать только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;
}

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