Fusiona múltiples archivos doc o rtf en un solo archivo doc o rtf mediante el script php

Me gustaría fusionar varios archivos doc o rtf en un único archivo que debe tener el mismo formato de varios archivos. Lo que quiero decir es que si un usuario selecciona múltiples archivos de plantilla rtf de un cuadro de lista y hace clic en un botón en la página web, el resultado debe ser un único archivo rtf que combine múltiples archivos de plantilla rtf, debería usar php para esto.

No he decidido el formato de los archivos de plantilla, pero debe ser rtf o doc, y también supongo que ese archivo de plantilla también tiene algunas imágenes.

He pasado muchas horas investigando la biblioteca para esto, pero todavía no puedo encontrarlo.

Por favor ayúdenme aquí !! 🙁

Gracias por adelantado.

Si está buscando una solución para manejar documentos RTF solamente, puede encontrar un paquete PHP para fusionar varios documentos RTF aquí:

http://www.rtftools.com

Aquí hay un breve ejemplo de cómo combinar varios documentos:

include ( 'path/to/RtfMerger.phpclass' ) ; $merger = new RtfMerger ( 'sample1.rtf', 'sample2.rtf' ) ; // You can specify docs to be merged to the class constructor... $merger -> Add ( 'sample3.rtf' ) ; // or by using the Add() method $merger [] = 'sample4.rtf' ; // or by using the array access methods $merger -> SaveTo ( 'output.rtf' ) ; // Will save files 'sample1' to 'sample4' into 'output.rtf' 

Este paquete le permite manejar documentos que son más grandes que la memoria disponible.

He estado trabajando en un proyecto similar y no he encontrado ninguna biblioteca de PHP (o cualquier otro lenguaje de código abierto) para manipular archivos de MSWord. La forma en que me acerco es algo complicada, pero funciona. Así es como lo haría (suponiendo que tenga un servidor Linux):

Preparar:

  1. Instalar JODConverter y OpenOffice
  2. Inicie la oficina abierta como servidor (consulte http://www.artofsolving.com/node/10 )

Enfoque (es decir, qué hacer en su código PHP):

  1. Convierta sus archivos MSWord o RTF en formato ODT llamando a JODConverter mediante backticks o exec()
  2. Descomprima cada archivo en un directorio temporal propio
  3. Lea el archivo contents.xml de cada documento descomprimido utilizando un analizador DOM
  4. Extraiga los contenidos de de cada uno y concatenar
  5. Vuelva a colocar este xml concatenado en el lugar correcto en uno de los archivos content.xml
  6. Vuelve a comprimir el contenido de ese directorio temporal y dale una extensión .odt
  7. Utilice JODConverter para convertir este archivo nuevamente a MSWord

Como dije, no es bonito, pero cumple su función.

Si está buscando ir por la ruta RTF, esta pregunta también puede ayudar: Concatenar archivos RTF en PHP (REGEX)