`
dqifa
  • 浏览: 116388 次
社区版块
存档分类
最新评论

python 调用IEHtmlWindow打印网页

阅读更多

编写环境:

1、ActivePython-2.7.2.5-win32-x86

2、wxPython2.8-win32-unicode-2.8.12.1-py27

3、wxFormBuilder_v3.3.3-beta

 

以下代码是演示怎样利用IEHtmlWindow载入网页,并实现打印预览和打印的的功能:

#coding:utf-8
import wx
from wx.lib import iewin


class MyFrame ( wx.Frame ):

        def __init__( self, parent ):
                wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 674,421 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

                self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

                self.menu = wx.MenuBar( 0 )
                self.menu1 = wx.Menu()
                self.LoadPage = wx.MenuItem( self.menu1, wx.ID_ANY, u"打开文件", wx.EmptyString, wx.ITEM_NORMAL )
                self.menu1.AppendItem( self.LoadPage )

                self.PrintPreview = wx.MenuItem( self.menu1, wx.ID_ANY, u"打印预览", wx.EmptyString, wx.ITEM_NORMAL )
                self.menu1.AppendItem( self.PrintPreview )

                self.Print = wx.MenuItem( self.menu1, wx.ID_ANY, u"打印", wx.EmptyString, wx.ITEM_NORMAL )
                self.menu1.AppendItem( self.Print )

                self.menu.Append( self.menu1, u"文件" ) 

                self.SetMenuBar( self.menu )

                bSizer = wx.BoxSizer( wx.VERTICAL )
                self.ie = iewin.IEHtmlWindow(self)
                self.ie.AddEventSink(self)
                bSizer.Add( self.ie, 1, wx.EXPAND, 5 )


                self.Centre( wx.BOTH )

                # Connect Events
                self.Bind( wx.EVT_MENU, self.LoadPageOnMenuSelection, id = self.LoadPage.GetId() )
                self.Bind( wx.EVT_MENU, self.PrintPreviewOnMenuSelection, id = self.PrintPreview.GetId() )
                self.Bind( wx.EVT_MENU, self.PrintOnMenuSelection, id = self.Print.GetId() )


        def __del__( self ):
                pass

        def DocumentComplete(self,this,pDisp,URL):
                print 'Done'
                
        # Virtual event handlers, overide them in your derived class
        def LoadPageOnMenuSelection( self, event ):
                #self.ie.Navigate("http://baidu.com/") # your URL here
                #self.ie.LoadUrl('http://www.baidu.com')
                #self.ie.LoadStream(page)
                #self.ie.LoadString(page)
                
                loadstring = u'''
                <html>
                <body>
                <p align="center"><font face="华文琥珀" size="7" color="#CC3300">这是一个简单的测试……</font></p>
                </body>
                </html>                
                '''
                self.ie.LoadString(loadstring)
                
                #import StringIO
                #self. ie.LoadStream( StringIO.StringIO( page.decode("utf8") ) )
                
                #file = open('index2.htm')
                #self. ie.LoadStream(file)
                #file.close()
                event.Skip()

        def PrintPreviewOnMenuSelection( self, event ):
                self.ie.PrintPreview()
                event.Skip()

        def PrintOnMenuSelection( self, event ):
                self.ie.Print(True)
                event.Skip()

app = wx.PySimpleApp()
frm = MyFrame(None)
frm.Maximize()
frm.Show()
app.MainLoop()

 

  • ie.rar (1.1 KB)
  • 下载次数: 5
分享到:
评论

相关推荐

    使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip

    使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip使用Python调用OpenAI接口-OpenAI接口...

    python调用大漠插件

    python调用大漠插件python调用大漠插件python调用大漠插件python调用大漠插件

    Python 调用Java实例详解

    Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境  1 安装 jpype1 安装后测试代码:  from jpype import * startJVM(getDefaultJVMPath(), "-ea...

    python调用迅雷sdk实现迅雷下载

    python调用迅雷sdk实现迅雷下载,不需要安装迅雷实现迅雷下载,所有调用的接口具体介绍,参考迅雷云加速开放平台文档 http://open.xunlei.com/wiki/tutorial.html 迅雷SDK只提供了32位的版本.所以python版本必须为32位...

    Python调用Prometheus监控数据并计算.zip

    本压缩包文件"Python调用Prometheus监控数据并计算.zip"包含了如何使用Python与Prometheus交互的相关资料,特别是通过Python调用Prometheus的API来获取和处理监控数据。 首先,让我们深入了解Prometheus的核心概念...

    Python调用制冷剂物性参数计算软件Refprop.pdf

    Python调用制冷剂物性参数计算软件Refprop.pdf

    python操作tsc打印机打印标签

    本文将深入探讨如何使用Python操作TSC打印机进行标签打印。 TSC(Taiwan Semiconductor Co., Ltd.)是一家知名的条码打印机制造商,其产品广泛用于物流、零售、医疗等多个行业。通过Python与TSC打印机的交互,我们...

    sac_scripts_pythonsac_pythonsac脚本_python处理地震_python调用sac_sac_

    "python调用sac"则是指利用Python的子进程管理模块(如os或subprocess)直接调用SAC的命令行工具。这种方式虽然没有直接利用`pythonsac`库那样方便,但能调用SAC的所有功能,适用于处理`pythonsac`库不支持或者需要...

    python调用WEBSERVICE接口

    ### Python调用WEBSERVICE接口知识点详解 #### 一、基础知识概述 1. **Web Service**:一种跨编程语言和操作系统平台的远程调用技术,它通过HTTP协议提供服务,可以被任何其他系统调用。 2. **SOAP(Simple Object...

    Python 调用C# dll文件

    通过这个库,我们可以直接在Python环境中调用C#编写的DLL,实现两者之间的通信。 **一、安装pythonnet** 在Python中使用`pythonnet`,首先需要安装该库。你可以使用pip来安装: ```bash pip install pythonnet ``...

    Python中调用C++dll例子

    运行这段Python代码,将打印出`The sum is: 8`,这是3和5的和。 6. 错误处理和类型转换 当涉及到C++数据类型时,`ctypes`可以自动进行一些基本类型的转换,但复杂的结构体或类可能需要自定义转换规则。同时,`...

    so编写和Python调用.so文件

    本教程聚焦于如何在Linux环境下使用C++编写`.so`动态链接库,并通过Python进行调用,这对于初学者来说是一个很好的实践项目。`.so`文件是Linux系统中的动态链接库,它包含可被其他程序共享的函数和数据。 首先,...

    python调用海康sdk开图demo软件

    Python调用海康威视(HIKVision)SDK来实现图像处理和视频流操作是许多开发者在物联网(IoT)和监控系统中的常见需求。海康威视作为全球领先的安防产品供应商,提供了丰富的SDK供开发者集成到自己的应用程序中。在这个...

    使用Python调用Abaqus交互命令

    根据提供的文件信息,知识点主要集中在如何使用Python编程语言来调用Abaqus这一专业有限元分析软件中的交互命令,进而实现自动化分析和模拟的过程,替代传统的图形用户界面(GUI)。由于文件中内容片段不多且存在...

    Python调用c代码vs2005工程

    本案例主要探讨如何使用Python调用C代码,并结合Visual Studio 2005(VS2005)创建的工程来编译生成动态链接库(DLL)或Python的扩展模块(pyd文件),供Python调用。 首先,我们需要了解Python的C API,它是Python...

    python调用海康SDK拉取网络摄像头视频流

    本篇文章将深入探讨如何使用Python编程语言调用海康威视(Hikvision)的SDK来拉取网络摄像头的视频流。海康威视作为全球领先的安防产品提供商,提供了丰富的SDK供开发者进行二次开发。 首先,我们需要了解海康SDK的...

    python 调用执行JS的源码

    python 调用执行 JS 的源码, python 调用执行 JS 的源码

    python 调用海康SDK 控制摄像头云台代码

    本话题将详细介绍如何使用Python调用海康SDK来实现对摄像头云台的控制。 首先,我们需要理解“云台”是摄像头的一部分,它允许摄像头进行水平和垂直移动,从而扩大监控范围。通过SDK,我们可以精确控制摄像头的方向...

    ctypes库的使用 python调用Windows DLL

    ### ctypes库的使用:Python调用Windows DLL #### 一、ctypes库简介与功能 ctypes 是 Python 的一个标准库模块,它提供了与 C 兼容的数据类型,并且能够轻松地调用 C 库(DLL)中的函数。这对于那些需要与 C 语言...

    python调用C++函数

    本文将详细介绍如何在Python中调用C++函数,以实现Python与C++的交互。 首先,我们需要理解Python与C++之间的接口是如何建立的。Python提供了一种称为`ctypes`的库,它允许我们直接调用动态链接库(DLL或SO)中的C...

Global site tag (gtag.js) - Google Analytics