Поделиться через


Level8ParagraphProperties Class

List Level 8 Text Style.When the object is serialized out as xml, its qualified name is a:lvl8pPr.

Inheritance Hierarchy

System.Object
  DocumentFormat.OpenXml.OpenXmlElement
    DocumentFormat.OpenXml.OpenXmlCompositeElement
      DocumentFormat.OpenXml.Drawing.TextParagraphPropertiesType
        DocumentFormat.OpenXml.Drawing.Level8ParagraphProperties

Namespace:  DocumentFormat.OpenXml.Drawing
Assembly:  DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)

Syntax

'Declaration
Public Class Level8ParagraphProperties _
    Inherits TextParagraphPropertiesType
'Usage
Dim instance As Level8ParagraphProperties
public class Level8ParagraphProperties : TextParagraphPropertiesType

Remarks

The following table lists the possible child types:

  • LineSpacing <a:lnSpc>

  • SpaceBefore <a:spcBef>

  • SpaceAfter <a:spcAft>

  • BulletColorText <a:buClrTx>

  • BulletColor <a:buClr>

  • BulletSizeText <a:buSzTx>

  • BulletSizePercentage <a:buSzPct>

  • BulletSizePoints <a:buSzPts>

  • BulletFontText <a:buFontTx>

  • BulletFont <a:buFont>

  • NoBullet <a:buNone>

  • AutoNumberedBullet <a:buAutoNum>

  • CharacterBullet <a:buChar>

  • PictureBullet <a:buBlip>

  • TabStopList <a:tabLst>

  • DefaultRunProperties <a:defRPr>

  • ExtensionList <a:extLst>

[ISO/IEC 29500-1 1st Edition]

21.1.2.4.20 lvl8pPr (List Level 8 Text Style)

This element specifies all paragraph level text properties for all elements that have the attribute lvl="7". There are a total of 9 level text property elements allowed, levels 0-8. It is recommended that the order in which this and other level property elements are specified be in order of increasing level. That is lvl2pPr should come before lvl3pPr. This allows the lower level properties to take precedence over the higher level ones because they are parsed first.

[Example: Consider the following DrawingML code that would specify a paragraph to follow the level style defined in lvl8pPr and thus create a paragraph of text that has no bullets and is right aligned.

<p:txBody>
…
<a:lstStyle>
<a:lvl8pPr algn="r">
<a:buNone/>
</a:lvl8pPr>
</a:lstStyle>
  <a:p>
<a:pPr lvl="7">
</a:pPr>
…
    <a:t>Some text</a:t>
…
</a:p>
</p:txBody>

end example]

[Note: To resolve conflicting paragraph properties the linear hierarchy of paragraph properties should be examined starting first with the pPr element. The rule here is that properties that are defined at a level closer to the actual text should take precedence. That is if there is a conflicting property between the pPr and lvl1pPr elements then the pPr property should take precedence because in the property hierarchy it is closer to the actual text being represented. end note]

Parent Elements

bodyStyle (§19.3.1.5); defaultTextStyle (§19.2.1.8); lstStyle (§21.1.2.4.12); notesStyle (§19.3.1.28); otherStyle (§19.3.1.35); titleStyle (§19.3.1.49)

Child Elements

Subclause

buAutoNum (Auto-Numbered Bullet)

§21.1.2.4.1

buBlip (Picture Bullet)

§21.1.2.4.2

buChar (Character Bullet)

§21.1.2.4.3

buClr (Color Specified)

§21.1.2.4.4

buClrTx (Follow Text)

§21.1.2.4.5

buFont (Specified)

§21.1.2.4.6

buFontTx (Follow text)

§21.1.2.4.7

buNone (No Bullet)

§21.1.2.4.8

buSzPct (Bullet Size Percentage)

§21.1.2.4.9

buSzPts (Bullet Size Points)

§21.1.2.4.10

buSzTx (Bullet Size Follows Text)

§21.1.2.4.11

defRPr (Default Text Run Properties)

§21.1.2.3.2

extLst (Extension List)

§20.1.2.2.15

lnSpc (Line Spacing)

§21.1.2.2.5

spcAft (Space After)

§21.1.2.2.9

spcBef (Space Before)

§21.1.2.2.10

tabLst (Tab List)

§21.1.2.2.14

Attributes

Description

