Python使用reportlab将目录下所有的文本文件打印成pdf的方法


Posted in Python onMay 20, 2015

本文实例讲述了Python使用reportlab将目录下所有的文本文件打印成pdf的方法。分享给大家供大家参考。具体实现方法如下:

# -*- coding: utf8 -*- 
#~ #---------------------------------------------------------------------- 
import wlab #pip install wlab 
import reportlab.pdfbase.ttfonts 
#reportlab.pdfbase.pdfmetrics.registerFont(reportlab.pdfbase.ttfonts.TTFont('song', '/usr/share/fonts/cn/msjh.ttf')) 
#import reportlab.lib.fonts 
# 
from reportlab.pdfgen import canvas 
from reportlab.lib.units import inch 
# 
def file2pdf(FileName): 
  fpi=FileName.find('.') 
  if (fpi>0): 
    outputfn=FileName[0:fpi]+'.pdf' 
  else: 
    outputfn=FileName+'.pdf' 
  c = canvas.Canvas(outputfn) 
  #c.setFont('song',10) 
  textobject = c.beginText() 
  textobject.setTextOrigin(inch,11*inch) 
  file=open(FileName) 
  n=0 
  for line in file: 
    n=n+1 
    if(n<10): 
      nstr='0'+str(n) 
    else: 
      nstr=str(n) 
    line=nstr+': '+line.replace('  ','  ') 
    textobject.textLine(line.rstrip()) 
  c.drawText(textobject) 
  c.showPage() 
  c.save() 
# 
FileList=wlab.GetFileList('.',FlagStr=['.txt']) 
# 
for FileName in FileList: 
  file2pdf(FileName)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
wxPython学习之主框架实例
Sep 28 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
带你了解python装饰器
Jun 15 Python
利用python操作SQLite数据库及文件操作详解
Sep 22 Python
python实现Adapter模式实例代码
Feb 09 Python
python ChainMap的使用和说明详解
Jun 11 Python
Python3简单实现串口通信的方法
Jun 12 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
Python类的动态绑定实现原理
Mar 21 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
python中pickle模块浅析
Dec 29 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 Python
Python使用matplotlib绘制动画的方法
May 20 #Python
Python中subprocess模块用法实例详解
May 20 #Python
python检测某个变量是否有定义的方法
May 20 #Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 #Python
python使用PyGame模块播放声音的方法
May 20 #Python
python实现带声音的摩斯码翻译实现方法
May 20 #Python
python定时检查某个进程是否已经关闭的方法
May 20 #Python
You might like
php+mysql事务rollback&amp;commit示例
2010/02/08 PHP
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
javascript数组排序汇总
2015/07/07 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Python3 批量扫描端口的例子
2019/07/25 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
Ray-Ban雷朋太阳眼镜英国官网:Ray-Ban UK
2019/11/23 全球购物
应届毕业生就业自荐信
2013/10/26 职场文书
单位介绍信范文
2014/01/18 职场文书
质量月活动策划方案
2014/03/10 职场文书
投标诚信承诺书
2014/05/26 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android
手写实现JS中的new
2021/11/07 Javascript