Estoy tratando de abrir y leer el contenido de un documento de Word con PHO utilizando la función COM. Sin embargo, siempre que intente leer el contenido, entonces me da el siguiente error:No puedo abrir el documento de Word con COM en PHP
Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Word
Description: This command is not available because no document is open.'
tengo el siguiente código:
$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);
estoy 100% seguro de que existe el documento de Word. Lo he comprobado muchas veces. Los permisos en el archivo están establecidos en Full Control
. Entonces eso tampoco puede ser.
También he leído un comentario en php.net. Dijo que IIS está causando un problema (lo tengo en ejecución). Su solución fue la siguiente:
- ejecutar "dcomcnfg"
- Abra Servicios de componentes> Equipos> Mi PC> Configuración DCOM
- Búsqueda de Microsoft Office Documento de Word 97-2003 (que será algo como esto traducido a su idioma, así que tome un tiempo y buscar para ello) < - Pegado a éste, no puede encontrar cualquier cosa llamada "Microsoft Office ..."
- Haga clic derecho en él-y abra las propiedades
- Elija la pestaña "Identidad"
- Normalmente esto se establece en "el usuario de lanzamiento". Debe cambiar esto a "usuario interactivo" o a un usuario administrador de su elección.
- Aplique estas nuevas configuraciones y pruebe su aplicación COM. Debería funcionar bien ahora.
En cualquier caso, todavía no lo tengo funcionando. Alguien tiene idea de cómo podría solucionar este error ... ???
Estoy obligado a utilizar esta computadora con una cuenta de usuario normal, por lo que PHP en IIS nunca puede ejecutar COM (más algunas otras funcionalidades), pero PHP en CLI sí. Aún no lo he probado, pero si realmente tengo que usar COM, lo convertiría en un script CLI y permitiría que el script CGI lo ejecute en cosas como 'exec'. – Passerby
Parece que 'word 2007' no necesita esta configuración? No puedo encontrar esta configuración de DCOM para mi palabra 2007. Pero el COM funciona muy bien. Entonces, ¿alguien ayuda? – Turtle