word转tif格式的类文件

来源:互联网 发布:微软的云计算系统 编辑:程序博客网 时间:2024/05/17 22:50

 网上收集,调用了相关的COM组件,学习了~~~

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Microsoft.Office.Interop.Word;
  5. using System.IO;
  6. namespace WordToTif
  7. {
  8.     class PrintDocToTif
  9.     {
  10.         string tifPath = null;
  11.         //设置生成的tif文件路径
  12.         //路径名的命名规则为无后缀名,否则调用 varDoc.PrintOut方法时会打开打印预览窗体
  13.         public PrintDocToTif(string buildTifPath)
  14.         {
  15.             this.tifPath = buildTifPath;
  16.         }
  17.         /// <summary>
  18.         /// 生成无后缀名的tif文件
  19.         /// </summary>
  20.         /// <param name="sourceFile">源WORD文件</param>
  21.         /// <param name="destiFile"></param>
  22.         public void PrintTo(object sourceFile)
  23.         {
  24.             try
  25.             {
  26.                 //生成的tif路径
  27.                 object OutputFileName = (object)tifPath;
  28.                 object varMissing = Type.Missing;
  29.                 //定义Word实例对象
  30.                 Microsoft.Office.Interop.Word.Application varWord = new Microsoft.Office.Interop.Word.Application();
  31.                 //设置Word的虚拟打印机
  32.                 varWord.ActivePrinter = "Microsoft Office Document Image Writer";
  33.                 //定义Word文档实例对象
  34.                 Microsoft.Office.Interop.Word.Document varDoc = varWord.Documents.Open
  35.                                                                (ref sourceFile, ref varMissing, ref varMissing, ref varMissing, ref varMissing,
  36.                                                                 ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing,
  37.                                                                 ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing);
  38.                 varDoc.Activate();     //激活文档
  39.                 object PrintToFile = true;
  40.                 //打印成tif文件
  41.                 varDoc.PrintOut(ref varMissing, ref varMissing, ref varMissing, ref OutputFileName, ref varMissing,
  42.                                 ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref PrintToFile,
  43.                                 ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing);
  44.                 object saveChange = WdSaveOptions.wdSaveChanges;          //关闭word文档时不打开新窗体
  45.                 varDoc.Close(ref saveChange, ref varMissing, ref varMissing);   //关闭word文档
  46.                 varWord.Quit(ref varMissing, ref varMissing, ref varMissing);   //退出Word
  47.             }
  48.             catch (Exception ex)
  49.             {
  50.                 throw new Exception(ex.Message);
  51.             }
  52.         }
  53.         /// <summary>
  54.         /// 将无后缀名的生成文件重命名为tif文件
  55.         /// </summary>
  56.         /// <param name="filePath">生成的无后缀名的文件路径</param>
  57.         public void ReNameToTif()
  58.         {
  59.             string newTifPath = "";
  60.             if (File.Exists(tifPath))
  61.             {
  62.                 newTifPath = tifPath + ".tif";
  63.                 File.Move(tifPath, newTifPath);
  64.             }
  65.         }
  66.     }
  67. }