Foros del Web » Programando para Internet » PHP »

Manipulación de documentos word con COM

Estas en el tema de Manipulación de documentos word con COM en el foro de PHP en Foros del Web. Hola, mi objetivo es el siguiente. A partir de un word de N páginas, necesito obtener N documentos word, donde el nombre de cada uno ...
  #1 (permalink)  
Antiguo 29/03/2010, 11:03
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 16 años, 1 mes
Puntos: 1
Manipulación de documentos word con COM

Hola,

mi objetivo es el siguiente. A partir de un word de N páginas, necesito obtener N documentos word, donde el nombre de cada uno venga determinado por una parte del contenido de la página correspendiente (me valdría que fuera la primera palabra de cada página).

Cualquier vía para conseguir este objetivo me valdría, os comento las que he probado hasta ahora (sin éxito, claro está).

Mediante un programa externo es relativamente fácil hacer un split del documento en cuestión, indicando el número de páginas que quieres para cada doc. En este caso el problema es como indicarle que el nombre de cada uno lo obtenga del propio contenido de la página. Los que he probado me permiten crear ciertas reglas para el nombre del doc, pero no he encontrado ninguno que pueda obtenerlo del texto. Si alguien conoce alguno, sería muy de agradecer su aportación.

No he llegado a indagar en extensiones de openoffice y hacerlo mediante éste, alguien conoce algo al respecto?

La siguiente opción que he estado estudiando es vía php mediante COM. He encontrado algunos post sobre como leer word's mediante PHP. Este enlace muestra uno de ellos:

http://www.developertutorials.com/blog/php/extracting-text-from-word-documents-via-php-and-com-81/

Mediante la lectura del doc, puedo obtener el nombre pero en este punto ¿como manipulo el word para que genere otro documento por cada página?Ando revisando documentación sobre la api de COM, pero no doy con la solución. Si alguien tiene experiencia con COM se agradecería que me dijera al menos si puede o no puede hacerse, ya que si no es como buscar una aguja en un pajar....cuando ni siquiera sabes si la aguja está o no....

El caso, es que esta es una pequeña piedra en el camino, para un proyecto de gestión de documentos, pero al final se está convirtiendo en un punto crítico del desarrollo. Así que, como digo, si a alguien se le ocurre cualquier otra vía de conseguir lo que necesito seguro que también me vale.

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 29/03/2010, 12:09
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Manipulación de documentos word con COM

Hum... voy a preguntarte para qué quieres leer documentos word y separarlos según páginas.

Sólo para ver si puede haber una solución alternativa.
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it
  #3 (permalink)  
Antiguo 29/03/2010, 12:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Manipulación de documentos word con COM

Hola AnesGy,

mayormente es un requerimiento del proyecto. El cliente trabaja con .doc's donde guarda informes de varios de sus propios clientes que ahora mismo está tratando de manera manual. El proyecto consiste en automatizar el proceso de enviar los informes a cada uno de sus clientes por lo que lo primero que necesitamos es hacer un split y obtener una referencia automática en el nombre del documento.

He encontrado una macro en VB que hace el split y tengo localizada la línea en la que le asigna el nombre. Con una mínima manipulación de esa línea tendría exactamente lo que necesito. Lástima que no tenga ni idea de Visual Basic...

Voy a ver si puedo pasar el script al foro de VB porque creo que, conociendo el lenguaje, debe ser algo muy fácil.

un saludo y gracias por tu interés
  #4 (permalink)  
Antiguo 29/03/2010, 12:28
Avatar de AnesGy  
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Manipulación de documentos word con COM

Basic es mas simple que C, y por ende que PHP. Si sabes PHP aprender Basic no te llevaría mucho tiempo.

De todas maneras puedes probar a entender el código interno que usa Word para sus archivos (no te lo recomiendo) o probar a guardarlos en RTF que es un estándar (personalmente escribir RTF a palo seco me parece mortal, pero quizás descubras que no es tan complicado).

Por mi parte no te puedo ayudar con COM por que no lo conozco. Sé Visual Basic, pero hace al menos 3 años que no lo toco y de todas maneras creo que tu duda es mas de conocer el elemento específico.
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it

Etiquetas: documentos, word
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 07:49.