Pregunta

Entiendo que ItextSharp se puede usar para convertir un documento en PDF.

Pero primero tenemos que crear un documento desde cero usando itextsharp.text.document y luego agregar elementos a este documento.

¿Qué pasa si tengo un archivo DOC existente? ¿Es posible convertir este documento en PDF usando ItextSharp?

Además, quiero usar ItextSharp o cualquier herramienta similar que pueda realizar el seguimiento en un archivo DOC:

  1. Manipulación de archivos DOC/DOCX/Text (como reemplazar algunos marcadores de posición con valores de DB), así como
  2. los convierte a .pdf

Cualquiera que tenga idea sobre esto, por favor comparta.

¡Gracias!

¿Fue útil?

Solución

los Aspose.words El componente puede hacer esto de manera confiable (no estoy afiliado ni nada).

ItextSharp no tiene la función requerida establecida para cargar y procesar los formatos de archivo de MS Word.

Otros consejos

Aspose.words es de hecho una buena solución, pero no ofrece fidelidad perfecta. En el momento de la escritura, tiene problemas con los idiomas no romanos, el formato complejo, como elementos flotantes y una serie de otros problemas.

Es posible que desee echar un vistazo a esto Servicio web de conversión PDF Eso se puede utilizar desde cualquier entorno de servicios web capaces, incluidos Java y .NET.

Tenga en cuenta que trabajé en este proyecto para que se apliquen las renuncias habituales.

Puede usar el método existente de Microsoft. Office

 private Microsoft.Office.Interop.Word.ApplicationClass MSdoc;

    //Use for the parameter whose type are not known or say Missing
    object Unknown = Type.Missing;

  private void word2PDF(object Source, object Target)
    {   //Creating the instance of Word Application
      if (MSdoc == null)MSdoc = new Microsoft.Office.Interop.Word.ApplicationClass();

        try
        {
            MSdoc.Visible = false;
            MSdoc.Documents.Open(ref Source, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
             MSdoc.Application.Visible = false;
              MSdoc.WindowState =   Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMinimize;

            object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;

            MSdoc.ActiveDocument.SaveAs(ref Target, ref format,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown);
          }
           catch (Exception e)
          {
            MessageBox.Show(e.Message);
           }
         finally
          {
            if (MSdoc != null)
            {
                MSdoc.Documents.Close(ref Unknown, ref Unknown, ref Unknown);
                //WordDoc.Application.Quit(ref Unknown, ref Unknown, ref Unknown);
            }
            // for closing the application
            WordDoc.Quit(ref Unknown, ref Unknown, ref Unknown);
        }
    } 

Si no le importa si el formato será fiel a qué palabra mostraría, existe el impresionante docx2tex que convierte los archivos DOCX de Word 2007 en documentos de látex. Una vez en el látex, tiene mucho poder para reformatear el documento y generar PDF a partir de él.

Digo más sobre la utilidad en una respuesta en Tex.stacexchange.  

Tengo el mismo problema.
Después de varios días de tratar de encontrar una solución, parece Docx4j , una herramienta basada en Java o impresoras PDF como Creador de PDF, podría estar entre la solución libre.
Por supuesto, solo una herramienta comercial puede hacer efectivamente la tarea solicitada.
En el lado de Microsoft, puede usar habilitado el lado del servidor Servicios de automatización de palabras de SharePoint, (Verifique el 7 de junio de 2016), o intero en su computadora local.
La conversión sugerida de parte a partida (DOC o DOC a algún lenguaje intermedio y luego a PDF) parece que lo que los usuarios habían dicho en los foros de Stackoverflow u otros, no es posible, porque el resultado no es lo que esperaba.

Para la manipulación DocX, debe usar el método Native Open XML. Descargue Open XML SDK 2 de Microsoft.

Y luego puede convertir archivos Docx a PDF con esta biblioteca pagada: http://www.subsystems.com/dpw.htm . Es realmente genial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top