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 相关文章推荐
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
Python内置模块logging用法实例分析
Feb 12 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
用python处理MS Word的实例讲解
May 08 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
django连接mysql数据库及建表操作实例详解
Dec 10 Python
pygame实现飞机大战
Mar 11 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
Python文本文件的合并操作方法代码实例
Mar 31 Python
解决reload(sys)后print失效的问题
Apr 25 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 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脚本的10个技巧(2)
2006/10/09 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
如何提高python 中for循环的效率
2020/04/15 Python
百联网上商城:i百联
2017/01/28 全球购物
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
数据库方面面试题
2012/04/22 面试题
《中华少年》教学反思
2014/02/15 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
房租涨价通知
2015/04/23 职场文书
golang slice元素去重操作
2021/04/30 Golang