【问题标题】:how to get content from Doc file in php如何在php中从Doc文件中获取内容
【发布时间】:2017-11-19 23:51:15
【问题描述】:

如何在php中从Doc文件中获取内容

我在 Yii2 中使用PHPOffice/PHPWord

此代码不起作用:(我的文档文件是 UTF8)

$phpWord = \PhpOffice\PhpWord\IOFactory::load($filename, 'MsDoc');
$sections = $phpWord->getSections();
foreach ($sections as $key => $value) {
    $sectionElement = $value->getElements();
    foreach ($sectionElement as $elementKey => $elementValue) {
        if ($elementValue instanceof \PhpOffice\PhpWord\Element\TextRun) {
            $secondSectionElement = $elementValue->getElements();
            foreach ($secondSectionElement as $secondSectionElementKey => $secondSectionElementValue) {
                if ($secondSectionElementValue instanceof \PhpOffice\PhpWord\Element\Text) {
                    echo $secondSectionElementValue->getText() . '<br/>';
                }
            }
        }
    }
}

我需要从文档文件中获取内容(标题,...)

【问题讨论】:

    标签: php yii2 doc phpword phpoffice


    【解决方案1】:

    .doc 文件的所有文本都在 [text] 属性内,这些属性嵌套在 PHPWord 在加载 .doc 文件时创建的对象的相应 [elements] 属性内。在您的代码中运行$phpWord = \PhpOffice\PhpWord\IOFactory::load($filename, 'MsDoc'); 后得到的对象中搜索它们。

    这些属性默认是受保护的。您必须首先在 PHPWord 库文件中将它们的状态更改为 public - 对于 [elements],它是 AbstractContainer.php,对于 [text],它是 Text.php。一旦您将这两个属性的状态更改为public,您就可以从您的$phpWord 对象中提取/访问它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-01
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      相关资源
      最近更新 更多