Pregunta

Un cliente me pide la construcción de un módulo para su aplicación web en ejecución que puede cargar archivos docx y extraer datos en base a la encabezamientos encuentra en el documento. Sé docx es sólo un archivo zip y la mayor parte de lo que necesita puede ser encontrado en la palabra / document.xml, aunque no muchas ganas de análisis sintáctico listas / estilos / images / mesas y cualquier otras cosas que necesitan ser traducidas a partir OOXML a HTML.

¿Hay bibliotecas PHP para este formato? Yo necesito algún tipo de flexibilidad sin embargo: sólo un OOXML a HTML convertidor no se va a cortar, necesito dividir el documento en partes

.
¿Fue útil?

Solución

Si es puramente DOCX, puede intentar phpdocx ... no sé si lee o sólo escribe. PHPWord todavía no leer, sólo escribe (aunque yo estoy trabajando en ello).

Si sólo necesita la información de las propiedades, entonces usted lo encontrará todo en el archivo de /docProps/core.xml dentro del zip (y posiblemente en /docProps/app.xml dependiendo exactamente qué propiedades que necesita), por lo puede pasar por alto la mayor parte de los archivos de texto que se espera, estilo, imágenes, etc. para la verificación de nombres de archivo, [Content_Types] .xml mantiene los nombres de archivo para los archivos de propiedades y aplicaciones básicas como application / vnd.openxmlformats-officedocument.spreadsheetml.sheet .main + xml y application / vnd.openxmlformats-officedocument.extended-propiedades + xml

EDIT: Si necesita rúbricas, a continuación, tendrá que analizar el documento, no sólo las propiedades. Eso significa identificar los estilos de título, y analizar el texto para entidades con esos estilos.

Otros consejos

CodePlex tiene un número de bibliotecas que el trabajo lata con documentos de MS Office:

Con la excepción de PHPExcel, no sé cómo maduran los proyectos son. Si no hay nada que le ayudarán a cabo allí, aún puede utilizar DOM .

OpenTBS puede leer y modificar DOCX (y otros archivos OpenXML) documentos en PHP utilizando la técnica de plantillas. No hay archivos temporales necesarios, no hay líneas de comando, todos en PHP.

Pero si sólo necesita leer una parte del archivo DOCX, a continuación, puede utilizar la clase TbsZip . Se puede leer archivos zip (como los archivos OpenXML, DOCX es un archivo zip que contiene en su mayoría archivos XML).

En los archivos DOCX, los encabezados y pies de página sub-archivos son por lo general "/word/header1.xml" y "/word/footer1.xml". Ellos sólo existe si está definida encabezado / pie de página. También puede tener un par opcional de XML sub-archivos de páginas impares (por lo general "/word/header2.xml" y "/word/footer2.xml"). Y un par opcional de sub-archivos de la primera página (por lo general "/word/header3.xml" y "/word/footer3.xml").

http://www.tinybutstrong.com/opentbs.php

También podría utilizar esta bibliotecas https://poi.apache.org/ y conectarlos a través de php java puente http://php-java-bridge.sourceforge.net/pjb / - instalar un servidor Tomcat - lugar puente de Java en las aplicaciones web carpeta y añadir las bibliotecas poi - entonces se podría utilizar esta bibliotecas para extraer los estilos de título. La API está bien documentado y tiene muchas opciones. Una librería PHP que hace esto sería la mejor, pero se puede probar este método si funciona para usted o alguien más

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top