有时候,用phpWord读取docx文档时,会出现 Trying to get property of non-object  错误;

经过断点测试、源码排查,发现其根本原因是 XMLReader 读取元素(element)错误;更深一点的原因是,xml文件路径读取错误(有些docx文件里的xml文件路径采用的是根目录路径)

 

一、具体的差异,可以通过自己比较正常的docx文档和异常的docx文档内容来得到,方法如下:

1)文档001.docx 文件重命名为 文档001.zip,右键-》解压到 “文档001”,得到的类似以下文件

修复phpWord读取docx文档错误 (Trying to get property of non-object)  或   修复phpWord读取docx文档错误 (Trying to get property of non-object)

 

 注:其中第一种是我这边出异常的一个docx文档

 

2)xml的读取顺序大致是:

修复phpWord读取docx文档错误 (Trying to get property of non-object)

 

 注:其中document.xml是主文档,styles.xml是样式配置,document.xml.rels是关联的的媒体文件(图片之类的),document.xml 里的 r:embed 对应 document.xml.rels 里的 Relationship 的 Id

 

 二、下面就看怎么修复xml读取路径错误问题了,方法很简单,具体如下图:

修复phpWord读取docx文档错误 (Trying to get property of non-object)

 

 

 

三、图片读取错误问题,具体如下图:

修复phpWord读取docx文档错误 (Trying to get property of non-object)

 

 四、转html及图片处理,请看

PHP读取word docx文档内容及处理图片

 

相关文章:

  • 2021-08-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-02
  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案