PHP y Word

Hola a todos.

Estoy haciendo una Base de datos de personal, y tengo un problema, a ver si me podéis ayudar. El tema es el siguiente, tengo que imprimir unos partes de firmas, mediante unas tablas dinámicas, es decir, sacar los nombres de los usuarios de una BBDD, crear una página php que los muestre y luego imprimirlos.

El problema es que al poner una paginación, el usuario tiene que ir imprimiendo página por página. Y aunque no son muchas no queda fino. He pensado que como tengo esos partes en word, lo suyo sería desde php abrir el documento (esto sé hacerlo), y sustituir un texto por los nombres de la BBDD, por ejemplo nombre1, nombre2, nombre3... etc por los nombres de la BBDD.

Pero no sé como buscar cadenas de texto en el word y sustituirlas.

¿Creéis que es mejor no complicarme? y ¿buscar la forma de imprimir las hojas desde php? ¿Podría con php hacerse que desde la primera hoja de la paginación imprimiera todas?

Bueno un saludo y gracias de antemano.
Quizá no esté al día, pero yo diría que con PHP no vas a poder manipular tan a la ligera un fichero de word, ten en cuenta que no es texto plano...
¿Pq no pones un botón en la página web para mostrar el listado completo, y ya desde ahí lo imprimes?
Si he entendido lo que he entendido, me parece un poco chapucilla. Abrir un documento Word, sacar su contenido, mostrarlo por pantalla, y luego imprimir el word..., jur, como te complicas la vida ;)

Si tienes los datos en una BDD, sólo tendrías que mostrarlo por pantalla, con una buena hoja de estilos, y al menos Mozillla te lo sacaría exáctamente igual que en pantalla por impresora, con la paginación que quieras. De IE no hablo, porque más jugarretas que me ha hecho con CINeol...

Aparte lo que dice jiXo, DOC es un archivo binario, y apenas se conoce su formato.

Saludos
Escrito originalmente por jiXo
Quizá no esté al día, pero yo diría que con PHP no vas a poder manipular tan a la ligera un fichero de word, ten en cuenta que no es texto plano...
¿Pq no pones un botón en la página web para mostrar el listado completo, y ya desde ahí lo imprimes?

Sips, como dice jiXo crea un link "version para imprimir" y muestras en texto plano la tabla.
A ver la cosa es como sigue, quizás no me he expresado bien. No se trata de abrir un word coger el contenido y mostrarlo, si no recorrerlo y sustituir determinados marcadores por datos de variables de la BBDD y luego imprimirlos, pero como dice jiXo, a pesar de que php en windows en su versión 4 ya incorpora COM para tratar word, no debe ser sencillo y no encuentro mucha documentación.

¿por qué no saco una versión imprimible?, pues porque tengo una cabecera, con lo cual tengo una paginación y sólo puedo mostrar 8 regs por página. Como digo son partes de firmas que llevan una cabecera con los datos de la empresa y luego una lista dinámica de nombres de usuario. ¿Se podría repetir la cabecera cada x registros e insertar saltos de página?

Gracias a los tres.
Escrito originalmente por Delbruck
¿Se podría repetir la cabecera cada x registros e insertar saltos de página?


Claro, tu puedes formar la página como te dé la real gana. Calcula lo que cabe en una hoja (8 registros + x saltos de línea) y escribes la cabecera tantas veces como hojas sean necesarias...
Escrito originalmente por jiXo
Claro, tu puedes formar la página como te dé la real gana. Calcula lo que cabe en una hoja (8 registros + x saltos de línea) y escribes la cabecera tantas veces como hojas sean necesarias...


Ok gracias jiXo lo haré así, de esta forma mato dos pájaros de un tiro; dejo todo dentro de la misma hoja y lo imprimo de una vez.

Gracias a todos.
6 respuestas