0

我们希望使用 .NET 和任何可用的 IE DLL 或任何其他文档查看器以编程方式打印 MHT 文档。我们还希望将此打印限制在文档的第一页。如果 MHT 文件中有多个框架,我们希望打印显示为在网页中显示的样子。欣赏这方面的任何经历。

谢谢

4

1 回答 1

0

我们可以将 Universal Document Coverter 配置为默认打印机,并使用 IE 对象调用打印,如下面的代码所示。但是,具有多个帧的 MHT 文档最终会为每个帧生成多个图像。我们还需要将此打印限制在文档的第一页。感谢您对使用任何其他可用的 IE DLL 的任何想法,这些 DLL 可用于避免多帧问题并将打印限制在文档的第一页。

using System;
using System.Collections.Generic;
using System.Text;
using SHDocVw;
using System.Threading;

namespace htmconverter
{
    class Program
    {
        static void Main(string[] args)
        {
            object missingValue = Type.Missing;
            InternetExplorer iexp = new InternetExplorer();
            iexp.Navigate("file://c:/c.mht", ref missingValue, ref missingValue, ref missingValue, ref missingValue);
            // while(OLECMDID.OLECMDID_PRINT!=OLECMDF.OLECMDF_SUPPORTED)
            iexp.ExecWB(OLECMDID.OLECMDID_PRINT, OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, ref missingValue, ref missingValue);
            Thread.Sleep(2000);


        }
    }
}
于 2009-09-19T02:48:33.533 回答