更快地实现 document conversion/preview 任务的方法
Faster way to achieve document conversion/preview task
我创建了 win 表单应用程序以使用 pandoc 和网络浏览器控件将 docx 转换为 html
显示 html 文件。我在大学的同事非常需要这个应用程序,
预览 docx 文件,因为我们不再具有 MS Office 访问权限...
我在我的 PC 上测试了这个,它在列表框中的每个项目上都工作正常,
它会在网络浏览器中快速加载预览。但我只是想让它更快,有没有
任何让它更快的建议(如果需要我可以提供完整的代码),但是以下
是主列表框选择项更改事件:
还请告诉我哪个速度更快:将 wb.DocumentText
设置为空白或将其导航至 about:blank 页面
private void lbFiles_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
wb.DocumentText = "";
// Two string lists
SelectedFile = AllFiles[lbFiles.SelectedIndex];
NameOnly = AllNamesOnly[lbFiles.SelectedIndex];
if (NameOnly.EndsWith(".txt") || NameOnly.EndsWith(".docx"))
{
#region MediaFolder
if (Directory.Exists("MF")) Directory.Delete("MF", true);
Directory.CreateDirectory("MF");
#endregion
string cmd = "pandoc --extract-media ./MF \"" + SelectedFile + "\" -o " + "output.html";
File.WriteAllText("BatchFile.bat", cmd);
StartHidden("BatchFile.bat"); //Process object with: ProcessWindowStyle.Hidden; and with 3 seconds exit wait
wb.Navigate(Environment.CurrentDirectory + "\" + "output.html");
}
}
catch(Exception ex) { throw ex; }
}
我努力尝试了各种解决方案。
其中大部分都不是免费的,因此无法使用,像在 OP 中那样使用 pendoc,不是
可行,因为它不支持各种字体和格式
经过许多可能的选择(Gembox、Spire.Doc 等)后,
我终于转向 Syncfusion 社区版,它已经是免费的,它的库允许转换所有主要的基于文字处理器的格式,其结果与其他非免费解决方案相同。并且比 pandoc 工作得更快。
另外要注意的是,我也从 WebBrowser 切换到 CefSharp,因为它比 WebBrowser 更快更轻,而且它对 pdf 文件的效果更好
在浏览器中预览(您可以使用缩放级别、页码作为 URL 的一部分)
我创建了 win 表单应用程序以使用 pandoc 和网络浏览器控件将 docx 转换为 html 显示 html 文件。我在大学的同事非常需要这个应用程序, 预览 docx 文件,因为我们不再具有 MS Office 访问权限...
我在我的 PC 上测试了这个,它在列表框中的每个项目上都工作正常, 它会在网络浏览器中快速加载预览。但我只是想让它更快,有没有 任何让它更快的建议(如果需要我可以提供完整的代码),但是以下 是主列表框选择项更改事件:
还请告诉我哪个速度更快:将 wb.DocumentText
设置为空白或将其导航至 about:blank 页面
private void lbFiles_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
wb.DocumentText = "";
// Two string lists
SelectedFile = AllFiles[lbFiles.SelectedIndex];
NameOnly = AllNamesOnly[lbFiles.SelectedIndex];
if (NameOnly.EndsWith(".txt") || NameOnly.EndsWith(".docx"))
{
#region MediaFolder
if (Directory.Exists("MF")) Directory.Delete("MF", true);
Directory.CreateDirectory("MF");
#endregion
string cmd = "pandoc --extract-media ./MF \"" + SelectedFile + "\" -o " + "output.html";
File.WriteAllText("BatchFile.bat", cmd);
StartHidden("BatchFile.bat"); //Process object with: ProcessWindowStyle.Hidden; and with 3 seconds exit wait
wb.Navigate(Environment.CurrentDirectory + "\" + "output.html");
}
}
catch(Exception ex) { throw ex; }
}
我努力尝试了各种解决方案。
其中大部分都不是免费的,因此无法使用,像在 OP 中那样使用 pendoc,不是 可行,因为它不支持各种字体和格式
经过许多可能的选择(Gembox、Spire.Doc 等)后, 我终于转向 Syncfusion 社区版,它已经是免费的,它的库允许转换所有主要的基于文字处理器的格式,其结果与其他非免费解决方案相同。并且比 pandoc 工作得更快。
另外要注意的是,我也从 WebBrowser 切换到 CefSharp,因为它比 WebBrowser 更快更轻,而且它对 pdf 文件的效果更好 在浏览器中预览(您可以使用缩放级别、页码作为 URL 的一部分)