Читайте документы, получайте заголовки и все стили - PullRequest
0 голосов
/ 11 февраля 2020

Чтение Docx и все, что я получаю, это объект Text или TextRun, без заголовков. Я обнаружил, что в моих заголовках есть ParagraphStyle с именем стиля Rubrik2 . Как я могу узнать, что этот стиль абзаца является заголовком и какую глубину он имеет? Кроме того, я не смог выяснить, как получить все доступные стили в документе.

Образец:

$php_word = IOFactory::load($docx_file);
$sections = $php_word->getSections();
foreach ($sections as $section) {
    $section_elements = $section->getElements();
    foreach ($section_elements as $section_element) {
        if ($section_element instanceof TextRun) {
            $paragraph_style = $section_element->getParagraphStyle();
            echo 'getStyleName: '.$paragraph_style->getStyleName()."\n"; // Here is where I get "rubrik2" as style name
            $elements = $section_element->getElements();
            $text = '';
            foreach ($elements as $element) {
                if ($element instanceof Text) {
                    $text .= $element->getText();
                }
            }
            echo 'text: '.$text."\n";
        }
    }
}
...