質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4470閲覧

pythonで写真をPDFに変換

harusugi

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/03/20 03:31

前提・実現したいこと

pythonですでにpathがわかっている写真をPDFに変換したいのですが、変換後のpdfを開くことができません。
そもそも使い方が間違っているのではないかと思っていますが、pdf自体は作成することができました。

発生している問題・エラーメッセージ

PS D:\pyworks> python pdf.py WARNING:root:Image contains transparency which cannot be retained in PDF. WARNING:root:img2pdf will not perform a lossy operation. WARNING:root:You can remove the alpha channel using imagemagick: WARNING:root: $ convert input.png -background white -alpha remove -alpha off output.png Traceback (most recent call last): File "pdf.py", line 9, in <module> f.write(img2pdf.convert(path)) File "C:\Users\crx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\img2pdf.py", line 1829, in convert ) in read_images(rawdata, kwargs["colorspace"], kwargs["first_frame_only"]): File "C:\Users\crx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\img2pdf.py", line 1225, in read_images imgdata, imgformat, default_dpi, colorspace, rawdata File "C:\Users\crx\AppData\Local\Programs\Python\Python37-32\lib\site-packages\img2pdf.py", line 990, in get_imgmetadata raise Exception("Refusing to work on images with alpha channel") Exception: Refusing to work on images with alpha channel PS D:\pyworks> コード

該当のソースコード

import os import img2pdf if __name__ == '__main__': pdfFileName = "output.pdf" ext = ".png" path = r"D:/pyworks/ab.png" with open(pdfFileName, "w") as f: f.write(img2pdf.convert(path)) コード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2019/03/20 03:34

「Refusing to work on images with alpha channel」ということなのでは?入力画像を色々と変更して確認されてはいかがでしょうか。
harusugi

2019/03/20 05:02

回答ありがとうございます。 他の写真で試したところうまくできました。png,jpeg関係なく、この写真に問題があったみたいです。 この写真がなぜできないのかは謎ですが、一旦前に進むことができました。 ありがとうございますm(__)m
t_obara

2019/03/20 07:05

この写真ができないのは、エラーで指摘の通りですよ
t_obara

2019/03/20 08:33

ちなみに、本問題が解決したということであれば、自己解決で良いので閉じていただけると良いかと。
harusugi

2019/03/21 07:34

alpha channelというものがよくわからないです。勉強不足ですみません。 そうですね、今回の件は無事片付いたので良かったです。 t_obaraさんの回答が早くてとても助かりました。 ありがとうございました
guest

回答1

0

ベストアンサー

WARNING:root:Image contains transparency which cannot be retained in PDF.
・透過画像は処理できないという警告

WARNING:root:You can remove the alpha channel using imagemagick:
・アルファチャンネル(透過度表現データ)を除けという警告

これらがあるので、元が透過を含む画像(png, gif)だからエラーが出ているのではないでしょうか。jpegとか透過をサポートしない画像ならいけそうです。

投稿2019/03/20 09:12

jeanbiego

総合スコア3966

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

harusugi

2019/03/21 07:35

回答ありがとうございます 解決してよかったです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問