Python中使用PyQt把网页转换成PDF操作代码实例

yipeiwu_com6年前Python基础

代码很简单,功能也很简单 =w=

webpage2pdf

#!/usr/bin/env python3
 
import sys
 
try:
 from PyQt4 import QtWebKit
 from PyQt4.QtCore import QUrl
 from PyQt4.QtGui import QApplication, QPrinter
except ImportError:
 from PySide import QtWebKit
 from PySide.QtCore import QUrl
 from PySide.QtGui import QApplication, QPrinter
 
app = QApplication(sys.argv)
 
def done(status):
 p = QPrinter()
 p.setOutputFormat(QPrinter.PdfFormat)
 p.setOutputFileName('a.pdf')
 view.print(p)
 app.exit()
 
view = QtWebKit.QWebView()
view.load(QUrl('http://lilydjwg.is-programmer.com/'))
view.loadFinished[bool].connect(done)
# PySide does not have QApplication.exec
app.exec_()

注意:虽然没有图形界面,但是还是需要 X 连接……

相关文章

Python (Win)readline和tab补全的安装方法

Python (Win)readline和tab补全的安装方法

最近开始学Python,想直接通过命令行的方式进行学习。 奈何没有Tab补全,操作实在麻烦,网上各种百度后无果(x64系统,x86的可以直接下载网上各种编译好的包) 最后自己百度+加上自...

flask中主动抛出异常及统一异常处理代码示例

flask中主动抛出异常及统一异常处理代码示例

本文主要介绍的是flask中主动抛出异常及统一异常处理的相关内容,具体如下。 在开发时,后台出现异常 ,但不想把异常显示给用户或者要统一处理异常时,可以使用abort主动抛出异常,再捕获...

简单介绍Python中利用生成器实现的并发编程

我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。 多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库...

PyTorch的SoftMax交叉熵损失和梯度用法

在PyTorch中可以方便的验证SoftMax交叉熵损失和对输入梯度的计算 关于softmax_cross_entropy求导的过程,可以参考HERE 示例: # -*- codin...

Python中Threading用法详解

Python的threading模块松散地基于Java的threading模块。但现在线程没有优先级,没有线程组,不能被销毁、停止、暂停、开始和打断。 Java Thread类的静态方法...