gpt4 book ai didi

php - 无法在 PHP 中使用 COM 打开 Word 文档

转载 作者:可可西里 更新时间:2023-11-01 12:35:03 26 4
gpt4 key购买 nike

我正在尝试使用 COM 函数使用 PHO 打开和读取 Word 文档的内容。但是每当我尝试阅读内容时,它都会给我以下错误:

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Word
Description: This command is not available because no document is open.'

我有以下代码:

    $word = new \COM ( "word.application" ) or die ( "Could not initialise MS Word object." );
$word->Documents->Open ( realpath("test.doc" ) );

// Extract content.
$content = (string) $word->ActiveDocument->Content;

echo $content;

$word->ActiveDocument->Close(false);

$word->Quit();
$word = null;
unset($word);

我 100% 确定 Word 文档存在。我已经检查过很多次了。该文件的权限设置为 Full Control。所以这也不可能。


我还阅读了关于 php.net 的评论。它说 IIS 导致了问题(我正在运行)。他的解决方案是这样的:

  • 执行“dcomcnfg”
  • 打开组件服务 > 计算机 > 我的电脑 > DCOM 配置
  • 搜索 Microsoft Office Word 97-2003 文档(它会被翻译成您的语言,所以花点时间搜索它)<-- 卡在这个文档上,找不到任何名为“微软办公室……”
  • 右键单击它并打开属性
  • 选择“身份”选项卡
  • 通常这被设置为“启动用户”。您必须将其更改为“交互式用户”或您选择的管理员用户。
  • 应用这些新设置并测试您的 COM 应用程序。现在应该可以正常工作了。

无论如何,我仍然没有得到这个工作。任何人都知道如何解决这个错误......???

最佳答案

我刚刚找到了解决方案。我讲的步骤:

  • 执行“dcomcnfg”
  • 打开组件服务 > 计算机 > 我的电脑 > DCOM 配置
  • 搜索 Microsoft Office Word 97-2003 文档(它将是......
  • 等..

行得通。但正如我所说,我找不到 Microsoft Office Word 97-2003 配置。所以这就是我为了让它出现在列表中所做的。

  1. 开始
  2. 运行
  3. mmc -32
  4. 文件
  5. 添加删除管理单元
  6. 组件服务
  7. 添加
  8. 好的
  9. 根控制台
  10. 组件服务
  11. 计算机
  12. 我的电脑
  13. DCOM 配置
  14. Microsoft Excel 应用程序

现在您应该能够按照我第一篇文章中的步骤进行操作。然后 PHP 应该能够毫无问题地阅读文档。

关于php - 无法在 PHP 中使用 COM 打开 Word 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12104775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com