亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python 轉換和合并圖像和 PDF

使用 Python 轉換和合并圖像和 PDF

30秒到達戰場 2023-04-25 16:23:14
所以,我正在嘗試僅使用 Python 組合多個文件(PDF 和圖像)。到目前為止設法處理 PDF 和“JPG”圖像。但是,每次我嘗試使用 PIL 將“PNG”圖像轉換為 PDF 時,都會彈出一個錯誤提示“ValueError:無法保存模式 RGBA”。我知道 PIL 可以將“RGBA”轉換為“RGB”,但由于某些原因,下面的代碼無法正常工作。任何想法為什么?PS:一周前開始學習Python,如果對你來說很明顯,請客氣。
查看完整描述

2 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

您需要先將 PNG 從 RGBA 轉換為 RGB。Png 有一個額外的 alpha 通道,因此是 RGBA。RGBA 是 32 位的,而 RGB 是 24 位的。正如這里提到的

示例代碼:

from PIL import Image


PNG_FILE = 'a.png'

PDF_FILE = 'b.pdf'


rgba = Image.open(PNG_FILE)

rgb = Image.new('RGB', rgba.size, (255, 255, 255))? # white background

rgb.paste(rgba, mask=rgba.split()[3])? ? ? ? ? ? ? ?# paste using alpha channel as mask

rgb.save(PDF_FILE, 'PDF', resoultion=100.0)



查看完整回答
反對 回復 2023-04-25
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

您需要先將 PNG 從 RGBA 轉換為 RGB,如下所示:

from PIL import Image


PNG_FILE = 'image.png'

PDF_FILE = 'doc.pdf'


rgba = Image.open(PNG_FILE)

rgb = Image.new('RGB', rgba.size, (255, 255, 255))? # white background

rgb.paste(rgba, mask=rgba.split()[3])? ? ? ? ? ? ? ?# paste using alpha channel as mask

rgb.save(PDF_FILE, 'PDF', resoultion=100.0)


查看完整回答
反對 回復 2023-04-25
  • 2 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號