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获取系统默认字符编码的方法
Jun 04 Python
python编写简单爬虫资料汇总
Mar 22 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
python进行两个表格对比的方法
Jun 27 Python
用uWSGI和Nginx部署Flask项目的方法示例
May 05 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
利用PyTorch实现VGG16教程
Jun 24 Python
Django 权限管理(permissions)与用户组(group)详解
Nov 30 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新手上路(四)
2006/10/09 PHP
关于php fread()使用技巧
2010/01/22 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
常见python正则用法的简单实例
2016/06/21 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
自我评价正确写法范文
2013/12/10 职场文书
父母对孩子的寄语
2014/04/09 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js