Heim >Backend-Entwicklung >C++ >Wie kann man Word-Dateien (.doc) mit kostengünstigen Methoden programmgesteuert in PDF-Dateien in C# oder VB.NET konvertieren?

Wie kann man Word-Dateien (.doc) mit kostengünstigen Methoden programmgesteuert in PDF-Dateien in C# oder VB.NET konvertieren?

Linda Hamilton
Linda HamiltonOriginal
2025-01-26 13:36:39195Durchsuche

Programmgesteuertes Konvertieren von Word-Dateien (.doc) in PDF in C# oder VB.NET: Erschwingliche Lösungen

How to Programmatically Convert Word (.doc) Files to PDF Files in C# or VB.NET Using Affordable Methods?

Viele kostenlose oder Open-Source-Tools konvertieren .doc in .pdf, fungieren jedoch häufig als Druckertreiber, denen SDKs für die programmgesteuerte Verwendung fehlen. Umgekehrt sind SDKs mit dieser Funktionalität häufig mit erheblichen Lizenzkosten verbunden. In diesem Artikel werden kostengünstige, programmatische Lösungen in C# oder VB.NET untersucht.

Methode 1: Nutzung der „Speichern unter“-Funktion von Microsoft Word

Dieser Ansatz nutzt die integrierte Funktionalität von Microsoft Word, vorausgesetzt, das Add-In „Als PDF speichern“ ist installiert. Es ist im Allgemeinen zuverlässiger und effizienter als alternative Methoden.

Hier ist der C#-Code:

<code class="language-csharp">using Microsoft.Office.Interop.Word;
using System;
using System.IO;

// ... other using statements ...

// ... other code ...

// Create a Word application object
Application word = new Application();
object oMissing = System.Reflection.Missing.Value; // Placeholder for optional arguments

// Specify the directory containing .doc files
string docDirectory = @"\server\folder";

// Get a list of .doc files
string[] wordFiles = Directory.GetFiles(docDirectory, "*.doc");

word.Visible = false; // Keep Word hidden
word.ScreenUpdating = false; // Prevent screen flickering

foreach (string wordFile in wordFiles)
{
    Document doc = word.Documents.Open(wordFile, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    doc.Activate();

    string pdfFile = wordFile.Replace(".doc", ".pdf");
    object fileFormat = WdSaveFormat.wdFormatPDF;

    doc.SaveAs(pdfFile, ref fileFormat, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

    object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
    ((_Document)doc).Close(ref saveChanges, ref oMissing, ref oMissing);
    doc = null;
}

((_Application)word).Quit(ref oMissing, ref oMissing, ref oMissing);
word = null;</code>

Denken Sie daran, in Ihrem Projekt einen Verweis auf Microsoft.Office.Interop.Word hinzuzufügen. Für diese Methode muss Microsoft Word auf dem System installiert sein, auf dem der Code ausgeführt wird.

Wichtige Überlegungen:

  • Fehlerbehandlung: Dem Code fehlt eine robuste Fehlerbehandlung. Produktionsbereiter Code sollte try-catch Blöcke enthalten, um potenzielle Ausnahmen zu behandeln (z. B. Datei nicht gefunden, Word-Anwendungsfehler).
  • Lizenzierung: Während diese Methode externe SDK-Lizenzgebühren vermeidet, setzt sie eine lizenzierte Kopie von Microsoft Word voraus.
  • Leistung: Erwägen Sie bei einer großen Anzahl von Dateien eine Optimierung des Codes für eine bessere Leistung (z. B. asynchrone Verarbeitung).

Dieser verbesserte Ansatz bietet eine praktische und relativ kostengünstige Lösung für die programmatische Konvertierung von .doc in .pdf mit leicht verfügbaren Tools. Denken Sie daran, den Code an Ihre spezifischen Bedürfnisse und Umgebung anzupassen.

Das obige ist der detaillierte Inhalt vonWie kann man Word-Dateien (.doc) mit kostengünstigen Methoden programmgesteuert in PDF-Dateien in C# oder VB.NET konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn