Conversion par programmation de fichiers Word (.doc) en PDF en C# ou VB.NET : solutions abordables
De nombreux outils gratuits ou open source convertissent le .doc en .pdf, mais ils fonctionnent souvent comme des pilotes d'imprimante dépourvus de SDK pour une utilisation programmatique. À l’inverse, les SDK dotés de cette fonctionnalité entraînent souvent des coûts de licence importants. Cet article explore des solutions programmatiques rentables en C# ou VB.NET.
Méthode 1 : tirer parti de la fonctionnalité « Enregistrer sous » de Microsoft Word
Cette approche utilise la fonctionnalité intégrée de Microsoft Word, en supposant que le complément « Enregistrer au format PDF » soit installé. C'est généralement plus fiable et efficace que les méthodes alternatives.
Voici le code C# :
<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>
N'oubliez pas d'ajouter une référence à Microsoft.Office.Interop.Word
dans votre projet. Cette méthode nécessite que Microsoft Word soit installé sur le système sur lequel le code s'exécute.
Considérations importantes :
try-catch
blocs pour gérer les exceptions potentielles (par exemple, fichier introuvable, erreurs d'application Word).Cette approche améliorée offre une solution pratique et relativement peu coûteuse pour la conversion programmatique de .doc en .pdf à l'aide d'outils facilement disponibles. Pensez à adapter le code à vos besoins spécifiques et à votre environnement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!