Aug 14, 2023
Python を使用して画像を PDF に変換する方法
画像を PDF に整理し、Tkinter を使用してこの便利なユーティリティを構築する方法を学びます。 ビジネスレポートから写真ポートフォリオまで、PDF で画像を使用する必要が生じることがよくあります。 アン
画像を PDF に整理し、Tkinter を使用してこの便利なユーティリティを構築する方法を学びます。
ビジネスレポートから写真ポートフォリオまで、PDF で画像を使用する必要が生じることがよくあります。 画像から PDF へのコンバーターは、プロセスを合理化するのに役立ちます。 オンラインで利用できる無料ツールは数多くありますが、画像をアップロードする必要があるため、プライバシーやセキュリティ上の懸念がある場合があります。
代わりに、Python を使用してオフラインの画像から PDF へのコンバーターを構築できます。 JPG または PNG 形式で複数の画像を選択し、プレビューを表示し、元の画像サイズを維持したまま PDF に変換します。
Tkinter は、Python の標準 GUI ライブラリです。 ボタン、ラベル、テキスト ボックスなどのさまざまなウィジェットを提供し、音楽プレーヤーや体重変換ツールなどのアプリを簡単に開発できます。 システムに Tkinter をインストールするには、ターミナルを開いて次のように入力します。
Pillow モジュールは、サイズ変更、トリミング、フィルタリングなどの画像操作を簡単に実行できる強力な Python イメージング ライブラリです。 これを OpenAI API および DALL・E 2 と統合することで、テキスト プロンプトを使用して画像を生成できます。
Pillow をインストールするには、次のコマンドを実行します。
ReportLab は、PDF とグラフィックを生成するためのオープンソース Python ライブラリです。 画像、テキスト、表を含むドキュメントを生成するために使用できるさまざまなツールがあり、プログラミングによるレポートの生成に役立ちます。 これを使用すると、テキストの透かしを追加しながら、ビジネス レポート、請求書、証明書を作成できます。 ReportLab をインストールするには:
Python を使用して画像から PDF へのコンバーターを構築するためのソース コード全体は、この GitHub リポジトリで見つけることができます。
必要なモジュールをインポートし、という名前のクラスを作成します。画像からPDFへのコンバーター 。 クラスを初期化し、Tkinter のルート ウィンドウ オブジェクトを引数として受け取るコンストラクター メソッドを定義します。 ユーザーが選択した画像のパスを保存する空のリストを初期化します。 アプリケーションのタイトルとサイズを設定します。 という名前の 2 つのボタンを作成します。画像の選択そしてPDFに変換。
ボタンを配置するウィンドウ、表示するテキスト、クリック時に実行するコマンド、適用するフォント形式を渡します。 を使用してボタンを整理します。パック()メソッドを使用し、垂直方向に 10 のパディングを与えます。
ラベルを配置する親ウィンドウ、表示するテキスト、使用するフォント形式、および 10 (ピクセル) の垂直パディングを渡すことによって、ラベルを定義します。
同様に、選択した画像をプレビューするフレームを定義し、その親ウィンドウ、幅、高さを設定します。 パディング10で整理します。
メソッドを定義し、select_images() 。 Tkinter を使用するファイルダイアログクラスを使用してダイアログ ボックスを開き、複数の画像を選択してそれらを画像パスリスト。 ダイアログ ボックスが開く最初のディレクトリ、表示されるタイトル、および選択できるファイルの種類を渡します。
ユーザーが選択した画像のすべてのパスを反復するループを定義します。 枕を使用する開ける()メソッドを使用して画像ファイルを開き、そのファイルが持つ必要のある最大サイズをサイズ変更メソッドに渡します。 この PIL イメージを次のように変換します写真画像 Tkinter と互換性があります。 先ほど作成したプレビュー フレーム内にラベルを作成し、画像を表示します。 使用グリッドマネージャーは、3 列のグリッド レイアウトで画像を整理します。
メソッドを定義し、サイズ変更_画像()画像のサイズと、前に定義した最大サイズを考慮して画像のサイズを変更します。 アスペクト比を計算し、それを使用して新しい幅と高さを設定します。 PIL のサイズ変更メソッドを使用して、アスペクト比を維持したまま画像のサイズを変更します。 より滑らかな結果を得るには、リサンプリングとして共一次補間を使用します。
関数を定義し、Convert_to_pdf() 。 ファイルダイアログを使用して、PDF の宛先パスを尋ねます。 デフォルトの拡張子とファイルタイプを次のように設定します。