wps similares programas power online office microsoft freeoffice extensiones alternativas php python perl parsing office-2007

php - similares - word online



Análisis y generación de archivos de Microsoft Office 2007(.docx,.xlsx,.pptx) (4)

He utilizado con éxito el SDK de formato OpenXML en un proyecto para modificar una hoja de cálculo de Excel a través de un código. Esto requeriría .NET y no estoy seguro de qué tan bien funcionaría bajo Mono.

Tengo un proyecto web donde debo importar texto e imágenes de un documento proporcionado por el usuario, y uno de los formatos posibles es Microsoft Office 2007. También es necesario generar documentos en este formato.

El servidor ejecuta CentOS 5.2 y tiene PHP / Perl / Python instalado. Puedo ejecutar binarios locales y scripts de shell si es necesario. Usamos Apache 2.2 pero cambiaremos a Nginx una vez que entre en funcionamiento.

¿Cuáles son mis opciones? Alguien tiene experiencia con esto?


Los formatos de archivo de Office 2007 están abiertos y bien documentados . En términos generales, todos los nuevos formatos de archivo que terminan en "x" son documentos comprimidos en formato zip. Por ejemplo:

Para abrir un archivo XML de Word 2007 Cree una carpeta temporal en la que almacenar el archivo y sus partes.

Guarde un documento de Word 2007, que contenga texto, imágenes y otros elementos, como un archivo .docx.

Agregue una extensión .zip al final del nombre del archivo.

Haz doble clic en el archivo. Se abrirá en la aplicación ZIP. Puede ver las partes que componen el archivo.

Extraiga las partes en la carpeta que creó anteriormente.

Los otros formatos de archivo son más o menos similares. No conozco ninguna biblioteca de código abierto para interactuar con ellos todavía, pero dependiendo de sus requisitos exactos, no parece demasiado difícil leer y escribir documentos simples. Sin duda, debería ser mucho más fácil que con los formatos anteriores.

Si necesita leer los formatos anteriores, OpenOffice tiene una API y puede leer y escribir documentos de Office 2003 y anteriores con más o menos éxito.


Probablemente puedas verificar el código de Sphider . Ellos docs y pdfs, así que estoy seguro de que pueden leerlos. También podría guiarlo en la dirección correcta para otros formatos de Office.


El módulo python docx puede generar archivos docx de Office formateados de Python puro. Fuera de la caja, tiene encabezados, párrafos, tablas y viñetas, pero el módulo makeelement () se puede ampliar para hacer elementos arbitrarios como imágenes.

from docx import * document = newdocument() # This location is where most document content lives docbody = document.xpath(''/w:document/w:body'',namespaces=wordnamespaces)[0] # Append two headings docbody.append(heading(''Heading'',1) ) docbody.append(heading(''Subheading'',2)) docbody.append(paragraph(''Some text'')