Использование Office Word для чтения документов с помощью PHP - PullRequest
2 голосов
/ 11 января 2011

Я пытаюсь использовать PHP с word.application для чтения файла. Он просто не откроет файл. Это повторяет правильную версию.

$w = new COM("word.application") or die("Is office installed?");
echo 'Loaded Word, version ' . $w->Version . '<br>'; 
$w->Visible = false;

$w->Documents->Open(realpath('test.docx'));

$content = (string) $w->ActiveDocument->Content;

echo $content;

$w->Quit();
$w->Release();
$w = null;

Я получаю ошибку:

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

Такое ощущение, что это какая-то проблема с разрешением. Я попытался указать путь к test.docx, кроме использования realpath, и это не помогло. Также пытался положить его в корень моего диска C. Я использую Windows 7 Professional и Microsoft Office 2007.

Ответы [ 2 ]

0 голосов
/ 11 января 2011
  1. Попробуйте сделать file_exists для указанного файла / пути.
  2. Если это работает, попробуйте file_get_contents и посмотрите, можете ли вы его прочитать.

Если это все работает - тогда это не проблема с разрешениями и т. Д.

0 голосов
/ 11 января 2011

Documents-> Open возвращает документ, если все в порядке.Возможно, документ не существует (неверный путь) или у вас нет прав на его открытие из PHP.Сохраните результат в $ var, проверьте, имеет ли оно подходящее значение (вероятно, not isset, null или false, если нет), и используйте $ var-> Content, чтобы прочитать содержимое.

...