小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
欢迎和猫妹一起,趣味学Python。
今日主题
PDF格式的横版文件,怎么将A3格式转为A4格式。
项目需求
记得去年,猫爸带着我去打印作业,老师群发的一个试卷文件却让他犯了难。
怎么回事呢?
原来其中的一份试卷是A3格式的,可打印店老板娘说,她们这里没有A3的纸,只有A4的纸。
这一点也不奇怪,猫爸办公室打印用的纸也都是A4,A3只有特定场合才用得到。一般都是工厂印刷,比如试卷等,个人用得少。
这可怎么办?
猫爸当时有点抓狂,只见他愁眉苦脸地直接把A3上面的信息截图,拷贝粘贴到word中,再用A4格式纸打印出来。
打印是打印了,可以显示效果却是很差,很多都失真了!
猫爸心有不甘却又无可奈何地说,这次只能先这样了,你作业太赶,爸爸也没时间。
下次猫爸一定搞个A3转A4的Python程序,把它打印得漂漂亮亮的。
和猫妹学Python,以后咱们就用Python来解决这个小问题。
猫爸觉得可行,Python最擅长这些了。
以为猫爸随便说说而已,谁知猫爸是一个说到做到的人,他一向如此,这一点,猫妹我必须向他学习。
比如今天他去买早餐,去了很久,咋回事呢?
只因他答应了猫弟,早上给他买包子和油条,可包子铺门口正在装修,但仍在营业。手脚架上工人师傅在密集施工中,头戴安全帽,有的双手紧握钢管,有的手持电焊,地方很拥挤,有点危险啊!
君子一言驷马难追,小孩更不能欺骗,大人必须讲诚信。
油条店因装修关门了,他又换了两个地方,一个菜场竟然没有卖油条的,另一个有热乎乎的油条。
这不,大周末的,猫妹正在睡懒觉,被他兴奋的一声给吵醒了。
此时已经不早了,猫妹一点不怪他。
猫爸却说,你怎么还不起床,平时这会不该到学校了吗?
原来,他把A3转A4搞定了,有点小兴奋,像个孩子一样。
你知道A3、A4有啥区别呢?
请看图:
发现规律没?
A3是A4的2倍。
程序演示
书到用时方恨少
之前的A3试卷原始文件现在找不到了,时间久了,被系统清理掉了。
怎么办?
这个小问题可难不倒猫爸,他做了一个,横版A3格式。
请看gif视频,A3格式pdf文件转A4格式:
程序原理
程序是猫爸借鉴网上一位热心朋友的,小朋友网上搜索很容易找到的。
避免重复造轮子,这是猫爸常说的一句话。
什么意思呢?
就是鲁迅的拿来主义。
有现成好用的,直接拿来用就可以。
没有现成的,或者现成的效果太差不能用,那就自己造轮子。
就像我们的汽车产业,新能源弯道追赶并逐渐有超越之势,就是这个道理。
PDF格式的横版文件,怎么将A3格式转为A4格式呢?
程序的原理说起来很简单,就是把A3文件转换成A4尺寸图片,A3尺寸图片转成A4尺寸,A4尺寸图片再转换成A4的PDF格式,仅此而已。
这个程序用到了两个第三方库fitz和FPDF,需要先安装。
程序分为三个步骤:
第一个步骤将PDF拆分为多个图片,放在自动新建的images1文件夹中。
第二个步骤则将每个图片进行切割,切割后的图片放在自动创建的images2文件夹中。
第三个步骤则将images2文件夹中的每个图片合并成为PDF。
pdf_a3_to_a4下载
和猫妹学Python,目前在多个平台发文,尽可能多地帮助喜欢Python的小朋友。
可不同平台的编辑器都不一样,文字还好。
代码经常乱糟糟的,调整起来很花时间。
人的精力是有限的,精力应该用在刀刃上,在格式上花时间太不值得。
突然想到了秦始皇,统一六国,功在当代,利在千秋。
和猫妹学Python,目前比较看好的平台有BAT(某度某里某讯)中的BT,TMD(某条某团某滴)中的T。
其他的平台,有的没有定时发布、有的入口很难找、有的没有阅读、有的格式调节起来太难等。
需要的可执行文件的朋友,尽可能从猫妹喜欢的创作平台找到猫妹哦。
fitz库
有时我们需要将一份或者多份PDF文件中的图片提取出来,如果采取在线网站实现的话担心图片泄漏,手动操作又觉得麻烦,用Python可以轻松搞定!
比如基于 fitz 库和正则搜索、基于pdf2image 库的两种方法等。
fitz 是 pymupdf 的子模块,需要先用命令行安装 pymupdf:
pip install pymupdf
但注意导入时使用 import fitz 导入模块
如果以后有时间,又需要详细用到功能(Python轻松提取PDF中全部图片)时,和猫妹学Python,再专门整理一篇文章和大家分享。
FPDF库
FPDF是一个可用于创建PDF格式文件的纯PHP类,也就说不需要借助PDFlib库。
FPDF首部的F代表自由,自由软件的自由。
Python中所用到的FPDF是基于PHP版本的FPDF。
需要先用命令行安装 pymupdf:pip install fpdf
如果有时间,又需要详细用到功能(PDF生成器FPDF(Python))时,和猫妹学Python,再专门整理一篇文章和大家分享。
好了,今天的分享就到这里,谢谢大家的阅读。
Python操作PDF文件之A3页面转A4
你学会了吗?
先将A3格式PDF转成A4尺寸图片,再将A4尺寸图片转换为A4格式PDF。
图片提取用到了fitz库,生成PDF用到了FPDF库。
原理最重要哦!
我是猫妹,咱们下次见!