Python生成pdf文件的方法


Posted in Python onAugust 04, 2014

本文实例演示了Python生成pdf文件的方法,是比较实用的功能,主要包含2个文件。具体实现方法如下:

pdf.py文件如下:

#!/usr/bin/python
from reportlab.pdfgen import canvas
def hello():
    c = canvas.Canvas("helloworld.pdf")
    c.drawString(100,100,"Hello,World")
    c.showPage()
    c.save()
hello()

diskreport.py文件如下:

#!/usr/bin/env python
import subprocess
import datetime
from reportlab.pdfgen import canvas
from reportlab.lib.units import inch
def disk_report():
    p = subprocess.Popen("df -h", shell=True, stdout=subprocess.PIPE)
#   print p.stdout.readlines()
    return p.stdout.readlines()
def create_pdf(input, output="disk_report.pdf"):
    now = datetime.datetime.today()
    date = now.strftime("%h %d %Y %H:%M:%S")
    c = canvas.Canvas(output)
    textobject = c.beginText()
    textobject.setTextOrigin(inch, 11*inch)
    textobject.textLines('''Disk Capcity Report: %s''' %date)
    for line in input:
        textobject.textLine(line.strip())
    c.drawText(textobject)
    c.showPage()
    c.save()
report = disk_report()
create_pdf(report)

感兴趣的读者可以调试运行一下,对不足之处加以改进,以实现功能的最佳应用!

Python 相关文章推荐
用Python操作字符串之rindex()方法的使用
May 19 Python
python使用wxpython开发简单记事本的方法
May 20 Python
Django中更新多个对象数据与删除对象的方法
Jul 17 Python
python实现实时监控文件的方法
Aug 26 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
python使用pyqt写带界面工具的示例代码
Oct 23 Python
对python中两种列表元素去重函数性能的比较方法
Jun 29 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
python实现与redis交互操作详解
Apr 21 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 Python
Elasticsearch 批量操作
Apr 19 Python
Tornado Web服务器多进程启动的2个方法
Aug 04 #Python
Python通过解析网页实现看报程序的方法
Aug 04 #Python
基于Python实现的扫雷游戏实例代码
Aug 01 #Python
python脚本实现查找webshell的方法
Jul 31 #Python
用python删除java文件头上版权信息的方法
Jul 31 #Python
Python datetime时间格式化去掉前导0
Jul 31 #Python
python处理文本文件并生成指定格式的文件
Jul 31 #Python
You might like
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
python笔记(2)
2012/10/24 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
python变量的作用域是什么
2020/05/26 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
霸王洗发水广告词
2014/03/14 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python