一说到pdf文件,大家应该都很熟悉吧,特别是那些经常在网上搜索某本书pdf版的人。别装了,那些人当中应该就有你吧?--开玩笑的,知道你是一向只买正版纸质版的人。

买正版纸质的人?好像扯远了。好吧,言归正传,咱说一下Python3处理pdf相关的内容。

Python3处理pdf的第3库挺多的,当然,处理其它文件的库也多。这次咱就说下耳熟能详、久经战场并被最、最、最被看好的ReportLab。

1

若要想要获得ReportLab的支持,得先安装它的开发包。打开【终端】,输入那句,闭着眼,都会输错的命令:pip3 install reportlab 。稍等一会会,就能安装完了,究竟多长时间,你可以用手机记一下时间,如果实在闲得无聊的话。

2

安装好开发包后,咱就来写写如何生成pdf文件并送给经常下载它同类的你。来,打开你喜欢的开发工具,输入以下代码。

from reportlab.pdfgen import canvas

def write_pdf():

c = canvas.Canvas("demo1.pdf")

# 注意,这里用英文,不是因为我英文好,而是默认不支持中文

c.drawString(200, 500, "Hello PDF")

# 不信默认不支持中文,咱走着瞧

c.drawString(200, 550, "你好,PDF文件")

c.showPage()

c.save()

write_pdf()

3

见到上面的中文乱码,整个心情都不好了,倘若不解决,以后就不用混Python圈了。若要想ReportLab支持中文,可以去下载SimSun.ttf字体,并把它放在/ python3.7/site-packages/reportlab/fonts文件夹下,至于Python的安装路径得按你的实际情况来。当然,中文字体并非一定要用SimSun的,只是这个可以支持,我就用它来说明而已。

from reportlab.pdfgen.canvas import Canvas

from reportlab.pdfbase import pdfmetrics

from reportlab.pdfbase.ttfonts import TTFont

def write_pdf():

# 注册字体

pdfmetrics.registerFont(TTFont("SimSun", "SimSun.ttf"))

c = Canvas("demo1.pdf")

# 应用注册的字体

c.setFont("SimSun", 14)

c.drawString(200, 550, "自从PDF支持中文以后,整个人都变了")

c.save()

write_pdf()

Python3操作pdf文件之ReportLab第1篇--解决中文乱码问题相关推荐

  1. php 操作word模板,phpword替换模板内容和解决中文乱码

    本篇文章给大家分享的内容是phpword替换模板内容和解决中文乱码的问题,有需要的朋友可以看一下. 好吧 先下载吧: 下载地址:https://pan.baidu.com/s/1upup2rpLTVX ...

  2. python3 如何读中文路径_Python3操作pdf文件之ReportLab

    一说到pdf文件,大家应该都很熟悉吧,特别是那些经常在网上搜索某本书pdf版的人.别装了,那些人当中应该就有你吧?--开玩笑的,知道你是一向只买正版纸质版的人. 买正版纸质的人?好像扯远了.好吧,言归 ...

  3. java zip ant 密码_java对 zip文件的压缩和解压(ant解决中文乱码)

    /***@name 解压zip格式压缩包 *@description 相关说明 *@paramsourceZip 源文件 *@paramdestDir 目标文件地址 *@throwsException ...

  4. Python使操作PDF文件变得有趣

    大家好 我是毕加锁 (锁!) 大家在平时操作PDF文件时是不是感觉很枯燥 那么今天就教大家利用Python让操作PDF文件变得有趣起来  目录  工具  从PDF中提取文本  旋转和叠加页面  加密P ...

  5. 第19天---python办公自动化---操作PDF文件

    第19天-python办公自动化-操作PDF文件 在Python中,可以使用名为PyPDF2的三方库来读取PDF文件,可以使用下面的命令来安装它. pip install PyPDF2 读取PDF并抽 ...

  6. day10 Python操作pdf文件

    目录 一.PyPDF2的使用 1. pypdf2的使用 2. pypdf2的基本应用 3. 为PDF文件页面添加水印 二.reportlab的使用 0. 导入工具 1. 创建画布 2. 添加文字 3. ...

  7. itex将html转成pdf加水印,itext操作PDF文件添加水印

    功能描述:添加图片和文字水印 /** * * [功能描述:添加图片和文字水印] [功能详细描述:功能详细描述] * @param srcFile 待加水印文件 * @param destFile 加水 ...

  8. 使用ITEXT操作PDF文件

    2019独角兽企业重金招聘Python工程师标准>>> 使用ITEXT操作PDF文件 pom.xml <dependency><groupId>com.ite ...

  9. bfo java_Java操作PDF文件(BFO) | 学步园

    上一次我们用iText这个工具在Java环境下操作PDF文件,现在我们换一个工具:BFO iText的确小巧,但是功能也有限制,只能简单的生成PDF文件,BFO却不同,能设置字体.版面等元素. 最新版 ...

最新文章

  1. 机房收费系统之uml图——初版
  2. 关闭tomact被占用的进程
  3. 7-27 御膳房 (5 分)
  4. 【渝粤教育】国家开放大学2019年春季 0134-22T劳动法学 参考试题
  5. 中山大学校队选拔赛第二试题试题3【Compressed suffix array】-------2015年2月8日
  6. java model 封装_Java封装统一的Result Model案例
  7. LeetCode141-环形链表(Linked List Cycle)-Rust语言实现
  8. js 单精度浮点数转10进制_js浮点数精度问题的前世今生?
  9. chrome disable-web-security 关闭安全策略 解决跨域
  10. Android FFmpeg集成
  11. 计算机打字速成,计算机汉字输入五笔字型打字速成.pdf
  12. 如何高效搜索公众号文章(r11笔记第35天)
  13. 大班运用计算机教学案例,【大班教学案例】_幼儿园大班教学案例:《让孩子在自主探索中获取成功》...
  14. Python OpenCV 图像缩放 cv2.resize 方法
  15. 桌面的文件突然不见了怎么恢复
  16. 阿里Java岗P5-P7成长笔记【3283页PDF文档免费领】
  17. 声明对象和实例化对象的区别
  18. 软件构造(九) 面向复用的软件构造技术
  19. OpenAI的GPT-2:用Python构建世界上最先进的文本生成器的简单指南
  20. Exercise 35: 分支和函数

热门文章

  1. 开发在线文档时,这个技术难点你解决了吗?
  2. Single-Domain Generalized Object Detection in Urban Scene via Cyclic-Disentangled Self-Distill阅读笔记
  3. 基于统计学习---面向新闻的发生地与提及地检测
  4. 自主性: 一个概念的哲学考察
  5. Eclipse中格式化JS、HTML代码
  6. 串之Ukkonen、Rabin_karp算法
  7. 史玉柱和郭广昌谈创业团队管理:两种类型的“孔雀王”
  8. 土壤基因组dna提取试剂盒
  9. Python---元祖、循环
  10. 火焰图(FlameGraph)的使用