/// <summary>

/// 为了通用,放到一个类文件中,别的也没直接调用
/// </summary>
/// <param name="fileName">得到上传的文件名字以及后缀名字</param>
/// <param name="inFilePath">要打开文件的路径</param>
/// <param name="ShowPath">生产静态页面的路径,以及一些别的文件</param>
/// <param name="outDirPath">可以为空</param>
/// <returns></returns>

public static Tuple<string, string> Priview(string fileName, string inFilePath, string outDirPath = "")
{
object missingType = Type.Missing;
object readOnly = true;
object isVisible = false;
object documentFormat = 8;
//string randomName = DateTime.Now.ToString("yyyyMMddHHmmss");
string randomName = fileName.Remove(fileName.LastIndexOf("."));
object htmlFilePath = outDirPath + randomName + ".html";
string directoryPath = outDirPath + randomName + "_files";

object filePath = inFilePath;
//Open the word document in background

ApplicationClass applicationclass = new ApplicationClass();
applicationclass.Documents.Open(ref filePath,
ref readOnly,
ref missingType, ref missingType, ref missingType,
ref missingType, ref missingType, ref missingType,
ref missingType, ref missingType, ref isVisible,
ref missingType, ref missingType, ref missingType,
ref missingType, ref missingType);
applicationclass.Visible = false;
Document document = applicationclass.ActiveDocument;

//Save the word document as HTML file
document.SaveAs(ref htmlFilePath, ref documentFormat, ref missingType,
ref missingType, ref missingType, ref missingType,
ref missingType, ref missingType, ref missingType,
ref missingType, ref missingType, ref missingType,
ref missingType, ref missingType, ref missingType,
ref missingType);

//Close the word document
document.Close(ref missingType, ref missingType, ref missingType);
KillPreviewWordProcess();
return new Tuple<string, string>(randomName, htmlFilePath.ToString());
}
/// <summary>
/// 关闭所有用于预览的Word后台进程
/// </summary>
public static void KillPreviewWordProcess()
{
//Process.GetProcessesByName("WINWORD").ToList().Where(pro => string.IsNullOrWhiteSpace(pro.MainWindowTitle)).ToList().ForEach(nullPro => nullPro.Kill());
Process[] wordProcess = Process.GetProcessesByName("WINWORD");
try
{
foreach (Process pro in wordProcess)
{
string mwt = pro.MainWindowTitle;
if (string.IsNullOrWhiteSpace(mwt))
{
pro.Kill();
}
}
}
catch
{
}
}

页面中使用

Tuple<string, string> tupleW = WordPreview.Priview(this,get_Name, filePath, outputDirPath);
DName = tupleW.Item1.ToString();
JspUtility.OpenWindow("./Html/" + fileNameWithNoExt.ToString() + ".html", "", "1366", "768", UpdatePanel1);//路径生产静态页面的路径,注意

转载于:https://www.cnblogs.com/yan-xue-biao/p/3841038.html

页面中打开Word,在线浏览相关推荐

  1. PageOffice如何控制在系统中打开Word文档只读

    PageOffice如何控制在系统中打开Word文档只读 在文档系统有些环节需要限制用户编辑word文件,只许查看,那么如何实现用程序控制文件打开的时候,用只读模式打开呢?若通过PageOffice开 ...

  2. word打印机显示服务器脱机,电脑中打开word文件时总显示打印机没有响应的解决方法...

    我们经常会使用word来编辑文档,不过近日有不少小伙伴在电脑中打开word文档的时候,却总是显示"打印机没有响应,但是程序可以在没有打印机信息的情况下继续运行,是否继续等待打印机响应?&qu ...

  3. 调试经验——使用VBA在Excel中打开Word文档(Open Word file in Excel with VBA)

    VBA的一个强项是可以跨应用操作,特别是在office各程序内部.以下代码实现了在Excel中打开Word文档. 代码: Sub openWord() '在Excel中打开Word文档 ' 'Dim ...

  4. 页面中插入word文档

    一.页面中插入word文档 <!DOCTYPE html> <html><head><meta charset="utf-8">&l ...

  5. html5页面中打开本地app,如果没有跳转下载页面的解决方案

    需求效果 在推广网页上用户点击产品的详细信息时,判断出这个用户手机上是否安装自己的app如果安装了直接自动打开手机内的app应用,若没有则跳转app的下载页 技术实现 直接用window.locati ...

  6. 使用windows activeX 在Webclient UI 中打开word文档

    Created by Jerry Wang, last modified on May 23, 2014 在view page是使用如下source code: 在UI component workb ...

  7. 网页中打开word文档

    前台代码打开: <html> <head> <title>my youth</title> <meta http-equir="cont ...

  8. jsp页面中显示word/excel文档方法

    方法一 iframe直接引入excel文件 <form id="form1" runat="server"><iframe src=" ...

  9. 在web网页中打开word文档

    1:首先添加下引用,右击网站→添加引用→弹出的框COM下添加 using Microsoft.Office.Interop.Word; using System; using System.Colle ...

  10. 新页面中返回到上次浏览的页面位置

    这个方法是一个通用的方法,不需要每个页面都写一次,这是利用页面的cookie完成的,把记录的滚动条的位置放入cookie,下次进入这个页面的时候读取cookie,并设置滚动条位置为cookie中的值, ...

最新文章

  1. 技术人生:与其鸟宿檐下,不如击翅风雨
  2. 网站SEO优化该如何提高用户粘度?
  3. Overload重載和Override重写的区别。Overloaded的方法是否可以改变返回值的类型?
  4. linux 分段路由怎么添加,一种IPv6实现分段路由的方法及装置与流程
  5. 中小企业怎样转型做跨境电商独立站?
  6. java进行股票交易_基于Java的股票交易系统设计与开发
  7. java写入文件编码格式为ansi_java 获取文本文件编码格式
  8. apache-DOS
  9. 读博总结的总结:读博的那些事儿
  10. 响应式餐饮牛杂小吃类网站源码 dedecms织梦模板 (带手机端)
  11. pr抖音转场 300个做视频用的剪辑素材pr转场包含音效
  12. 网站服务器变更ip后更新域名,服务器变更后域名需要重新备案吗
  13. 论文查重报告橙色和红色是什么意思?
  14. uniapp生成高清海报图canvas
  15. 极值点、驻点、拐点、关系点
  16. PDF转图片的工具汇总
  17. python格式化输出(二)--字符串的格式化输出
  18. Android MobSDK已停止支持非严格模式版本,请按上面编译告示接入合规版本
  19. matlab判断星期几的语句,C语言之根据英文星期首字母来判断星期几
  20. 【Unity3D 教程系列第 12 篇】如何用Unity写一个简易的计时器工具?

热门文章

  1. NVIDIA H264解码是硬件电路还是CUDA
  2. html代码不安全,安全 – HTML编码是否会阻止各种XSS攻击?
  3. C# List用法;用Exists判断是否存在符合条件的元素;判断是否存在
  4. svr测试用MATLAB,基于MATLAB的SVR回归模型的设计方案.doc
  5. python read_csv dtype_Pandas read_csv low_memory和dtype选项
  6. 对离散点进行积分的python程序实现_Stochastic Calculus(Python)(四)
  7. linux java 错误日志_求大神解决啊啊 啊,看看这个怎么了,在LINUX运行完的错误日志...
  8. Xen和KVM的guest主机热添加硬盘
  9. 转css中文英文换行、禁止换行、显示省略号
  10. 浏览器根对象window之caches