Foros del Web » Programación para mayores de 30 ;) » Java »

Ms-word java

Estas en el tema de Ms-word java en el foro de Java en Foros del Web. InputStream objInputStream = this.getClass().getResourceAsStream("/"+SITEConstantes.CTE_RUTA_DIR_CONFIGURACION+SITECo nstantes.CTE_URL_PLANTILLA_WORLD); POIFSFileSystem objPOIFSFileSystem = new POIFSFileSystem(objInputStream); HWPFDocument objHWPFDocument = new HWPFDocument(objPOIFSFileSystem); Range objRange = objHWPFDocument.getRange(); CharacterRun objCharacterRun = objRange.insertBefore("paso por aqui"); ...
  #1 (permalink)  
Antiguo 02/07/2012, 08:37
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Ms-word java

InputStream objInputStream = this.getClass().getResourceAsStream("/"+SITEConstantes.CTE_RUTA_DIR_CONFIGURACION+SITECo nstantes.CTE_URL_PLANTILLA_WORLD);
POIFSFileSystem objPOIFSFileSystem = new POIFSFileSystem(objInputStream);
HWPFDocument objHWPFDocument = new HWPFDocument(objPOIFSFileSystem);
Range objRange = objHWPFDocument.getRange();
CharacterRun objCharacterRun = objRange.insertBefore("paso por aqui");
objCharacterRun.setBold(true);
objCharacterRun = objRange.insertAfter("prueba estilo");
objCharacterRun.setBold(false);
objCharacterRun.setFontSize(18);
hmResultado.put(INFOConstantes.CTE_OBJ_HWPF_DOCUME NT, objHWPFDocument);
String sResultado = this.enviarWord(hmResultado,PobjHttpServletRespons e);

Este es mi codigo y me esta dando error al realizar la instruccion

POIFSFileSystem objPOIFSFileSystem = new POIFSFileSystem(objInputStream);

El fichero existe, y lo he probado de mil manera con el fichero vacio, con algo metido, con algun word que tengo por hay. Guardandolo con cualquier posibilidad que da, docx, doc, dot, dotm.

Me salta esta excepcion.

16:28:41,019 INFO [STDOUT] [204804 16:28:41 INFO.INFOInformesSrv.generarInformeAnalisisNormali zado] <INFO> Inicio de ejecucion del metodo [INFO.INFOInformesSrv.generarInformeAnalisisNormali zado]
16:28:47,486 INFO [STDOUT] org.apache.poi.poifs.filesystem.OfficeXmlFileExcep tion: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
16:28:47,502 INFO [STDOUT] at org.apache.poi.poifs.storage.HeaderBlock.<init>(He aderBlock.java:131)
16:28:47,502 INFO [STDOUT] at org.apache.poi.poifs.storage.HeaderBlock.<init>(He aderBlock.java:104)
16:28:47,502 INFO [STDOUT] at org.apache.poi.poifs.filesystem.POIFSFileSystem.<i nit>(POIFSFileSystem.java:138)
16:28:47,502 INFO [STDOUT] at INFO.INFOInformesSrv.generarInformeAnalisisNormali zado(INFOInformesSrv.java:334)
16:28:47,502 INFO [STDOUT] at INFO.INFOInformesSrv.realizaAccion(INFOInformesSrv .java:166)
16:28:47,502 INFO [STDOUT] at SITE.SITEGestionSrv.controlaAccion(SITEGestionSrv. java:211)
16:28:47,502 INFO [STDOUT] at SITE.SITEGestionSrv.service(SITEGestionSrv.java:10 4)
16:28:47,502 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
16:28:47,502 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
16:28:47,502 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
16:28:47,502 INFO [STDOUT] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:81)
16:28:47,502 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
16:28:47,502 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
16:28:47,502 INFO [STDOUT] at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
16:28:47,518 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
16:28:47,518 INFO [STDOUT] at org.jboss.web.tomcat.security.CustomPrincipalValve .invoke(CustomPrincipalValve.java:39)
16:28:47,518 INFO [STDOUT] at org.jboss.web.tomcat.security.SecurityAssociationV alve.invoke(SecurityAssociationValve.java:153)
16:28:47,518 INFO [STDOUT] at org.jboss.web.tomcat.security.JaccContextValve.inv oke(JaccContextValve.java:59)
16:28:47,518 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
16:28:47,518 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
16:28:47,518 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
16:28:47,518 INFO [STDOUT] at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
16:28:47,518 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:856)
16:28:47,518 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:744)
16:28:47,518 INFO [STDOUT] at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
16:28:47,518 INFO [STDOUT] at org.apache.tomcat.util.net.MasterSlaveWorkerThread .run(MasterSlaveWorkerThread.java:112)
16:28:47,518 INFO [STDOUT] at java.lang.Thread.run(Unknown Source)


