溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么更改pdf格式圖片的寬和高

發(fā)布時間:2021-11-25 11:45:55 來源:億速云 閱讀:730 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“python怎么更改pdf格式圖片的寬和高”,在日常操作中,相信很多人在python怎么更改pdf格式圖片的寬和高問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python怎么更改pdf格式圖片的寬和高”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

葉綠體基因組類的文章通常都會用OGDRAW來畫圈圖,我自己通常會保存為pdf格式,調(diào)整一些細節(jié),然后在使用Adobe Acrobat Pro 另存為其他格式的圖片。這個時候如果在設置里選擇300像素/厘米的話,他會提示 圖像太寬,無法輸出。這個時候自然就想到能不能把pdf格式的圖片長寬調(diào)整一下。

搜素 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
 

返回的結(jié)果是

RectangleObject([0, 0, 457, 468]) 

后面兩個數(shù)字分別是 寬和高 The format is ['0', '0', width, height]

這個數(shù)字的單位是 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格式圖片的寬和高”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI