2012-08-20 28 views
8

Estoy usando openxml para crear archivos Word DOCX. Me gustaría guardar estos documentos una vez que se hayan creado como archivos PDF. ¿Hay alguna manera de que pueda hacer esto en openxml? Supongo que la respuesta es no. Si no es así, ¿hay una biblioteca o herramienta recomendada que pueda usar para guardar/imprimir archivos DOCX como PDF (programáticamente en .NET)? Miré sharpPDF (PDFSharp), y parece que esta biblioteca solo sirve para generar PDF desde cero, sin guardar DOCX como PDF.Guardar archivos Word DOCX como PDF

¿Puedo de alguna manera imprimir en una impresora PDF instalada, ya sea Cute PDF o la impresora PDF incorporada a Windows 7 de manera totalmente automática?

Actualización: Buscando gratis con licencia no viral, y preferiblemente no requiere instalaciones adicionales.

Respuesta

9

Puede hacer esto con la automatización de Word. Necesitas tener palabra instalada.

var TheDocument = TheWordApp.Documents.Open(docName); 

TheDocument.ExportAsFixedFormat(
      docName.Replace(".docx", ".pdf"), 
      Word.WdExportFormat.wdExportFormatPDF, 
      OptimizeFor: Word.WdExportOptimizeFor.wdExportOptimizeForOnScreen, 
      BitmapMissingFonts: true, DocStructureTags: false); 

((Word._Document)TheDocument).Close(); 
+1

Microsoft Interop? Sí, esto de hecho funciona. Esperaba hacerlo sin tener que tener Word instalado. Este podría ser mi camino a seguir si no hay una manera libre de hacerlo sin otras dependencias. –

+0

@cellik: ¿funciona con la aplicación configurada en IIS? – Saravanan

2

Para obtener de DocX -> PDF necesita algo que pueda representar un archivo DocX y proporcione una capacidad de exportación/guardado de PDF. Huelga decir que no hay muchas herramientas que puedan hacer que DocX (Word, OpenOffice/LibreOffice y algunos otros productos con licencia se mencionen a continuación). Dependiendo de las limitaciones/requisitos de tiempo de ejecución, puede intentar:

  1. utilizar MS Automation para que Word cargue el docx y lo guarde como PDF.
  2. herramientas que se encuentran en la parte superior de OpenOffice (JODConverter/Docmosis) para realizar la conversión.
  3. try incorporación de otras bibliotecas de documentos (Aspose, Barlovento)

no estoy seguro sobre el requisito de impresión automática siento.

+0

Puede usar la salida PDF de docx4j en un entorno .NET a través de IKVM, pero le sugiero probar primero en un entorno Java para ver si se ajusta a sus necesidades – JasonPlutext

+0

Para el n. ° 1, ¿se refiere al MS? ¿Biblioteca Ofofice Interop? –

+0

@StealthRabbi - sí, lo siento por la mala terminología. –

0

He utilizado this VBScript y funciona bien. Funciona en segundo plano (abre el docx y se guarda como PDF usando la opción "Guardar/Exportar como PDF"). Verifique los requisitos del sistema enumerados en la página.

0

Producimos WordGlue .NET que es un motor de diseño de WP genérico que puede manejar doc/docx.

Está completamente administrado y se puede usar para exportar a una variedad de formatos como imagen, XPS o (con la ayuda de una biblioteca PDF como ABCpdf) PDF.

Trabajo en el componente de software ABCpdf .NET, por lo que mis respuestas pueden incluir conceptos basados ​​en ABCpdf. Es solo lo que sé. :-)

Cuestiones relacionadas