如何从php
中的Doc文件中获取内容我在Yii2中使用PHPOffice/PHPWord。
此代码不起作用:(我的Doc文件是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/>';
}
}
}
}
}
我需要从Doc文件(标题,...)获取内容
答案 0 :(得分:0)
.doc文件的所有文本都位于嵌套在PHPWord在加载.doc文件时创建的对象的相应[text]
属性内的[elements]
属性内。在代码中运行$phpWord = \PhpOffice\PhpWord\IOFactory::load($filename, 'MsDoc');
后在获得的对象中搜索它们。
默认情况下,这些属性是受保护的。您必须首先在PHPWord库文件中将其状态更改为public
-对于[elements]
,它是AbstractContainer.php,对于[text]
,它是Text.php。将这两个属性的状态更改为public
后,便可以从$phpWord
对象中提取/访问它们。