Get Started
Usage API
More information

ApiDocument

new ApiDocument()

Class representing a document.

Methods

Name Description
AddComment

Add a comment to the document.

AddElement

Add a paragraph or a table or a blockLvl content control using its position in the document content.

CreateNewHistoryPoint

Create new history point.

CreateNumbering

Create an abstract multilevel numbering with a specified type.

CreateSection

Create a new document section which ends at the specified paragraph. Allows to set local parameters for the current section - page size, footer, header, columns, etc.

CreateStyle

Create a new style with the specified type and name. If there is a style with the same name it will be replaced with a new one.

DeleteBookmark

Remove a bookmark from the document, if one exists.

GetAllCharts

Get the collection of chart objects in the document.

GetAllContentControls

Get the list of all the content controls in the document.

GetAllDrawingObjects

Get the collection of drawing objects in the document.

GetAllImages

Get the collection of image objects in the document.

GetAllShapes

Get the collection of shape objects in the document.

GetAllTablesOnPage

Get the collection of tables on a given absolute page. This method can be a little bit slow, because it runs the document calculation process to arrange tables on the specified page.

GetBookmarkRange

Get a bookmark's range.

GetClassType

Get the type of this class.

GetCommentsReport

Get a report about all the comments added to the document.

GetDefaultParaPr

Get a set of default paragraph properties in the current document.

GetDefaultStyle

Get the default style parameters for the specified document element.

GetDefaultTextPr

Get a set of default properties for the text run in the current document.

GetElement

Get the element by its position in the document.

GetElementsCount

Get the number of elements in the current document.

GetFinalSection

Get the document final section.

GetRange

Return a Range object that represents the part of the document contained in the specified document.

GetRangeBySelect

Get a range object by the current selection.

GetReviewReport

Get a report about every change which was made to the document in the review mode.

GetSections

Get the collection of section objects in the document.

GetStyle

Get a style by the style name.

InsertContent

Insert an array of elements into the current position of the document.

InsertWatermark

Insert a watermark on each document page.

IsTrackRevisions

Check if change tracking mode is enabled or not.

Last

Get the last document element.

Push

Push a paragraph or a table to actually add it to the document.

RemoveAllElements

Remove all the elements from the current document or from the current document element. When all elements are removed, a new empty paragraph is automatically created. If you want to add content to this paragraph, use the ApiDocumentContent.GetElement method.

RemoveElement

Remove element using the position specified.

RemoveSelection

Remove current selection.

Search

Search for the scope of a document object. The search results are a collection of ApiRange objects.

SearchAndReplace

Find and replace text.

SetEvenAndOddHdrFtr

Specify whether sections in this document will have different headers and footers for even and odd pages (one header/footer for odd pages and another header/footer for even pages).

SetTrackRevisions

Set change tracking mode.

Example

Copy code
builder.CreateFile("docx");
oDocument = Api.GetDocument();
oNoSpacingStyle = oDocument.GetStyle("No Spacing");
oSection = oDocument.GetFinalSection();
oHeader = oSection.GetHeader("default", true);
oParagraph = oHeader.GetElement(0);
oParagraph.AddText("This is the text in the default header");
oTextPr = oDocument.GetDefaultTextPr();
oTextPr.SetFontSize(22);
oTextPr.SetLanguage("en-US");
oTextPr.SetFontFamily("Calibri");
oParaPr = oDocument.GetDefaultParaPr();
oParaPr.SetSpacingLine(276, "auto");
oParaPr.SetSpacingAfter(200);
oNormalStyle = oDocument.GetDefaultStyle("paragraph");
oParaPr = oNormalStyle.GetParaPr();
oParaPr.SetSpacingLine(240, "auto");
oParaPr.SetJc("both");
oTextPr = oNormalStyle.GetTextPr();
oTextPr.SetColor(0x26, 0x26, 0x26, false);
oHeading1Style = oDocument.CreateStyle("Heading 1", "paragraph");
oParaPr = oHeading1Style.GetParaPr();
oParaPr.SetKeepNext(true);
oParaPr.SetKeepLines(true);
oParaPr.SetSpacingAfter(240);
oTextPr = oHeading1Style.GetTextPr();
oTextPr.SetColor(0xff, 0x68, 0x00, false);
oTextPr.SetFontSize(40);
oTextPr.SetFontFamily("Calibri Light");
oParagraph = oDocument.GetElement(0);
oParagraph.SetStyle(oHeading1Style);
oParagraph.AddText("This is a heading");
oParagraph = Api.CreateParagraph();
oRun = Api.CreateRun();
oRun.AddText("Number of paragraph elements at this point: ");
oRun.AddTabStop();
oRun.AddText("" + oParagraph.GetElementsCount());
oRun.AddLineBreak();
oParagraph.AddElement(oRun);
oRun.AddText("Number of paragraph elements after we added a text run: ");
oRun.AddTabStop();
oRun.AddText("" + oParagraph.GetElementsCount());
oDocument.Push(oParagraph);
oNumbering = oDocument.CreateNumbering("bullet");
for (nLvl = 0; nLvl < 8; ++nLvl) {
  oNumLvl = oNumbering.GetLevel(nLvl);
  oParagraph = Api.CreateParagraph();
  oParagraph.AddText("Default bullet lvl " + (nLvl + 1));
  oParagraph.SetNumbering(oNumLvl);
  oParagraph.SetContextualSpacing(true);
  oDocument.Push(oParagraph);
}
builder.SaveFile("docx", "ApiDocument.docx");
builder.CloseFile();

Resulting document