Frage

Ich verstehe, dass iTextSharp zum Konvertieren eines Dokuments in PDF verwendet werden kann.

Aber zuerst müssen wir ein Dokument mit itextSharp.text.document von Grund auf erstellen und dann Elemente zu diesem Dokument hinzufügen.

Was ist, wenn ich eine vorhandene DOC -Datei habe, kann dieses Dokument mit iTextSharp in PDF konvertieren?

Außerdem möchte ich iTextSharp oder ein ähnliches Tool verwenden, das die folgenden DOC -Datei folgen kann:

  1. Manipulation von DOC/DOCX/Textdateien (wie Ersetzen einiger Platzhalter durch DB -Werte) sowie
  2. konvertiert sie in .pdf

Jeder, der eine Vorstellung davon hat, bitte teilen.

Vielen Dank!

War es hilfreich?

Lösung

Das ASSOSE.Words Komponente kann dies zuverlässig tun (ich bin nicht verbunden oder so).

ITEXTSHARP verfügt nicht über die erforderliche Funktion, um MS -Word -Dateiformate zu laden und zu verarbeiten.

Andere Tipps

ASSOSE.Words sind in der Tat eine gute Lösung, bietet aber keine perfekte Treue. Zum Zeitpunkt des Schreibens hat es Probleme mit nicht römischen Sprachen, komplexe Formatierungen wie schwimmenden Elementen und einer Reihe anderer Probleme.

Vielleicht möchten Sie sich das ansehen PDF Conversion Web Service Dies kann aus jeder Webdienste verwendet werden, einschließlich Java und .NET.

Beachten Sie, dass ich an diesem Projekt gearbeitet habe, sodass die üblichen Haftungsausschlüsse gelten.

Sie können die vorhandene Methode von Microsoft.Office verwenden

 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);
        }
    } 

Wenn Sie sich nicht darum kümmern, ob die Formatierung dem Wort treu sein wird, gibt es die beeindruckenden docx2tex die Word 2007 docx -Dateien in Latex -Dokumente umwandelt. Einmal in Latex, haben Sie viel Macht, das Dokument programmisch neu formatieren und PDF daraus zu generieren.

Ich sage mehr über den Dienstprogramm in einer Antwort bei tex.Stackexchange.  

Ich habe das gleiche Problem.
Nach mehreren Tagen des Versuchs, eine Lösung zu finden, scheint es, dass es scheint Docx4j , ein Java-basierter Tool oder PDF-Drucker wie PDF-Erstellungswerkzeug, könnte zu der freien Lösung sein.
Nur ein kommerzielles Tool kann die angeforderte Aufgabe effektiv erledigen.
Auf der Microsoft-Seite können Sie serverseitig aktiviert verwenden SharePoint Word -Automatisierungsdienste, (siehe 7. Juni 2016) oder Interop in Ihrem lokalen Computer.
Die vorgeschlagene Teilenteilsumwandlung (DOC oder DOC in einer Zwischensprache und dann zu PDF) scheint es, was Benutzer in Stackoverflow oder anderen Foren gesagt hatten, nicht möglich, da das Ergebnis nicht erwartet wurde.

Für die DOCX -Manipulation sollten Sie die native Open XML -Methode verwenden. Laden Sie Open XML SDK 2 von Microsoft herunter.

Und dann können Sie mit dieser bezahlten Bibliothek Docx -Dateien in PDF konvertieren: http://www.subsystems.com/dpw.htm . Es ist wirklich toll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top