最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Asp.Net在線預(yù)覽Word文檔的解決方案與思路詳解

 更新時間:2022年04月26日 08:31:20   作者:暢飲無緒  
這篇文章主要介紹了Asp.Net在線預(yù)覽Word文檔的解決方案與思路,大致思路是先將Word文檔轉(zhuǎn)換Html,再預(yù)覽Html,需要注意電腦安裝Office,需要的朋友可以參考下

前幾天有個老項(xiàng)目找到我,有多老呢?比我工作年限都長,見到這個項(xiàng)目我還得叫一聲前輩。

這個項(xiàng)目目前使用非常穩(wěn)定,十多年了沒怎么更新過,現(xiàn)在客戶想加一個小功能:在線預(yù)覽Word文檔。

首先想到的是用第三方的服務(wù),例如WPS的開放平臺。

剛看完文檔,客戶來了句,要一次性的哦,后續(xù)再付費(fèi)的通通不要。

得嘞,換其他方案吧。

項(xiàng)目特點(diǎn)

Asp.Net不帶Core,.NET Framework 4.0,部署在Windows平臺上。

解決方案

大致思路:先將Word文檔轉(zhuǎn)換Html,再預(yù)覽Html。

1、Word文檔轉(zhuǎn)Html

先引用OfficeDLL,在COM里面,注意:電腦需要安裝Office哦。

又注意:請在DLL屬性里面將嵌入互操作類型改為False

轉(zhuǎn)換過程一個方法搞定:

using Microsoft.Office.Interop.Word;
public static string WordToHtml(string path)
{
	string root = AppDomain.CurrentDomain.BaseDirectory;
	var htmlName = $"{Guid.NewGuid().ToString("N")}.html";
	var htmlPath = root + $"Resource/Temporary/";
	if (!Directory.Exists(htmlPath))
	{
		Directory.CreateDirectory(htmlPath);
	}

	ApplicationClass word = new ApplicationClass();
	Type wordType = word.GetType();
	Documents docs = word.Documents;
	Type docsType = docs.GetType();
	Document doc = (Document)docsType.InvokeMember("Open", BindingFlags.InvokeMethod, null, docs, new Object[] { (object)path, true, true });
	Type docType = doc.GetType();

	docType.InvokeMember("SaveAs", BindingFlags.InvokeMethod, null, doc, new object[] { (htmlPath + htmlName), WdSaveFormat.wdFormatFilteredHTML });
	docType.InvokeMember("Close", BindingFlags.InvokeMethod, null, doc, null);
	wordType.InvokeMember("Quit", BindingFlags.InvokeMethod, null, word, null);

	return htmlName;
}

2、預(yù)覽

上一步Word轉(zhuǎn)Html的方法已經(jīng)準(zhǔn)備就緒,我們再準(zhǔn)備這樣一個Word文檔。

簡單寫一下邏輯:

是不是特別簡單,我們再看看成品效果。

這種方案局限性比較大,部署平臺必須安裝Office,剛好客戶能滿足。

到此這篇關(guān)于Asp.Net在線預(yù)覽Word文檔的解決方案與思路的文章就介紹到這了,更多相關(guān)Asp.Net在線預(yù)覽Word文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

正阳县| 洛隆县| 大宁县| 吐鲁番市| 扎鲁特旗| 瑞安市| 怀集县| 广元市| 营山县| 营山县| 伊春市| 呼图壁县| 罗城| 印江| 喜德县| 甘德县| 通江县| 明水县| 沿河| 高雄市| 西充县| 彭州市| 广宁县| 武宣县| 时尚| 曲水县| 中山市| 平利县| 获嘉县| 卢龙县| 连江县| 信宜市| 盐边县| 会理县| 兴业县| 巴南区| 清苑县| 阜南县| 武山县| 吉安县| 怀仁县|