使用.NET程序打印MHT文档

时间:2009-09-18 18:28:07

标签: mhtml

我们希望使用.NET和任何可用的IE DLL或任何其他文档查看器以编程方式打印MHT文档。我们还希望将此打印限制为文档的第1页。如果MHT文件中有多个框架,我们希望打印显示在网页中。感谢周围的任何一切。

由于

1 个答案:

答案 0 :(得分:0)

我们可以将Universal Document Coverter配置为默认打印机,并使用IE对象调用打印,如下面的代码所示。然而,具有多个帧的MHT文档最终为每个帧生成多个图像。我们还需要将此打印限制为文档的第1页。欣赏使用任何其他IE 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);


        }
    }
}