更快地实现 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 的一部分)