Domanda

Capisco iTextSharp può essere utilizzato per la conversione di un documento in formato PDF.

Ma prima dobbiamo creare un documento da zero utilizzando iTextSharp.text.Document e poi l'aggiunta di elementi a questo documento.

Che cosa succede se ho un file doc esistente, è possibile convertire questo documento in PDF usando iTextSharp.

Inoltre, voglio usare iTextSharp o qualsiasi altro strumento simile che può effettuare in seguito su un file doc:

  1. manipolazione dei file doc / docx / di testo (come la sostituzione di alcuni segnaposto con i valori DB), così come
  2. converte loro di .pdf

Chiunque abbia idea su questo, si prega di condividere.

Grazie!

È stato utile?

Soluzione

Il Aspose.Words componente può fare questo in modo affidabile (io non sono affiliati o niente).

iTextSharp non ha la funzione richiesta set per caricare e il processo di MS Word formati di file.

Altri suggerimenti

Aspose.Words è davvero una buona soluzione, ma non offre perfetta fedeltà. Al momento della scrittura ha problemi con le lingue romani non, formattazione complesse, quali elementi galleggianti e una serie di altri problemi.

Si consiglia di dare un'occhiata a questo Conversione PDF Web Service che può essere utilizzato da qualsiasi ambiente in grado di servizi Web tra cui Java e .NET.

Si noti che ho lavorato su questo progetto in modo da applicare le solite esclusioni di responsabilità.

È possibile utilizzare il metodo esistente di 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);
        }
    } 

Se non si preoccupano se la formattazione sarà fedele a una parola: come visualizzare, c'è la docx2tex che converte i file docx di Word 2007 per documenti LaTeX. Una volta in lattice, si dispone di un sacco di potenza di riformattare programmitically il documento e generare PDF da esso.

Io dico di più l'utilità di una risposta all'indirizzo tex.stackexchange .

io ho lo stesso problema.
Dopo alcuni giorni di cercare di trovare una soluzione, a quanto pare Docx4J , uno strumento basato su Java, o stampanti PDF come PDFCreator , potrebbero essere tra la soluzione libera.
Di sicuro solo uno strumento, commerciale efficace può fare il compito richiesto.
Dal punto di vista di Microsoft, è possibile utilizzare sul lato server attivare il Sharepoint Word Automation Services , (controllare il 7 giugno 2016), o di interoperabilità nel computer locale.
Il suggerito parte da parte di conversione (DOC o DOC a qualche linguaggio intermedio e poi in PDF), sembra, che cosa gli utenti avevano detto su StackOverflow o altri forum, non è possibile, in quanto risultato non è quello atteso.

Per la manipolazione docx, si dovrebbe utilizzare il metodo Open XML nativo. Scarica SDK aperto XML 2 da Microsoft.

E poi è possibile convertire i file docx in pdf con questa libreria pagato: http: //www.subsystems .com / dpw.htm . E 'davvero grandioso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top