algn (Alignment)

Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed. If this attribute is omitted, then a value of left is implied.

DocumentFormat.OpenXml.Drawing.Level8ParagraphProp

[Example: Consider the case where the user wishes to have two columns of text that have a justified alignment, much like text within a book. The following DrawingML could describe this.

<p:txBody>
<a:bodyPr numCol="2" spcCol="914400"…/>
<a:normAutofit/>
</a:bodyPr>
…
  <a:p>
<a:pPr marL="0" algn="just">
<a:buNone/>
</a:pPr>
    …
<a:t>Sample Text …</a:t>
…
</a:p>
</p:txBody>

end example]

The possible values for this attribute are defined by the ST_TextAlignType simple type (§20.1.10.59).

defTabSz (Default Tab Size)

Specifies the default size for a tab character within this paragraph. This attribute should be used to describe the spacing of tabs within the paragraph instead of a leading indentation tab. For indentation tabs there are the marL and indent attributes to assist with this.

[Example: Consider the case where a paragraph contains numerous tabs that need to be of a specific size. The following DrawingML would describe this.

<p:txBody>
…
<a:p>
<a:pPr defTabSz="376300" …/>
…
<a:t>Sample Text …</a:t>
…
</a:p>
</p:txBody>

end example]

The possible values for this attribute are defined by the ST_Coordinate32 simple type (§20.1.10.17).

eaLnBrk (East Asian Line Break)

Specifies whether an East Asian word can be broken in half and wrapped onto the next line without a hyphen being added. To determine whether an East Asian word can be broken the presentation application would use the kinsoku settings here. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it is not present within the existence of normal breakable East Asian words but is when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of 1 or true is implied.

[Example: Consider the case where the presentation contains a long word that must not be divided with a line break. Instead it should be placed, in whole on a new line so that it can fit. The picture below shows a normal paragraph where a long word has been broken for a line break. The second picture shown below shows that same paragraph with the long word specified to not allow a line break. The resulting DrawingML is as follows.

<p:txBody>
…
<a:p>
<a:pPr eaLnBrk="0" …/>
…
<a:t>Sample text (Long word)</a:t>
…
</a:p>
</p:txBody>
DocumentFormat.OpenXml.Drawing.Level8ParagraphPropDocumentFormat.OpenXml.Drawing.Level8ParagraphProp

end example]

The possible values for this attribute are defined by the W3C XML Schema boolean datatype.

fontAlgn (Font Alignment)

Determines where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. For instance having text anchored to the top baseline, anchored to the bottom baseline, centered in between, etc. To understand this attribute and it's use it is helpful to understand what baselines are. A diagram describing these different cases is shown below. If this attribute is omitted, then a value of base is implied.

[Example: Consider the case where the user wishes to represent the chemical compound of a water molecule. For this they need to make sure the H, the 2, and the O are all in the correct position and are of the correct size. The results below can be achieved through the DrawingML shown below.

DocumentFormat.OpenXml.Drawing.Level8ParagraphProp
<a:txtBody>
…
<a:pPr fontAlgn="b" …/>
…
  <a:r>
<a:rPr …/>
<a:t>H </a:t>
</a:r>
  <a:r>
<a:rPr sz="1200" …/>
<a:t>2</a:t>
</a:r>
  <a:r>
<a:rPr …/>
<a:t>O</a:t>
</a:r>
…
</p:txBody>

end example]

The possible values for this attribute are defined by the ST_TextFontAlignType simple type (§20.1.10.66).

hangingPunct (Hanging Punctuation)

Specifies whether punctuation is to be forcefully laid out on a line of text or put on a different line of text. That is, if there is punctuation at the end of a run of text that should be carried over to a separate line does it actually get carried over. A true value allows for hanging punctuation forcing the punctuation to not be carried over and a value of false allows the punctuation to be carried onto the next text line. If this attribute is omitted, then a value of 0, or false is implied.

The possible values for this attribute are defined by the W3C XML Schema boolean datatype.

indent (Indent)

Specifies the indent size that is applied to the first line of text in the paragraph. An indentation of 0 is considered to be at the same location as marL attribute. If this attribute is omitted, then a value of -342900 is implied.

DocumentFormat.OpenXml.Drawing.Level8ParagraphProp

