2008-09-17 23 views
8

Necesito tomar un documento de Word que es una especie de plantilla ... recopilar datos del usuario para rellenar campos específicos en esa plantilla ... luego generar un archivo PDF que incluye el archivo completo plantilla, así como algunos otros tipos de documentos. ¿Alguien tiene una buena sugerencia sobre un componente para lograr esto? Preferiblemente uno que no requiere que Microsoft Office esté instalado en el servidor web.Generando un documento PDF basado en una Plantilla de Microsoft Word

Respuesta

0

¿Hay alguna razón para usar Word? Si comienza con un PDF con campos de formulario, puede permitir que el usuario complete los campos, o hacerlo programáticamente con la matriz de PDF de iTextSharp.

Si necesita utilizar los componentes de MSOffice 2000/2003 mediante programación, puede probar Office Web Components. Deben instalarse en el servidor, pero las aplicaciones .NET y Com los pueden usar para interactuar con tipos de archivos de oficina. Más información aquí ... http://en.wikipedia.org/wiki/Office_Web_Components

Si busca en un CD de Office, debe encontrar el instalador OWC para su versión. No he trabajado con 2007, pero supongo que hay algo similar disponible.

iTextSharp y OWC son gratuitos, consulte la licencia para obtener más información.

+0

La única razón por la que usaremos Word es por la facilidad de uso de los usuarios. Estas plantillas cambian regularmente, por lo que deben poder cambiarlas y la mayoría de los usuarios solo tienen instalado el software PDF Reader. Gracias, sin embargo, por tu consejo. :-) – Tyler

0

Hmmm ... Es posible que pueda emplear la impresora CutePDF de una manera creativa para resolver este problema. Básicamente, se necesita cualquier cosa que se pueda alimentar a través de un controlador de impresión estándar y haga un PDF. Es gratis.

+0

Estoy familiarizado con CutePDF ya que lo uso personalmente para imprimir muchas cosas en PDF. Nunca pensé usarlo en un entorno de servidor. Definitivamente pensaré en eso. – Tyler

6

Probar Aspose Words for .net. Desde su sitio web: "Aspose.Words permite que las aplicaciones .NET y Java lean, modifiquen y escriban documentos de Word® sin utilizar Microsoft Word". Utilizando Aspose Words con Aspose PDF le permite enviar a PDF.

Una cosa que NO quieres hacer es instalar MS Word en tu servidor de producción. Cargar esos objetos es una memoria LENTA y COME. No podrá usar el CutePDF Writer a menos que también instale MS Word en el servidor. Yeck.

0

Pruebe utilizar la API de POI de Apache para rellenar los campos. Puede entrar en documentos de Word y acceder a sus elementos.

En cuanto al paso Word -> PDF, también recomendaría evaluar la solución Aspose. Incluso puede ser capaz de realizar ambos pasos. No es gratis, sin embargo.

0

Mi primer pensamiento para una "plantilla de documento" + fusión a la solución de PDF sería comenzar con formatos de oficina abierta. - el archivo odt (plantilla de documento abierto) está basado en xml, por lo que incluso podría usar perl, para hacer la fusión, y luego llamar al pdf del doc 2 del escritor (no tengo idea de si tienen una API, pero se podría descubrir en menos de un día - incluso si se tuvo que examinar la fuente.)

y la conversión de su punto de "palabra" a un archivo de escritura odt es solo una operación de "guardar archivo como" en OoWriter.

0

Si usa Aspose.Words, su documento/plantilla de entrada puede estar en uno de los varios formatos admitidos, incluyendo DOC, DOCX.

Luego puede insertar datos en el documento de varias maneras. Puede usar marcadores en un documento y simplemente establecer su texto. O mejor aún, use el motor de informes que proporcionamos. Permite utilizar campos estándar MERGEFIELD de MS Word y agrega capacidades para repetir regiones e incluso anidar. P.ej. puede diseñar una plantilla de factura (con datos padre/hijo) en MS Word y luego completarla desde un .NET DataSet en una línea de código.

Además, solo necesita Aspose.Words para producir PDF (hace un año necesitabas Aspose.Palabras y Aspose.Pdf). También puede guardar fácilmente exactamente el mismo documento en DOC, DOC, DOCX y algunos otros formatos.

Estoy en el equipo de desarrollo de Aspose.Words.

0

Eche un vistazo a Muhimbi PDF Converter Web Services. Se ejecuta en Windows como un servicio, pero se puede acceder desde cualquier entorno que no sea compatible con servicios web de Windows, incluidos Java y .NET.

Aunque esta solución requiere que MS-Office esté instalado en un servidor (no necesariamente el mismo servidor que su aplicación), es muy robusto y proporciona una fidelidad de conversión perfecta.

Para generar o modificar archivos MS-Word, recomiendo usar el Open XML SDK for Microsoft Office gratis. Eric White mantiene un really good Blog al respecto.

Descargo de responsabilidad, trabajé en este producto. Habiendo dicho eso, funciona genial.

Cuestiones relacionadas