一说到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 如何读中文路径_Python3操作pdf文件之ReportLab相关推荐

  1. Python3操作pdf文件之ReportLab第1篇--解决中文乱码问题

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

  2. python3 如何读中文路径_Python 3.8.2安装教程

    名      称:Python 3.8.2 版 本:简体中文 软件授权:共享软件 软件语言:简体中文 更新时间:2020年 应用平台:Win 10 软件官网:https://www.python.or ...

  3. day10 Python操作pdf文件

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

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

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

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

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

  6. 安装texlive并用latex编写一段中文,最后生成pdf文件

    安装texlive并用latex编写一段中文,最后生成pdf文件 **#一.下载安装(**链接https://tug.org/texlive/) ##1.第一步 ##2.第二步 ##3.第三步 ##4 ...

  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. 飞桨第六课 2020.4.5
  2. 动态内存分配及变量存储类别(第二部分)
  3. [html] 如何关闭HTML页面在IOS下的键盘首字母自动大写?
  4. activiti 如何获取下一步节点
  5. Python助力中学数学教学:绘图验证反比例函数与矩形交点的关系
  6. 如何理解皮尔逊相关系数(Pearson Correlation Coefficient)?
  7. layui表格有边框_layui前端框架表格如何进行屏幕适配
  8. Jupyter notebook实现远程登陆
  9. 图解Java设计模式
  10. 如何下载谷歌地图高程数据
  11. java ts文件 播放_前端如何播放m3u8格式的视频
  12. latex下的实数集R的写法
  13. 初识机器学习与深度学习
  14. Daily record-November
  15. uniapp调用手机摄像头_uniapp原生插件开发之调用原生方法(android)
  16. 004---css样式表(内部样式表、行内样式表、外部样式表)
  17. sublime3 text 文件名称中文显示成框框
  18. windows下载Android系统源码
  19. 【Git】回退单个文件到指定版本
  20. MessageBox.Show()的用法

热门文章

  1. Python调用Java代码部署及初步使用
  2. 从豌豆荚百度撕逼中学作文
  3. MySQL中的翻页优化和延迟缓存
  4. 站在Java的角度看LinkedList
  5. 多线程中线程参数的传递,不要使用局部变量
  6. ASP.NET MVC 相关的社群与讨论区
  7. 学习微软企业库的心得-验证
  8. MySql应用原理分析系列文章目录
  9. Android ViewPropertyAnimator 属性动画概述
  10. springboot中配置文件使用2