页面中打开Word,在线浏览
/// <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);//路徑生產靜態頁面的路徑,注意
總結
以上是生活随笔為你收集整理的页面中打开Word,在线浏览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python语言是一门编程语言_pyth
- 下一篇: 手环调整时间