扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“python怎么更改pdf格式图片的宽和高”,在日常操作中,相信很多人在python怎么更改pdf格式图片的宽和高问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么更改pdf格式图片的宽和高”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信平台小程序开发,十余年建站对成都建筑动画等多个行业,拥有丰富的营销推广经验。
叶绿体基因组类的文章通常都会用OGDRAW来画圈图,我自己通常会保存为pdf格式,调整一些细节,然后在使用Adobe Acrobat Pro 另存为其他格式的图片。这个时候如果在设置里选择300像素/厘米的话,他会提示 图像太宽,无法输出。这个时候自然就想到能不能把pdf格式的图片长宽调整一下。
搜素 python更改pdf宽和高 找到 https://stackoverflow.com/questions/6536552/resize-pdf-pages-in-python
想更改 pdf的宽和高,首先得知道pdf的宽和高
使用Adobe Acrobat Pro 软件通过文件 —— 属性 可以查看图片的长宽,单位是厘米
python中的PyPDF2模块也可以获取长宽信息
代码是
import PyPDF2
pdf1 = PyPDF2.PdfFileReader("01.pdf")
pdf1.getPage(0).mediaBox
返回的结果是
RectangleObject([0, 0, 457, 468])
后面两个数字分别是 宽和高 The format is ['0', '0', width, height]
这个数字的单位是 pt,一个pt等于 1/72个 inch,一个inch等于2.54个厘米
看到这我突然想明白一个道理 使用Adobe Acrobat Pro 软件 另存为图片的时候 选择分辨率的时候有一个选项是 118.11 像素/厘米,我还一直纳闷为啥这么有零有整的。原来118.11 * 2.54 等于 299.9994 约等于 300 ,原来这个选项就是我们常说的 300 dpi (dot per inch) 哈哈哈。
缩放pdf用到的代码
import PyPDF2
pdf = PyPDF2.PdfFileReader("001_Figure1.pdf")
p0 = pdf.getPage(0)
p0.scaleBy(0.5)
writer = PyPDF2.PdfFileWriter()
writer.addPage(p0)
with open("01.pdf",'wb+') as f:
writer.write(f)
001_Figure1.pdf
这个pdf文件对应的宽和高 是32.240 * 33.016 厘米 scaleBy(0.5) 以后 变成了 16.120 * 16.508
这个时候再另存为 就不会有 图像太宽,无法输出的提示了。
到此,关于“python怎么更改pdf格式图片的宽和高”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流