2011-11-30 18 views
7

Tengo una aplicación que necesita para crear documentos simples de OpenXML (en particular presentaciones de PowerPoint) usando JavaScript.Creando documentos OpenXML usando JavaScript

¿Alguien puede sugerir cómo empezar a usar esto por favor (o incluso si es posible)? Utilicé el Microsoft OpenXML SDK para hacer algo similar con C#, y me preguntaba si habría alguna biblioteca de JavaScript con una funcionalidad similar.

Esencialmente, el problema es cómo crear los documentos individuales OpenXML que componen un documento descomprimido de PowerPoint, y luego unirlos para crear el archivo de PowerPoint (.pptx), que luego alguien puede guardar en su disco.

¡Todas las ideas son bienvenidas!

+2

¿Por qué necesita hacerlo del lado del cliente? Es casi imposible y muy incómodo, mientras que hacerlo en el lado del servidor es muy fácil en casi cualquier idioma. – Viruzzo

+0

Estoy de acuerdo con Viruzzo, debería considerar implementarlo en el servidor. Si es aceptable, puede publicarlo como un servicio web y llamar a sus métodos desde el script java mediante el uso de llamadas AJAX. –

+0

Sí, estoy de acuerdo en que hacerlo en el lado del cliente sería mucho más fácil (y es lo que hice en un proyecto anterior). Pero en este caso, el cliente quiere algo que se ejecute de manera autónoma y con compatibilidad entre navegadores. – Appetere

Respuesta

0

Obviamente, operaciones como comprimir/descomprimir un documento o guardar un documento no se pueden hacer desde el lado del cliente y con javascript puro.

Sin embargo, si desea hacer tales cosas, creo que hay paquetes Linux que aceptan cadenas como entrada y le proporcionan un documento de Office listo para usar como salida.

Si no está cómodo con los paquetes de Linux, suponiendo que desea guardar esto como un Documento de Word 2007:

<?xml version="1.0" encoding="utf-8"?> 
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> 
    <w:body> 
     <w:p> 
      <w:pPr> 
      <w:pStyle w:val="MyHeading1" /> 
      </w:pPr> 
      <w:r> 
      <w:t>This is Heading</w:t> 
      </w:r> 
     </w:p> 
    </w:body> 
</w:document> 

Se puede construir esta cadena, del lado del cliente. luego, envíelo al servidor a través de AJAX y deje que su servidor lo solucione. específicamente, he usado these APIs varias veces. deja PHP manejarlo. guardar el resultado en alguna parte, o forzar el navegador del cliente para descargarlo (resultados Stream)

0

USO OPEN XML SDK. Puede ejecutarlo en un nodo y en 32 segundos crea 2000 documentos. O puede ejecutarlo en el navegador.

Cuestiones relacionadas