Muchas gracias por las molestias.
  #2 (permalink)  
Antiguo 02/07/2012, 11:16
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 7 meses
Puntos: 69
Respuesta: Ms-word java

Revisa la salida allí te dice lo que sucede...

Cita:
org.apache.poi.poifs.filesystem.OfficeXmlFileExcep tion: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
En otras palabras, intentas usar los métodos para un word del Office 2007 cuando los métodos para un word del 2003 o 2010?? son otros métodos...

Alli te dice para usar los word que tienen XML se usa el package XSSF...

En apache deben tener una documentación de la librería y hasta ejemplos pueden tener tanto de escritura como de lectura...

En fin nomas para hacer promoción te dejo esta publicación donde se lee un word tanto nuevo como viejo, la escritura nunca la intente...

Lectura de un Word en Java

Saludos!
__________________
De nada, hay te encargo +1...
  #3 (permalink)  
Antiguo 03/07/2012, 00:55
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Ms-word java

Muchas gracias por la respuesta, pero sigo sin saber porque me da el error porque las librerias que me dice son para leer y/o modificar excel, o para crerlas de cero pero lo que yo quiero es modificar una plantilla o crear un archivo word.

La documentacion para word de apache poi es escasa, no se si me da un error por la libreria poi o por el microsoft word que no me crea el fichero.

Estoy buscando cualquier otra alternativa para word pero tampoco encuentro "nada", y no quiero hacer nada del otro mundo, poner un titulo en negrita, y debajo una nombre de campo con un estilo y luego su valor con otro estilo y asi sucesivamente. Y si se puede dividir los temas del informe el paginas, es decir, que cuando termine el primer tema del informe salte de pagina, esto tampoco es imprescindible, si lo veo muy complicado van todos seguidos.

un saludo.
  #4 (permalink)  
Antiguo 03/07/2012, 09:57
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 7 meses
Puntos: 69
Respuesta: Ms-word java

A menos que quieras implementar tus propios métodos, ya que un .docx es un .zip con extensión cambiada, dentro hay directorios y hay un .xml con el contenido de tu documento con etiquetas que identifican los estilos del texto... Si creas esa estructura, estarías creando un .doc, claro que no es la mejor opción...

Igual te dejo una pagina de ejmplos con el POI aun que no he podido ver uno de escritura no he buscado a fondo...
http://svn.apache.org/viewvc/poi/tru...ache/poi/hwpf/

y claro la documentacion de las clases:
http://poi.apache.org/apidocs/index.html

saludos!
__________________
De nada, hay te encargo +1...
  #5 (permalink)  
Antiguo 03/07/2012, 13:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Ms-word java

Gracias, esta mañana ya he conseguido abrir un fichero y tratarlo. El fallo estaba al guardar el fichero con el Microsoft word, aunque no se porque ayer los creaba mal y hoy los crea bien.

ahora intento tratar las imagenes, porque la plantilla que estoy usando tiene una imagen el cabecera del documento y pero despues de abrir el documento y volcarlo a la salida, la imagen aparece como sino la encontrara, es decir, con una equis roja.

Bueno sino consigo que aparezca la imagen la quitare de la cabecera

Un saludo.
  #6 (permalink)  
Antiguo 05/07/2012, 07:57
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Ms-word java

Al final se porque me fallaban las imagenes era porque, las imagenes no pueden estar en formato GIF, porque no las entiende, tienen que estar en PNG,BMP, JPG y alguno que otro mas.
  #7 (permalink)  
Antiguo 15/11/2013, 11:43
 
Fecha de Ingreso: noviembre-2013
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Respuesta: Ms-word java

Cita:
Iniciado por Erickvk Ver Mensaje
Al final se porque me fallaban las imagenes era porque, las imagenes no pueden estar en formato GIF, porque no las entiende, tienen que estar en PNG,BMP, JPG y alguno que otro mas.
Eric, necesito que si puedes me envíes a mi correo [email protected] algún ejemplo o código en el cual tratas las imagenes en un documento word, y si tienes algo de como reemplazar una imagen dentro de un documento word existente me sería de mucha ayuda, pues eso es lo que necesito.
Muchas Gracias
  #8 (permalink)  
Antiguo 21/11/2013, 03:29
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Ms-word java

Cita:
Iniciado por yordanNadroy Ver Mensaje
Erick, necesito que si puedes me envíes a mi correo [email protected] algún ejemplo o código en el cual tratas las imagenes en un documento word, y si tienes algo de como reemplazar una imagen dentro de un documento word existente me sería de mucha ayuda, pues eso es lo que necesito.
Muchas Gracias
Lo único que tengo es reemplazar etiquetas en un fichero ya existente pero las imagenes no las reemplazo, son las que ya existen por defecto en el fichero.

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:55.