我们有一些由客户准备的 Ms Word .docx 格式的内容。这些文档可能有方程式、图像等。
我们希望将这些内容传输到我们的网络环境中。
首先,我打算使用 TinyMCE “paste from word”插件和 fmath 编辑器插件。没用...
然后我决定放上载按钮来传输 ms word 内容并将生成的 web 内容显示到 TinyMCE 编辑器中。实际上就像写一个新插件一样。
我正在使用 Microsoft.Office.Interop.Word.Document 类的“SaveAs”方法。但我有以下问题:
1) 我无法更改文档资源文件夹路径。它生成与生成的 html 文件相同的“..._files”文件夹。我想将所有资源转移到服务器上的适当位置。
2)我不能将图像源路径更改为绝对路径。
3)太多垃圾样式,生成的html文件上的代码。
我可能完全以错误的方式来达到这个目的。所以我决定先听听你的建议,然后再继续这个方向。我愿意提出任何建议。
问候,
我正在添加此代码的草稿版本:
var fileName = Request["docfilename"];
var file = Request.Files[0];
var buffer = new byte[file.ContentLength];
file.InputStream.Read(buffer, 0, file.ContentLength);
var root = HttpContext.Current.Server.MapPath(@"~/saveddata/_temp/");
var path = Path.Combine(root, fileName);
using (var fs = new FileStream(path, FileMode.Create))
{
using (var br = new BinaryWriter(fs))
{
br.Write(buffer);
}
}
Microsoft.Office.Interop.Word.ApplicationClass oWord = new ApplicationClass();
object missing = System.Reflection.Missing.Value;
object isVisible = false;
word.Document oDoc;
object filename = path;
object saveFile;
oDoc = oWord.Documents.Open(ref filename, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing,ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing);
oDoc.Activate();
object path2 = Path.Combine(root, "test.html");
object fileFormat = word.WdSaveFormat.wdFormatFilteredHTML;
oDoc.SaveAs(ref path2, ref fileFormat, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing);
oDoc.Close(ref missing, ref missing, ref missing);
oWord.Application.Quit(ref missing, ref missing, ref missing);