【问题标题】:How to convert .docx file into .doc file with PHP?如何使用 PHP 将 .docx 文件转换为 .doc 文件?
【发布时间】:2015-09-13 04:45:51
【问题描述】:

我想逐行读取.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 文件。

【问题讨论】:

  • 使用fopen 读取.doc 文件,然后逐行读取可能不是您想要的。
  • @Eborbob 如果它是一个 .doc 文件,那么我可以分解每个换行符的数据。
  • 如果它是 Word 文档,您还会在其中包含大量元数据,但听起来在您的用例中您已经涵盖了这些内容。
  • @Eborbob 好的,那么解决方案是什么...我可以使用 phpWord 直接读取 .docx 文件吗?
  • 无法确定,但 .doc 的格式适用于 2007 年之前的 ms 字。从 2007 年起使用 .docx 扩展名。

标签: php docx doc phpword


【解决方案1】:

如果您想从 .docx 文件中获取文本并将其保存为文本文件,那么您可以使用库 docx2text

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

【讨论】:

    【解决方案2】:

    您可以尝试使用 PHPWord。 (http://phpword.codeplex.com/)

    它支持 docx 和 doc。

    【讨论】:

    • 我无法使用 PHPWord 将 .docx 文件转换为 .doc 文件。我已经给出了上面的代码,请检查。
    • @Astinox 你确定 PhpWord 同时支持 docx 和 doc 吗?据我所知,它不支持编写 .doc 文件(?)。我假设更新的项目链接是github.com/PHPOffice/PHPWord(Git 版本是从 codeplex 版本开始的当前活动版本)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2011-10-03
    • 2012-05-11
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多