Hello,
Yes, phpdocx transforms HTML headings to MS Word headings. You can read this information on HTML to Word documentation:
h1, h2, h3, h4, h5 and h6: They are parsed as Word headings and as such they may show up in a TOC included in the Word document.
When you add a heading HTML (h1, h2, h3...), phpdocx applies a w:outlineLvl tag to the transformed content. This tag sets the content as MS Word heading (outline level) and apply default styles:
$html = '
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<p>Not heading text</p>
';
$docx->embedHTML($html);
If you also want to highlight a style in the MS Word interface when transforming HTML, you need to set what Word styles you want to apply for each tag (or class or id, on the Using native Word formatting with HTML section you can read more information about this feature). For example, using the default styles included in phpdocx (any other styles can be applied when using a template or custom styles):
$html = '
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<p>Not heading text</p>
';
$docx->embedHTML($html,
array('wordStyles' => array(
'<h1>' => 'Heading1PHPDOCX',
'<h2>' => 'Heading2PHPDOCX',
'<h3>' => 'Heading3PHPDOCX',
'<h4>' => 'Heading4PHPDOCX',
'<h5>' => 'Heading5PHPDOCX',
'<h6>' => 'Heading6PHPDOCX')
)
);
Using a Premium license you can enable HTML Extended to assign these styles using a custom attribute:
$html = '
<h1 data-style="Heading1PHPDOCX">Heading 1</h1>
<h2 data-style="Heading2PHPDOCX">Heading 2</h2>
<h3 data-style="Heading3PHPDOCX">Heading 3</h3>
<h4 data-style="Heading4PHPDOCX">Heading 4</h4>
<h5 data-style="Heading5PHPDOCX">Heading 5</h5>
<h6 data-style="Heading6PHPDOCX">Heading 6</h6>
<p>Not heading text</p>
';
$docx->embedHTML($html, array('useHTMLExtended' => true));
Using a template or custom styles the default styles used by phpdocx can be replaces by other style names.
Regards.