search/mag_sel search/close
Document.h
1 // Copyright 2001-2021 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/date_time.h>
12 #include <mutex>
13 #include <memory>
14 #include <drawing/size_f.h>
15 
16 #include <Aspose.Words.Cpp/Saving/OoxmlCompliance.h>
17 #include <Aspose.Words.Cpp/NodeType.h>
18 #include <Aspose.Words.Cpp/ImportFormatMode.h>
19 #include <Aspose.Words.Cpp/ISectionAttrSource.h>
20 #include <Aspose.Words.Cpp/IWatermarkProvider.h>
21 #include <Aspose.Words.Cpp/SaveFormat.h>
22 #include <Aspose.Words.Cpp/RevisionsView.h>
23 #include <Aspose.Words.Cpp/ProtectionType.h>
24 #include <Aspose.Words.Cpp/LoadFormat.h>
25 #include <Aspose.Words.Cpp/DocumentBase.h>
26 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
27 
28 namespace Aspose { namespace Words { namespace Saving { class SaveOutputParameters; } } }
29 namespace Aspose { namespace Words { namespace Rendering { class PageInfo; } } }
30 namespace Aspose { namespace Words { namespace ApsBuilder { class CommentApsBuilder; } } }
31 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Diagram { class DmlDiagramTextBoxFitCache; } } } } }
32 namespace Aspose { namespace Words { class PageExtractor; } }
33 namespace Aspose { namespace Words { class Watermark; } }
34 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlNodeCustomizer; } } } } }
35 namespace Aspose { namespace Words { namespace Revisions { class RevisionTrackingUtil; } } }
36 namespace Aspose { namespace Words { namespace Fields { class AutoTextEntryExtractor; } } }
37 namespace Aspose { namespace Words { namespace Fields { class FieldIncludeTextUpdater; } } }
38 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Math { class MathTextElement; } } } }
39 namespace Aspose { namespace Words { namespace Comparing { class ComparerNodeUtil; } } }
40 namespace Aspose { namespace Words { namespace Comparing { class FormattingComparer; } } }
41 namespace Aspose { namespace Words { namespace Comparing { class StoryComparer; } } }
42 namespace Aspose { namespace Words { namespace Themes { class ThemeColorUpdater; } } }
43 namespace Aspose { namespace Words { namespace RW { namespace Chm { namespace Reader { class ChmReader; } } } } }
44 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlShapeValidator; } } } } }
45 namespace Aspose { namespace Words { namespace Fields { class ToaEntryExtractor; } } }
46 namespace Aspose { namespace Words { namespace Validation { class CustomXmlValidator; } } }
47 namespace Aspose { namespace Words { namespace RW { namespace Html { class HtmlFontNameResolver; } } } }
48 namespace Aspose { namespace Words { namespace RW { class RtfThemeWriter; } } }
49 namespace Aspose { namespace Words { namespace RW { namespace Svg { namespace Reader { class SvgToImageConverter; } } } } }
50 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlShapeToDmlShapeConverter; } } } }
51 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class OpenXmlDocumentReader; } } } } }
52 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxReaderFactory; } } } } }
53 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Reader { class WmlEquationXmlConverter; } } } } }
54 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class DocumentFormatter; } } } } } }
55 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class StyleFormatterHtmlRules; } } } } } }
56 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlIFrameWriter; } } } } }
57 namespace Aspose { namespace Words { namespace RW { namespace Mhtml { namespace Reader { class MhtmlReader; } } } } }
58 namespace Aspose { namespace Words { namespace Fonts { class EmbeddedFontCollector; } } }
59 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxDocumentReader; } } } } }
60 namespace Aspose { namespace Words { namespace Replacing { class FindReplace; } } }
61 namespace Aspose { namespace Words { namespace MailMerging { class MailMergeRegion; } } }
62 namespace Aspose { namespace Words { class PlainTextDocument; } }
63 namespace Aspose { namespace Words { namespace Saving { class PclSaveOptions; } } }
64 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverter; } } } } }
65 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlPictureRenderer; } } } }
66 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace ShapeEffects { class DmlShapeEffectsRenderer; } } } } }
67 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class BackgroundShapeApsBuilder; } } } }
68 namespace Aspose { namespace Words { namespace Layout { namespace Core { class SpanFieldContextMainText; } } } }
69 namespace Aspose { namespace Words { namespace Layout { namespace Core { class DocumentLayout; } } } }
70 namespace Aspose { namespace Words { namespace Layout { class LayoutCollector; } } }
71 namespace Aspose { namespace Words { namespace Layout { class LayoutEnumerator; } } }
72 namespace Aspose { namespace Words { namespace DigitalSignatures { class DigitalSignatureUtil; } } }
73 namespace Aspose { namespace Words { class OoxmlComplianceInfo; } }
74 namespace Aspose { namespace Words { class RangeDocumentBuilder; } }
75 namespace Aspose { namespace Words { class XmlNamespace; } }
76 namespace Aspose { namespace Words { namespace Fields { class FieldIndexAndTablesUtil; } } }
77 namespace Aspose { namespace Words { namespace Fields { class IndexEntryPageNumberInfo; } } }
78 namespace Aspose { namespace Words { namespace Fonts { class DocumentFontProvider; } } }
79 namespace Aspose { namespace Words { namespace Saving { class PsSaveOptions; } } }
80 namespace Aspose { namespace Words { namespace Saving { class HtmlFixedSaveOptions; } } }
81 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlUtil; } } } }
82 namespace Aspose { namespace Words { namespace RW { namespace Html { class HtmlShapeLayout; } } } }
83 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlFramesetReader; } } } } }
84 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlVmlShapeReaderContext; } } } } }
85 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlFramesetWriter; } } } } }
86 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlStyleWriter; } } } } }
87 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlStylesheet; } } } } }
88 namespace Aspose { namespace Words { namespace Saving { class MetafileRenderingOptions; } } }
89 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxAltChunkReader; } } } } }
90 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class ImageDataCore; } } } }
91 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class ImageDataUtil; } } } }
92 namespace Aspose { namespace Words { namespace Fields { class FieldFileName; } } }
93 namespace Aspose { namespace Words { namespace Fields { class FieldDate; } } }
94 namespace Aspose { namespace Words { namespace Fields { class FieldPageRef; } } }
95 namespace Aspose { namespace Words { namespace Fields { class FieldTime; } } }
96 namespace Aspose { namespace Words { namespace Fields { class FieldToc; } } }
97 namespace Aspose { namespace Words { namespace Fields { class FieldXE; } } }
98 namespace Aspose { namespace Words { namespace Fields { class ExternalActionUpdateLayout; } } }
99 namespace Aspose { namespace Words { namespace Markup { class SdtContentHelper; } } }
100 namespace Aspose { namespace Words { namespace Markup { class XmlMapping; } } }
101 namespace Aspose { namespace Words { namespace Layout { class AttributeConverter; } } }
102 namespace Aspose { namespace Words { namespace Layout { class LayoutOptionsCore; } } }
103 namespace Aspose { namespace Words { namespace Layout { namespace PreAps { class LayoutSpanPicture; } } } }
104 namespace Aspose { namespace Words { namespace BuildingBlocks { class GlossaryDocument; } } }
105 namespace Aspose { namespace Words { namespace Fields { class FieldUpdater; } } }
106 namespace Aspose { namespace Words { namespace Saving { class SvgSaveOptions; } } }
107 namespace Aspose { namespace Words { namespace Validation { class ListValidator; } } }
108 namespace Aspose { namespace Words { namespace Saving { class XamlFixedSaveOptions; } } }
109 namespace Aspose { namespace Words { namespace Saving { class PdfSaveOptions; } } }
110 namespace Aspose { namespace Words { namespace Saving { class XpsSaveOptions; } } }
111 namespace Aspose { namespace Words { namespace Themes { class Theme; } } }
112 namespace Aspose { namespace Words { class DocumentBuilder; } }
113 namespace Aspose { namespace Words { namespace Validation { class DocumentPostLoader; } } }
114 namespace Aspose { namespace Words { namespace Validation { class DocumentValidator; } } }
115 namespace Aspose { namespace Words { class SaveInfo; } }
116 namespace Aspose { namespace Words { namespace Drawing { class Shape; } } }
117 namespace Aspose { namespace Words { namespace ApsBuilder { class LayoutApsBuilder; } } }
118 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class DmlShapeApsBuilder; } } } }
119 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilder; } } } }
120 namespace Aspose { namespace Words { namespace RW { class FixedPageWriterBase; } } }
121 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlCoreWriter; } } } } }
122 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtOleWriter; } } } } }
123 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlEquationXmlWriter; } } } } }
124 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxCustomizationsReader; } } } } }
125 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxThemeReader; } } } } }
126 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxVbaReader; } } } } }
127 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxCustomizationsWriter; } } } } }
128 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxVbaWriter; } } } } }
129 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Customizations { class TcgReader; } } } } }
130 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Customizations { class TcgWriter; } } } } }
131 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxFramesetWriter; } } } } }
132 namespace Aspose { namespace Words { namespace Fields { class FieldNumListLabelUpdater; } } }
133 namespace Aspose { namespace Words { namespace Fields { class FieldNumUtil; } } }
134 namespace Aspose { namespace Words { class NodeImporter; } }
135 namespace Aspose { namespace Words { class StyleCollection; } }
136 namespace Aspose { namespace Words { namespace TableLayout { class ParagraphMeasurer; } } }
137 namespace Aspose { namespace Words { class Run; } }
138 namespace Aspose { namespace Words { namespace Rendering { class AsposeWordsPrintDocument; } } }
139 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
140 namespace Aspose { namespace Words { namespace RW { namespace Imaging { namespace Writer { class ImagingWriter; } } } } }
141 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtBinaryObjectReader; } } } } }
142 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtImageWriter; } } } } }
143 namespace Aspose { namespace Words { namespace RW { namespace Svg { namespace Writer { class SvgWriter; } } } } }
144 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfLochHichDbchGroupWriter; } } } } }
145 namespace Aspose { namespace Words { namespace RW { namespace Txt { namespace Reader { class TxtReader; } } } } }
146 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtSettingsReader; } } } } }
147 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtFieldWriter; } } } } }
148 namespace Aspose { namespace Words { class WordUtil; } }
149 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxReader; } } } } }
150 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxWebSettingsReader; } } } } }
151 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriter; } } } } }
152 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxWriter; } } } } }
153 namespace Aspose { namespace Words { namespace RW { namespace Doc { class DocPrFiler; } } } }
154 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class DocReader; } } } } }
155 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class DocWriter; } } } } }
156 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlListReader; } } } } }
157 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlReader; } } } } }
158 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtTextPropertiesWriter; } } } } }
159 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtSettingsWriter; } } } } }
160 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfModelBuilder; } } } } }
161 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfReader; } } } } }
162 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfReaderContext; } } } } }
163 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfRunPrReader; } } } } }
164 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfRunPrWriter; } } } } }
165 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfWriterContext; } } } } }
166 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Reader { class WmlReader; } } } } }
167 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlFontsWriter; } } } } }
168 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlWriter; } } } } }
169 namespace Aspose { namespace Words { namespace RW { namespace Xaml { namespace Writer { class XamlRunWriter; } } } } }
170 namespace Aspose { namespace Words { namespace RW { namespace Xaml { namespace Writer { class XamlWriter; } } } } }
171 
172 namespace Aspose { namespace Words { namespace Properties { class BuiltInDocumentProperties; } } }
173 namespace Aspose { namespace Words { namespace WebExtensions { class TaskPaneCollection; } } }
174 namespace Aspose { namespace Words { namespace Properties { class CustomDocumentProperties; } } }
175 namespace Aspose { namespace Words { namespace MailMerging { class MailMerge; } } }
176 namespace Aspose { namespace Words { namespace Settings { class DocumentProtection; } } }
177 namespace Aspose { namespace Words { class SectionCollection; } }
178 namespace Aspose { namespace Words { class Section; } }
179 namespace Aspose { namespace Words { namespace Settings { class ViewOptions; } } }
180 namespace Aspose { namespace Words { namespace Settings { class WriteProtection; } } }
181 namespace Aspose { namespace Words { namespace Settings { class CompatibilityOptions; } } }
182 namespace Aspose { namespace Words { namespace Settings { class MailMergeSettings; } } }
183 namespace Aspose { namespace Words { namespace Settings { class HyphenationOptions; } } }
184 namespace Aspose { namespace Words { namespace Markup { class CustomXmlPartCollection; } } }
185 namespace Aspose { namespace Words { namespace Markup { class CustomPartCollection; } } }
186 namespace System { namespace IO { class MemoryStream; } }
187 namespace System { namespace Collections { namespace Generic { template <typename> class IList; } } }
188 namespace Aspose { namespace Words { class AllocatedCommand; } }
189 namespace Aspose { namespace Words { class KeyMap; } }
190 namespace Aspose { namespace Words { enum class VbaDocumentEvents; } }
191 namespace Aspose { namespace Words { class VariableCollection; } }
192 namespace Aspose { namespace Words { namespace DigitalSignatures { class DigitalSignatureCollection; } } }
193 namespace Aspose { namespace Words { namespace Fonts { class FontSettings; } } }
194 namespace Aspose { namespace Words { namespace Frames { class FrameSet; } } }
195 namespace Aspose { namespace Words { namespace RW { namespace Doc { class RouteSlip; } } } }
196 namespace Aspose { namespace Words { class XmlNamespaceCollection; } }
197 namespace Aspose { namespace Words { class XmlSchemaReferenceCollection; } }
198 namespace Aspose { namespace Words { namespace Revisions { class EditSession; } } }
199 
200 namespace Aspose { namespace Words { namespace Layout { namespace PreAps { class PageLayout; } } } }
201 namespace System { namespace Collections { namespace Generic { template <typename, typename> class IDictionary; } } }
202 namespace Aspose { namespace Words { namespace Drawing { class ShapeBase; } } }
203 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class CanvasInfo; } } } }
204 namespace Aspose { namespace Collections { template <typename> class StringToObjDictionary; } }
205 namespace Aspose { namespace Words { class RevisionCollection; } }
206 namespace Aspose { namespace Words { namespace Layout { class LayoutOptions; } } }
207 namespace Aspose { namespace Words { namespace Notes { class FootnoteOptions; } } }
208 namespace Aspose { namespace Words { namespace Notes { class EndnoteOptions; } } }
209 namespace Aspose { namespace Words { namespace Fields { class FieldOptions; } } }
210 namespace Aspose { namespace Words { namespace Vba { class VbaProject; } } }
211 namespace System { namespace Collections { namespace Generic { template <typename, typename> class Dictionary; } } }
212 namespace Aspose { namespace Words { namespace Fields { class FieldStart; } } }
213 namespace Aspose { namespace Words { namespace Fields { class FieldNumListLabel; } } }
214 namespace System { namespace IO { class Stream; } }
215 namespace Aspose { namespace Words { namespace Loading { class LoadOptions; } } }
216 namespace Aspose { namespace Words { class Node; } }
217 namespace Aspose { namespace Words { class INodeCloningListener; } }
218 namespace Aspose { namespace Words { class DocumentVisitor; } }
219 namespace Aspose { namespace Words { enum class VisitorAction; } }
220 namespace Aspose { namespace Words { class ImportFormatOptions; } }
221 namespace Aspose { namespace Words { namespace Saving { class SaveOptions; } } }
222 namespace System { namespace Web { class HttpResponse; } }
223 namespace Aspose { namespace Words { class CleanupOptions; } }
224 namespace Aspose { namespace Words { namespace Comparing { class CompareOptions; } } }
225 namespace Aspose { namespace Words { namespace Loading { class IResourceLoadingCallback; } } }
226 namespace System { namespace Drawing { class Graphics; } }
227 namespace Aspose { namespace Words { namespace Layout { namespace Core { class BookletSignature; } } } }
228 namespace Aspose { namespace Rendering { namespace Aps { class ApsPage; } } }
229 namespace Aspose { namespace Words { namespace Rendering { class ThumbnailGeneratingOptions; } } }
230 namespace Aspose { namespace Ss { class MemoryStorage; } }
231 
232 namespace Aspose {
233 
234 namespace Words {
235 
283 class ASPOSE_WORDS_SHARED_CLASS Document : public Aspose::Words::DocumentBase, public Aspose::Words::ISectionAttrSource, public Aspose::Words::IWatermarkProvider
284 {
285  typedef Document ThisType;
287  typedef Aspose::Words::ISectionAttrSource BaseType1;
288  typedef Aspose::Words::IWatermarkProvider BaseType2;
289 
290  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2> ThisTypeBaseTypesInfo;
291  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
292 
293  friend class Aspose::Words::ApsBuilder::CommentApsBuilder;
294  friend class Aspose::Words::ApsBuilder::Dml::Diagram::DmlDiagramTextBoxFitCache;
295  friend class Aspose::Words::PageExtractor;
296  friend class Aspose::Words::Watermark;
297  friend class Aspose::Words::Drawing::Core::Dml::DmlNodeCustomizer;
298  friend class Aspose::Words::Revisions::RevisionTrackingUtil;
299  friend class Aspose::Words::Fields::AutoTextEntryExtractor;
300  friend class Aspose::Words::Fields::FieldIncludeTextUpdater;
301  friend class Aspose::Words::ApsBuilder::Math::MathTextElement;
302  friend class Aspose::Words::Comparing::ComparerNodeUtil;
303  friend class Aspose::Words::Comparing::FormattingComparer;
304  friend class Aspose::Words::Comparing::StoryComparer;
305  friend class Aspose::Words::Themes::ThemeColorUpdater;
306  friend class Aspose::Words::RW::Chm::Reader::ChmReader;
307  friend class Aspose::Words::RW::Dml::Writer::DmlShapeValidator;
308  friend class Aspose::Words::Fields::ToaEntryExtractor;
309  friend class Aspose::Words::Validation::CustomXmlValidator;
310  friend class Aspose::Words::RW::Html::HtmlFontNameResolver;
311  friend class Aspose::Words::RW::RtfThemeWriter;
312  friend class Aspose::Words::RW::Svg::Reader::SvgToImageConverter;
313  friend class Aspose::Words::Validation::VmlToDml::VmlShapeToDmlShapeConverter;
314  friend class Aspose::Words::RW::Docx::Reader::OpenXmlDocumentReader;
315  friend class Aspose::Words::RW::Docx::Reader::DocxReaderFactory;
316  friend class Aspose::Words::RW::Wml::Reader::WmlEquationXmlConverter;
317  friend class Aspose::Words::RW::Html::Css::New::DocumentFormatter;
318  friend class Aspose::Words::RW::Html::Css::New::StyleFormatterHtmlRules;
319  friend class Aspose::Words::RW::Html::Writer::HtmlIFrameWriter;
320  friend class Aspose::Words::RW::Mhtml::Reader::MhtmlReader;
321  friend class Aspose::Words::Fonts::EmbeddedFontCollector;
322  friend class Aspose::Words::RW::Docx::Reader::DocxDocumentReader;
323  friend class Aspose::Words::Replacing::FindReplace;
324  friend class Aspose::Words::MailMerging::MailMergeRegion;
327  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverter;
328  friend class Aspose::Words::ApsBuilder::Dml::DmlPictureRenderer;
329  friend class Aspose::Words::ApsBuilder::Dml::ShapeEffects::DmlShapeEffectsRenderer;
330  friend class Aspose::Words::ApsBuilder::Shapes::BackgroundShapeApsBuilder;
331  friend class Aspose::Words::Layout::Core::SpanFieldContextMainText;
332  friend class Aspose::Words::Layout::Core::DocumentLayout;
336  friend class Aspose::Words::OoxmlComplianceInfo;
337  friend class Aspose::Words::RangeDocumentBuilder;
338  friend class Aspose::Words::XmlNamespace;
339  friend class Aspose::Words::Fields::FieldIndexAndTablesUtil;
340  friend class Aspose::Words::Fields::IndexEntryPageNumberInfo;
341  friend class Aspose::Words::Fonts::DocumentFontProvider;
344  friend class Aspose::Words::Validation::DmlToVml::DmlUtil;
345  friend class Aspose::Words::RW::Html::HtmlShapeLayout;
346  friend class Aspose::Words::RW::Html::Reader::HtmlFramesetReader;
347  friend class Aspose::Words::RW::Html::Reader::HtmlVmlShapeReaderContext;
348  friend class Aspose::Words::RW::Html::Writer::HtmlFramesetWriter;
349  friend class Aspose::Words::RW::Html::Writer::HtmlStyleWriter;
350  friend class Aspose::Words::RW::Html::Writer::HtmlStylesheet;
352  friend class Aspose::Words::RW::Docx::Reader::DocxAltChunkReader;
353  friend class Aspose::Words::Drawing::Core::ImageDataCore;
354  friend class Aspose::Words::Drawing::Core::ImageDataUtil;
359  friend class Aspose::Words::Fields::FieldToc;
360  friend class Aspose::Words::Fields::FieldXE;
361  friend class Aspose::Words::Fields::ExternalActionUpdateLayout;
362  friend class Aspose::Words::Markup::SdtContentHelper;
364  friend class Aspose::Words::Layout::AttributeConverter;
365  friend class Aspose::Words::Layout::LayoutOptionsCore;
366  friend class Aspose::Words::Layout::PreAps::LayoutSpanPicture;
368  friend class Aspose::Words::DocumentBase;
369  friend class Aspose::Words::Fields::FieldUpdater;
371  friend class Aspose::Words::Validation::ListValidator;
375  friend class Aspose::Words::Themes::Theme;
376  friend class Aspose::Words::DocumentBuilder;
377  friend class Aspose::Words::Validation::DocumentPostLoader;
378  friend class Aspose::Words::Validation::DocumentValidator;
379  friend class Aspose::Words::SaveInfo;
380  friend class Aspose::Words::Drawing::Shape;
381  friend class Aspose::Words::ApsBuilder::LayoutApsBuilder;
382  friend class Aspose::Words::ApsBuilder::Shapes::DmlShapeApsBuilder;
383  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilder;
384  friend class Aspose::Words::RW::FixedPageWriterBase;
385  friend class Aspose::Words::RW::Html::Writer::HtmlCoreWriter;
386  friend class Aspose::Words::RW::Odt::Writer::OdtOleWriter;
387  friend class Aspose::Words::RW::Wml::Writer::WmlEquationXmlWriter;
388  friend class Aspose::Words::RW::Docx::Reader::DocxCustomizationsReader;
389  friend class Aspose::Words::RW::Docx::Reader::DocxThemeReader;
390  friend class Aspose::Words::RW::Docx::Reader::DocxVbaReader;
391  friend class Aspose::Words::RW::Docx::Writer::DocxCustomizationsWriter;
392  friend class Aspose::Words::RW::Docx::Writer::DocxVbaWriter;
393  friend class Aspose::Words::RW::Doc::Customizations::TcgReader;
394  friend class Aspose::Words::RW::Doc::Customizations::TcgWriter;
395  friend class Aspose::Words::RW::Nrx::Writer::NrxFramesetWriter;
396  friend class Aspose::Words::Fields::FieldNumListLabelUpdater;
397  friend class Aspose::Words::Fields::FieldNumUtil;
398  friend class Aspose::Words::NodeImporter;
399  friend class Aspose::Words::StyleCollection;
400  friend class Aspose::Words::TableLayout::ParagraphMeasurer;
401  friend class Aspose::Words::Run;
402  friend class Aspose::Words::Rendering::AsposeWordsPrintDocument;
403  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
404  friend class Aspose::Words::RW::Imaging::Writer::ImagingWriter;
405  friend class Aspose::Words::RW::Odt::Reader::OdtBinaryObjectReader;
406  friend class Aspose::Words::RW::Odt::Writer::OdtImageWriter;
407  friend class Aspose::Words::RW::Svg::Writer::SvgWriter;
408  friend class Aspose::Words::RW::Rtf::Writer::RtfLochHichDbchGroupWriter;
409  friend class Aspose::Words::RW::Txt::Reader::TxtReader;
410  friend class Aspose::Words::RW::Odt::Reader::OdtSettingsReader;
411  friend class Aspose::Words::RW::Odt::Writer::OdtFieldWriter;
412  friend class Aspose::Words::WordUtil;
413  friend class Aspose::Words::RW::Docx::Reader::DocxReader;
414  friend class Aspose::Words::RW::Docx::Reader::DocxWebSettingsReader;
415  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriter;
416  friend class Aspose::Words::RW::Docx::Writer::DocxWriter;
417  friend class Aspose::Words::RW::Doc::DocPrFiler;
418  friend class Aspose::Words::RW::Doc::Reader::DocReader;
419  friend class Aspose::Words::RW::Doc::Writer::DocWriter;
420  friend class Aspose::Words::RW::Html::Reader::HtmlListReader;
421  friend class Aspose::Words::RW::Html::Reader::HtmlReader;
422  friend class Aspose::Words::RW::Odt::Writer::OdtTextPropertiesWriter;
423  friend class Aspose::Words::RW::Odt::Writer::OdtSettingsWriter;
424  friend class Aspose::Words::RW::Rtf::Reader::RtfModelBuilder;
425  friend class Aspose::Words::RW::Rtf::Reader::RtfReader;
426  friend class Aspose::Words::RW::Rtf::Reader::RtfReaderContext;
427  friend class Aspose::Words::RW::Rtf::Reader::RtfRunPrReader;
428  friend class Aspose::Words::RW::Rtf::Writer::RtfRunPrWriter;
429  friend class Aspose::Words::RW::Rtf::Writer::RtfWriterContext;
430  friend class Aspose::Words::RW::Wml::Reader::WmlReader;
431  friend class Aspose::Words::RW::Wml::Writer::WmlFontsWriter;
432  friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
433  friend class Aspose::Words::RW::Xaml::Writer::XamlRunWriter;
434  friend class Aspose::Words::RW::Xaml::Writer::XamlWriter;
435 
436 public:
437  using Aspose::Words::DocumentBase::Clone;
438 
439 public:
440 
468  ASPOSE_WORDS_SHARED_API System::String get_AttachedTemplate();
469 
471  ASPOSE_WORDS_SHARED_API void set_AttachedTemplate(System::String value);
472 
511  ASPOSE_WORDS_SHARED_API bool get_AutomaticallyUpdateStyles();
512 
514  ASPOSE_WORDS_SHARED_API void set_AutomaticallyUpdateStyles(bool value);
515 
532  ASPOSE_WORDS_SHARED_API bool get_ShadeFormData();
533 
535  ASPOSE_WORDS_SHARED_API void set_ShadeFormData(bool value);
536 
624  ASPOSE_WORDS_SHARED_API bool get_TrackRevisions();
625 
627  ASPOSE_WORDS_SHARED_API void set_TrackRevisions(bool value);
628 
650  ASPOSE_WORDS_SHARED_API bool get_ShowGrammaticalErrors();
651 
653  ASPOSE_WORDS_SHARED_API void set_ShowGrammaticalErrors(bool value);
654 
676  ASPOSE_WORDS_SHARED_API bool get_ShowSpellingErrors();
677 
679  ASPOSE_WORDS_SHARED_API void set_ShowSpellingErrors(bool value);
680 
700  ASPOSE_WORDS_SHARED_API bool get_SpellingChecked();
701 
703  ASPOSE_WORDS_SHARED_API void set_SpellingChecked(bool value);
704 
724  ASPOSE_WORDS_SHARED_API bool get_GrammarChecked();
725 
727  ASPOSE_WORDS_SHARED_API void set_GrammarChecked(bool value);
728 
773  ASPOSE_WORDS_SHARED_API Aspose::Words::NodeType get_NodeType() const override;
774 
810 
813 
849 
852 
911 
988 
1083 
1119 
1156 
1187 
1191 
1201 
1204 
1226 
1307  ASPOSE_WORDS_SHARED_API bool get_HasRevisions();
1308 
1344  ASPOSE_WORDS_SHARED_API bool get_HasMacros();
1345 
1348 
1372  ASPOSE_WORDS_SHARED_API int32_t get_VersionsCount();
1373 
1393  ASPOSE_WORDS_SHARED_API double get_DefaultTabStop();
1394 
1396  ASPOSE_WORDS_SHARED_API void set_DefaultTabStop(double value);
1397 
1444 
1516 
1519 
1576 
1579 
1650 
1757 
1760 
1801  ASPOSE_WORDS_SHARED_API System::String get_OriginalFileName() const;
1802 
1816  ASPOSE_WORDS_SHARED_API Aspose::Words::LoadFormat get_OriginalLoadFormat() const;
1817 
1838 
1905 
1952 
1955 
1981  ASPOSE_WORDS_SHARED_API int32_t get_PageCount();
1982 
2067 
2121 
2143  ASPOSE_WORDS_SHARED_API Aspose::Words::RevisionsView get_RevisionsView() const;
2144 
2146  ASPOSE_WORDS_SHARED_API void set_RevisionsView(Aspose::Words::RevisionsView value);
2147 
2314 
2483 
2486 
2519  ASPOSE_WORDS_SHARED_API bool get_RemovePersonalInformation();
2520 
2522  ASPOSE_WORDS_SHARED_API void set_RemovePersonalInformation(bool value);
2523 
2557 
2560 
2606  ASPOSE_WORDS_SHARED_API Document();
2607 
2627  ASPOSE_WORDS_SHARED_API Document(System::String fileName);
2628 
2687 
2739  ASPOSE_WORDS_SHARED_API Document(System::SharedPtr<System::IO::Stream> stream);
2740 
2822 
2846 
3026  ASPOSE_WORDS_SHARED_API bool Accept(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
3027 
3083 
3168 
3185 
3203 
3364 
3414 
3450 
3486  ASPOSE_WORDS_SHARED_API void EnsureMinimum();
3487 
3513  ASPOSE_WORDS_SHARED_API void AcceptAllRevisions();
3514 
3554  ASPOSE_WORDS_SHARED_API void Protect(Aspose::Words::ProtectionType type);
3555 
3609  ASPOSE_WORDS_SHARED_API void Protect(Aspose::Words::ProtectionType type, System::String password);
3610 
3659  ASPOSE_WORDS_SHARED_API void Unprotect();
3660 
3713  ASPOSE_WORDS_SHARED_API bool Unprotect(System::String password);
3714 
3757  ASPOSE_WORDS_SHARED_API void UpdateWordCount();
3758 
3794  ASPOSE_WORDS_SHARED_API void UpdateWordCount(bool updateLinesCount);
3795 
3834  ASPOSE_WORDS_SHARED_API void UpdateTableLayout();
3835 
3875  ASPOSE_WORDS_SHARED_API void UpdateListLabels();
3876 
3896  ASPOSE_WORDS_SHARED_API void RemoveMacros();
3897 
4025  ASPOSE_WORDS_SHARED_API void UpdateFields();
4026 
4041  ASPOSE_WORDS_SHARED_API void UnlinkFields();
4042 
4082  ASPOSE_WORDS_SHARED_API void NormalizeFieldTypes();
4083 
4116  ASPOSE_WORDS_SHARED_API int32_t JoinRunsWithSameFormatting();
4117 
4161  ASPOSE_WORDS_SHARED_API void ExpandTableStylesToDirectFormatting();
4162 
4202  ASPOSE_WORDS_SHARED_API void Cleanup();
4203 
4249  ASPOSE_WORDS_SHARED_API void Cleanup(System::SharedPtr<Aspose::Words::CleanupOptions> options);
4250 
4261  ASPOSE_WORDS_SHARED_API void RemoveExternalSchemaReferences();
4262 
4325  ASPOSE_WORDS_SHARED_API void StartTrackRevisions(System::String author, System::DateTime dateTime);
4326 
4388  ASPOSE_WORDS_SHARED_API void StartTrackRevisions(System::String author);
4389 
4437  ASPOSE_WORDS_SHARED_API void StopTrackRevisions();
4438 
4484  ASPOSE_WORDS_SHARED_API void Compare(System::SharedPtr<Aspose::Words::Document> document, System::String author, System::DateTime dateTime);
4485 
4583 
4633  ASPOSE_WORDS_SHARED_API void CopyStylesFromTemplate(System::String template_);
4634 
4693 
4726  ASPOSE_WORDS_SHARED_API void UpdatePageLayout();
4727 
4789  ASPOSE_WORDS_SHARED_API System::Drawing::SizeF RenderToScale(int32_t pageIndex, System::SharedPtr<System::Drawing::Graphics> graphics, float x, float y, float scale);
4790 
4854  ASPOSE_WORDS_SHARED_API float RenderToSize(int32_t pageIndex, System::SharedPtr<System::Drawing::Graphics> graphics, float x, float y, float width, float height);
4855  ASPOSE_WORDS_SHARED_API void Add(System::SharedPtr<Aspose::Words::Drawing::Shape> watermark) override;
4856  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Drawing::Shape> Get() override;
4857 
4859  ASPOSE_WORDS_SHARED_API void Remove() override;
4860 
4864  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Rendering::PageInfo> GetPageInfo(int32_t pageIndex);
4865 
4894 
4920  ASPOSE_WORDS_SHARED_API void UpdateThumbnail();
4921 
4937  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Document> ExtractPages(int32_t index, int32_t count);
4938  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> GetDirectSectionAttr(int32_t key) override;
4939  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchInheritedSectionAttr(int32_t key) override;
4940  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchSectionAttr(int32_t key) override;
4941  ASPOSE_WORDS_SHARED_API void SetSectionAttr(int32_t key, System::SharedPtr<System::Object> value) override;
4942  ASPOSE_WORDS_SHARED_API void ClearSectionAttrs() override;
4943 
4944 protected:
4945 
4947  bool get_HasCustomizations();
4948  bool get_HasAttachedToolbars();
4949  bool get_HasAllocatedCommands();
4950  bool get_HasKeyMaps();
4951  System::ArrayPtr<uint8_t> get_DropdownStrings() const;
4952  void set_DropdownStrings(System::ArrayPtr<uint8_t> value);
4953  System::SharedPtr<System::IO::MemoryStream> get_CompObj() const;
4954  void set_CompObj(System::SharedPtr<System::IO::MemoryStream> value);
4955  System::ArrayPtr<uint8_t> get_MsoEnvelope() const;
4956  void set_MsoEnvelope(System::ArrayPtr<uint8_t> value);
4957  System::ArrayPtr<uint8_t> get_AttachedToolbars() const;
4958  void set_AttachedToolbars(System::ArrayPtr<uint8_t> value);
4963  Aspose::Words::VbaDocumentEvents get_VbaDocumentEvents() const;
4964  void set_VbaDocumentEvents(Aspose::Words::VbaDocumentEvents value);
4965  System::String get_BaseUri() const;
4966  void set_BaseUri(System::String value);
4967  System::String get_SavedFileName() const;
4968  System::SharedPtr<Aspose::Words::Fonts::FontSettings> get_EffectiveFontSettings();
4969  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Fonts::DocumentFontProvider> get_FontProvider() override;
4971  void set_FrameSet(System::SharedPtr<Aspose::Words::Frames::FrameSet> value);
4973  void set_RouteSlip(System::SharedPtr<Aspose::Words::RW::Doc::RouteSlip> value);
4978 
4979  ASPOSE_WORDS_SHARED_API bool get_IsTrackRevisionsEnabled() override;
4980  System::SharedPtr<Aspose::Words::OoxmlComplianceInfo> get_ComplianceInfo() const;
4981  void set_ComplianceInfo(System::SharedPtr<Aspose::Words::OoxmlComplianceInfo> value);
4982  bool get_HasPageLayout();
4987  System::DateTime get_CurrentDateTimeCache();
4988 
4989  static const int32_t VbaSignaturePrefixLength;
4990  int64_t FixedPageFormatStoringMilliseconds;
4991 
4992  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Document, CODEPORTING_ARGS(bool isLoadBlank));
4993 
4995 
4996  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Document, CODEPORTING_ARGS(System::SharedPtr<System::IO::Stream> stream, System::SharedPtr<Aspose::Words::Loading::LoadOptions> loadOptions, bool increaseCredit));
4997  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Themes::Theme> GetThemeInternal() override;
4998  void SetThemeInternal(System::SharedPtr<Aspose::Words::Themes::Theme> theme);
4999  int32_t GetNextTocEntryBookmarkIndex();
5000  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Node> Clone(bool isCloneChildren, System::SharedPtr<Aspose::Words::INodeCloningListener> cloningListener) override;
5001  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
5002  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
5003  virtual ASPOSE_WORDS_SHARED_API void WriteDocToHttResponse(System::SharedPtr<System::Web::HttpResponse> response, System::ArrayPtr<uint8_t> docData, int32_t dataLength, System::String headerName, System::String headerValue);
5004  System::String MapFileName(System::String fileName);
5005  ASPOSE_WORDS_SHARED_API bool CanInsert(System::SharedPtr<Aspose::Words::Node> newChild) override;
5008  static System::SharedPtr<System::IO::Stream> OpenDocumentStream(System::String pathOrUri, System::SharedPtr<Aspose::Words::Loading::IResourceLoadingCallback> resourceLoadingCallback, bool useCallbackIfHrefWithSchemeOnly);
5009  void LoadBlank();
5010  ASPOSE_WORDS_SHARED_API void SuspendTrackRevisions() override;
5011  ASPOSE_WORDS_SHARED_API void ResumeTrackRevisions() override;
5015  void InvalidateLayoutDocument();
5016  System::Drawing::SizeF RenderBookletSignatureToScale(System::SharedPtr<Aspose::Words::Layout::Core::BookletSignature> bookletSignature, System::Drawing::SizeF bookletPageSize, int32_t paperTray, System::SharedPtr<System::Drawing::Graphics> graphics, float x, float y, float scale);
5017  float RenderBookletSignatureToSize(System::SharedPtr<Aspose::Words::Layout::Core::BookletSignature> bookletSignature, System::Drawing::SizeF bookletPageSize, int32_t paperTray, System::SharedPtr<System::Drawing::Graphics> graphics, float x, float y, float width, float height);
5018  System::SharedPtr<Aspose::Rendering::Aps::ApsPage> LayoutPageToAps(int32_t pageIndex);
5022  void CheckPageIndexAndCount(int32_t pageIndex, int32_t pageCount);
5023  void ReadVbaProject(System::SharedPtr<Aspose::Ss::MemoryStorage> storage, System::ArrayPtr<uint8_t> signature);
5026  void ClearFieldNumListLabels();
5027 
5028  virtual ASPOSE_WORDS_SHARED_API ~Document();
5029 
5030 private:
5031 
5032  static System::ArrayPtr<char16_t>& gDirectoryDelimiters();
5033 
5042  System::ArrayPtr<uint8_t> mDropdownStrings;
5044  System::ArrayPtr<uint8_t> mMsoEnvelope;
5045  System::ArrayPtr<uint8_t> mAttachedToolbars;
5048  Aspose::Words::VbaDocumentEvents mVbaDocumentEvents;
5050  System::String mOriginalFileName;
5051  System::String mSavedFileName;
5052  Aspose::Words::LoadFormat mOriginalLoadFormat;
5053  System::String mBaseUri;
5066  int32_t mTocEntryBookmarkIndex;
5070  bool mTrackRevisionsEnabled;
5071  int32_t mIsTrackRevisionsLockCount;
5073  System::DateTime mCurrentDateTimeCache;
5076  Aspose::Words::RevisionsView mRevisionsView;
5080 
5081  static void __StaticConstructor__();
5082 
5083  void ResolveSdtXmlMapping();
5085  void SetupLoadWarningCallback(System::SharedPtr<Aspose::Words::Loading::LoadOptions> loadOptions);
5086  void AutoUpdateTrackRevisions();
5089  void UpdateFieldsBeforeSave();
5090  void SetLocaleDefaultsForNewDocument();
5091  void RemoveSectionUnlock(Aspose::Words::ProtectionType type);
5092  ThisType* CppMemberwiseClone() const override { return new ThisType(*this); }
5093 
5094 };
5095 
5096 }
5097 }