Résumé des méthodes pour convertir Word en PDF en C#

黄舟
Libérer: 2017-05-28 10:02:45
original
2968 Les gens l'ont consulté

Cet article résume principalement la méthode C# de conversion de Word en PDF, deux solutions basées sur Office et WPS, qui ont une certaine valeur de référence. Amis lecteurs intéressés, veuillez vous référer à.

Parfois, nous devons prévisualiser des documents Word en ligne. Bien sûr, nous pouvons utiliser NPOI pour extraire du texte et des tableaux dans Word, puis les afficher sur la page Web, mais ce sera le cas. le formatage original et les images dans Word sont perdus. Une meilleure méthode consiste à convertir Word en PDF, puis à laisser les clients le prévisualiser. Examinons deux solutions basées sur Office et WPS.

1. Solutions basées sur Office

Comme le titre l'indique, être basé sur Office nécessite que le serveur soit installé avec Office . Nous appelons l'interface COM via le code C# pour convertir Word en PDF. Jetons un coup d'œil à l'implémentation spécifique. Tout d'abord, fait référence à Microsoft.Office.Interop.Word.dll, puis écrit le code suivant :

public bool WordToPDF(string sourcePath, string targetPath)
    {
      bool result = false;
      Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
      Document document = null;
      try
      {
       application.Visible = false;
       document = application.Documents.Open(sourcePath);
       document.ExportAsFixedFormat(targetPath, WdExportFormat.wdExportFormatPDF);
       result = true;
      }
      catch (Exception e)
      {
       Console.WriteLine(e.Message);
       result = false;
      }
      finally
      {
       document.Close();
      }
      return result;
    }
Copier après la connexion
<🎜. >

2 , Solutions basées sur WPS

Le plus grand avantage du WPS est bien sûr qu'il est gratuit et de petite taille. Pour convertir Word en PDF, bien sûr, cela nécessite que WPS soit installé sur le serveur. Nous appelons toujours l'interface COM, puis écrivons le code suivant :

public bool WordToPdfWithWPS(string sourcePath, string targetPath)
    {
      WPS.ApplicationClass app = new WPS.ApplicationClass();
      WPS.Document doc = null;
      try
      {
       doc = app.Documents.Open(sourcePath, true, true, false, null, null, false, "", null, 100, 0, true, true, 0, true);
       doc.ExportPdf(targetPath, "", "");
      }
      catch (Exception ex)
      {
       Console.WriteLine(ex.Message);
       return false;
      }
      finally
      {
       doc.Close();
      }
      return true;
    }
Copier après la connexion

3. Niveau entreprise. solution Solution

Pour les grandes entreprises, il y a souvent plusieurs serveurs, et il est impossible d'installer Office ou WPS sur chaque serveur, ou l'entreprise ne veut tout simplement pas installer ces choses inutiles sur le logiciel du serveur. Que devons-nous faire à ce moment-là ? Après tout, installer ces logiciels sur le serveur est un gaspillage de ressources.

Bien sûr, la fonction doit encore être implémentée, alors comment la résoudre ? En fait, nous pouvons installer un logiciel Office ou WPS sur un serveur, puis déployer un service Web tel que le service WCF ou le remoting. D'autres serveurs peuvent appeler ce service pour convertir Word en PDF.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!