[Example: Consider the scenario where the user now wanted to add a paragraph indentation to the first line of text in their two column format book.

<p:txBody>
<a:bodyPr numCol="2" spcCol="914400"…/>
<a:normAutofit/>
</a:bodyPr>
…
  <a:p>
    <a:pPr marL="0" indent="571500" algn="just">
<a:buNone/>
</a:pPr>
…
<a:t>Here is some…</a:t>
…
</a:p>
</p:txBody>

By adding the indent attribute the user has effectively added a first line indent to this paragraph of text. end example]

The possible values for this attribute are defined by the ST_TextIndent simple type (§20.1.10.70).

latinLnBrk (Latin Line Break)

Specifies whether a Latin word can be broken in half and wrapped onto the next line without a hyphen being added. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. It is not present within the existence of normal breakable Latin words but is when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of 1 or true is implied.

[Example: Consider the case where the presentation contains a long word that must not be divided with a line break. Instead it should be placed, in whole on a new line so that it can fit. The picture below shows a normal paragraph where a long word has been broken for a line break. The second picture shown below shows that same paragraph with the long word specified to not allow a line break. The resulting DrawingML is as follows.

<p:txBody>
…
<a:p>
<a:pPr latinLnBrk="0" …/>
…
<a:t>Sample text (Long word)</a:t>
…
</a:p>
</p:txBody>
DocumentFormat.OpenXml.Drawing.Level8ParagraphProp

The possible values for this attribute are defined by the W3C XML Schema boolean datatype.

lvl (Level)

Specifies the particular level text properties that this paragraph follows. The value for this attribute is numerical and formats the text according to the corresponding level paragraph properties that are listed within the lstStyle element. Since there are nine separate level properties defined, this tag has an effective range of 0-8 = 9 available values.

[Example: Consider the following DrawingML. This would specify that this paragraph should follow the lvl2pPr formatting style because once again lvl="1" is considered to be level 2.

<p:txBody>
…
<a:p>
<a:pPr lvl="1" …/>
…
<a:t>Sample text</a:t>
…
</a:p>
</p:txBody>

end example]

[Note: To resolve conflicting paragraph properties the linear hierarchy of paragraph properties should be examined starting first with the pPr element. The rule here is that properties that are defined at a level closer to the actual text should take precedence. That is if there is a conflicting property between the pPr and lvl1pPr elements then the pPr property should take precedence because in the property hierarchy it is closer to the actual text being represented. end note]

The possible values for this attribute are defined by the ST_TextIndentLevelType simple type (§20.1.10.71).

marL (Left Margin)

Specifies the left margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marL attributes are additive with respect to the text position. If this attribute is omitted, then a value of 347663 is implied.

The possible values for this attribute are defined by the ST_TextMargin simple type (§20.1.10.72).

marR (Right Margin)

Specifies the right margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marR attributes are additive with respect to the text position. If this attribute is omitted, then a value of 0 is implied.

The possible values for this attribute are defined by the ST_TextMargin simple type (§20.1.10.72).

rtl (Right To Left)

Specifies whether the text is right-to-left or left-to-right in its flow direction. If this attribute is omitted, then a value of 0, or left-to-right is implied.

[Example: Consider the following example of a text body with two lines of text. In this example, both lines contain English and Arabic text, however, the second line has the rtl attribute set to true whereas the first line does not set the rtl attribute.

DocumentFormat.OpenXml.Drawing.Level8ParagraphProp
<p:txBody>
  …
  <a:p>
    <a:r>
      <a:t>Test </a:t>
    </a:r>
    <a:r>
      <a:rPr>
        <a:rtl w:val="1"/>
      </a:rPr>
      <a:t> تجربة</a:t>
    </a:r>
  </a:p>
  <a:p>
    <a:pPr rtl="1"/>
    <a:r>
      <a:rPr>
<a:rtl w:val="0"/>
      </a:rPr>
      <a:t>Test </a:t>
    </a:r>
    <a:r>
      <a:t> تجربة</a:t>
    </a:r>
  </a:p>
</p:txBody>

end example]

The possible values for this attribute are defined by the W3C XML Schema boolean datatype.

[Note: The W3C XML Schema definition of this element’s content model (CT_TextParagraphProperties) is located in §A.4.1. end note]

© ISO/IEC29500: 2008.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Level8ParagraphProperties Members

DocumentFormat.OpenXml.Drawing Namespace