---
title: "Specify Layout Options in C#"
---

```

## Purpose Summary

This page explains how to configure layout options that affect pagination and rendering.

```

Aspose.Words enables you to create output documents with various layouts, depending on the parameters specified in properties of the [LayoutOptions](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/) class. Some of these properties resemble some of the Microsoft Word user interface menu options - they will be described in this article.

For a complete list of parameters such as [ContinuousSectionPageNumberingRestart](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/continuoussectionpagenumberingrestart/) to calculate page numbers in a continuous section that restarts page numbering, or [IgnorePrinterMetrics](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/ignoreprintermetrics/) to ignore the "Use printer metrics to lay out document" compatibility option, see the [LayoutOptions](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/) class page.

## Formatting Marks

Aspose.Words allows to manage formatting marks using the following properties:

- [ShowHiddenText](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/showhiddentext/) - a `Boolean` value, which specifies whether the hidden text is rendered.
- [ShowParagraphMarks](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/showparagraphmarks/) - a `Boolean` value, which specifies whether paragraph mark characters are rendered.

The page depicted in the example below contains three paragraphs. The second one is hidden. A user can change the **ShowHiddenText** option to display this hidden text on the page. Also, each paragraph has a paragraph mark at the end. The paragraph mark usually is not visible unless the **ShowParagraphMarks** property is set to render it.

![specify-layout-options_1](specify-layout-options-1.png)

In Microsoft Word, these parameters are set using the "File - Options - Display" dialog box as follows:

![specify-layout-options_2](specify-layout-options-2.jpg)

## Comments and Revisions

With Aspose.Words, you can render document comments that will look the same as in Microsoft Word. To specify whether comments are rendered, use the [CommentDisplayMode](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/commentdisplaymode/) property.

In Microsoft Word, this parameter is set using the "Track Changes Options" dialog box, as shown below:

![specify-layout-options_3](specify-layout-options-3.jpg)

Also, Aspose.Words allows you to display revisions in a document. Use the [RevisionOptions](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/revisionoptions/) property of the **LayoutOptions** class to define whether the document revisions are displayed. To control their appearance (revision highlighting color, revision bar color, etc.), use the [RevisonOptions](https://reference.aspose.com/words/net/aspose.words.layout/revisionoptions/) class.

You can also have revisions displayed as comments to the content. For this purpose, use the [CommentDisplayMode](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/commentdisplaymode/) property and [ShowInBalloons](https://reference.aspose.com/words/net/aspose.words.layout/commentdisplaymode/) value.

The following code example shows how to customize revisions display:

{{< gist "aspose-words-gists" "ce015d9bade4e0294485ffb47462ded4" "show-revisions-in-balloons.cs" >}}

The image below shows how Aspose.Words renders comments and the Delete revisions:

![comments_and_revisions_example_aspose_words_net](specify-layout-options-4.png)

## Text Shaper for Advanced Typography Rendering

The [TextShaperFactory](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/textshaperfactory/) property enables you to set the text shaping functionality, as well as the `OpenType` features support.

Use text shaping for document processing in the following main cases:

- A document uses Kerning, Numeral Shaping, Numeral Forms, or Ligatures.
- A document uses Complex Scripts, such as Arabic, Khmer, Thai, etc.

```

Text shaping will be enabled only when exporting a document to PDF or XPS.

```

## Related APIs

- [`LayoutOptions`](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/)
- [`RevisionOptions`](https://reference.aspose.com/words/net/aspose.words.layout/revisionoptions/)
- [`CommentDisplayMode`](https://reference.aspose.com/words/net/aspose.words.layout/commentdisplaymode/)
- [`TextShaperFactory`](https://reference.aspose.com/words/net/aspose.words.layout/layoutoptions/textshaperfactory/)

## FAQ

1. **Q:** How can I make hidden text visible in the rendered document?
   **A:** Set the `ShowHiddenText` property of `LayoutOptions` to `true`. This tells Aspose.Words to render hidden text when the document is saved or exported. Example:

   ```csharp
   Document doc = new Document("input.docx");
   LayoutOptions layout = doc.LayoutOptions;
   layout.ShowHiddenText = true;
   doc.Save("output.pdf");
   ```

2. **Q:** My revisions are not appearing in the output; how do I display them?
   **A:** Enable revision rendering by configuring `RevisionOptions` and, if desired, `CommentDisplayMode`. Set `RevisionOptions.ShowRevisions` to `true` and choose how revisions are shown (e.g., as balloons). Example:

   ```csharp
   Document doc = new Document("tracked.docx");
   LayoutOptions layout = doc.LayoutOptions;
   layout.RevisionOptions.ShowRevisions = true;
   layout.CommentDisplayMode = CommentDisplayMode.ShowInBalloons;
   doc.Save("tracked_output.pdf");
   ```

3. **Q:** How do I enable proper rendering of complex scripts and OpenType features?
   **A:** Assign a text shaper to `LayoutOptions.TextShaperFactory`. The default shaper handles most cases, but you can specify a custom one if needed. Example:

   ```csharp
   Document doc = new Document("complex_script.docx");
   LayoutOptions layout = doc.LayoutOptions;
   layout.TextShaperFactory = TextShaperFactory.Default;
   doc.Save("complex_output.pdf");
   ```

------