温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么更改pdf格式图片的宽和高

发布时间:2021-11-25 11:45:55 来源:亿速云 阅读:698 作者:iii 栏目:大数据

这篇文章主要介绍“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格式图片的宽和高”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI