Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP将.docx文件转换为.doc文件?_Php_Docx_Doc_Phpword - Fatal编程技术网

如何使用PHP将.docx文件转换为.doc文件?

如何使用PHP将.docx文件转换为.doc文件?,php,docx,doc,phpword,Php,Docx,Doc,Phpword,我想逐行读取.docx文件中的文本,并将每行数据保存在一个数组中,因为.docx是一个压缩文件,我想将其转换为.doc文件,以便我可以使用@fopen($filename,'r')读取该文件 下面是我尝试使用PHPWord将.docx转换为.doc的代码 <?php require_once 'phpWord/PHPWord.php'; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('BasicTable

我想逐行读取
.docx
文件中的文本,并将每行数据保存在一个数组中,因为
.docx
是一个压缩文件,我想将其转换为
.doc
文件,以便我可以使用
@fopen($filename,'r')读取该文件

下面是我尝试使用PHPWord将
.docx
转换为
.doc
的代码

<?php
require_once 'phpWord/PHPWord.php';

$PHPWord = new PHPWord();

$document = $PHPWord->loadTemplate('BasicTable.docx');

// Save File

$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');

$objWriter->save('BasicTable4.doc');
?>


这将创建一个错误的
.doc
文件。

您可以尝试使用PHPWord。()


它支持docx和doc。

如果要从.docx文件中获取文本并将其保存为文本文件,则可以使用库


将其转换为文本文件后,您可以逐行读取文本文件,并将每行数据保留在一个数组中。

使用
fopen
读取
.doc
文件,然后逐行读取可能不是您想要的。@Eborbob如果它是.doc文件,则我可以对每一行中断的数据进行分解。如果它是Word文档,您将这里也有很多元数据,但听起来在您的用例中,您已经涵盖了这些。@Eborbob好的,那么解决这个问题的方法是什么呢。。。我能用phpWord直接读取.docx文件吗?不能肯定,但.doc的格式是针对2007年以前的ms word。从2007年开始使用.docx扩展名。我无法使用PHPWord将.docx文件转换为.doc文件。我已经给出了上面的代码,请检查。@Astinox您确定PhpWord同时支持docx和doc吗?据我所知,它不支持编写.doc文件(?)。我假设更为最新的项目链接是(Git版本是从codeplex版本启动的当前活动版本)