この記事では、Tkinter GUI で PDF ファイルを表示する方法を説明します。 PyMuPDF ライブラリを使用して PDF ファイルを読み取り、画像に変換し、Tkinter を使用して画像を表示します。
このタスクでは、次の手順を実行します -
PDF ファイルを読んでください。
画像を取得するために PDF ページに適用される変換行列を定義します。
エラーチェック用の総ページ数を計算します。
GUIの画面(キャンバス)を定義します。
PDF ページを PIL イメージに変換するためのヘルパー関数を定義します。
GUI でページ画像を表示する関数を定義します。
ボタン、ラベル、スクロールバーなどを追加して設定します。
まず、ターミナルで次のコマンドを実行して、PyMuPDF パッケージをインストールします。
リーリー次に、使用するライブラリをインポートする必要があります。インポート・フィッツ
リーリーここでの fitz は、PDF ページを画像として取得するために PyMuPDF ライブラリで提供されるユーティリティ ライブラリです。
最初に、fitz.open 関数を使用して、GUI に表示する PDF ファイルを開きます。これにより、ページへのアクセスに使用できるドキュメント オブジェクトが返されます。
リーリー次に、ページの表示方法を指定する必要があります。以下の行列関数を定義することで、1x スケーリングを維持するために「調整」できます。
リーリーページ数も数えてみましょう -
リーリー次に、画面を定義し、スクロールバーとキャンバスをコードに追加します -
リーリーここでは、画面は「root」という名前で表されており、サイズは 750x700 です。また、スクロールバーを追加し、それが右側にあり、高さ全体を満たすように指定しました。もう一度、左側にキャンバスを追加し、両側の画面全体を埋めます。
ユーザーが読みたいページ番号を受け取るには、入力としてページ番号が必要です。できるよ - ### リーリー リーリー
パラメータ「root」は、これらのオブジェクトが画面「root」に関連付けられることを示します。次に、ページ番号から PDF ファイルの画像を取得するヘルパー関数を定義します。
リーリー
ここでは、まず doc.load_page を使用してページをロードし、ページ番号をパラメータとして渡します。次に、PDF ページを変換して、2 行目のページのピクセル表現を取得します。最後に、ピクセル表現を PIL 画像形式に変換します。次に、Tkinter GUI で画像を表示する関数 show_image を定義します。
リーリー
まず、以前に定義したエントリ ポイントからページ番号を読み取り、それを整数に変換します。有効な整数でない場合、例外が発生し、例外ブロックが処理します。次に、ページ番号が 0 またはページ数の間であるかどうかを確認します。これは、表示できる唯一の有効なページ範囲であるためです。次に、前に定義したヘルパー関数を使用して、ユーザー指定のページの PIL イメージを取得します。次に、画像が正しく表示されるようにフレーム、パネル、キャンバスを設定します。次に、ページを表示するボタンを追加します。関数「show_image」をコマンドとして渡します。したがって、ボタンが押されるたびに、「show_image」関数が呼び出されます。
リーリー
次に、前に定義したさまざまなコンポーネントの視覚的な位置を設定します -リーリー
また、次のように、最初のページを PDF の最初のページに設定します -リーリー
スクロールバーを設定しますリーリー
最後に、コンピューターによる破損を避けるために PDF を閉じます。リーリー ###出力###
プログラムを実行すると、次の出力が表示されます。この記事では、PyMuPDF ライブラリを Pillow および Tkinter とともに使用して、Tkinter GUI で PDF ファイルを表示する方法を説明します。また、ページ数の数え方、PDF ページを画像に変換する方法、インタラクティブなボタンを作成する方法、GUI を構成するさまざまな要素を視覚的に配置する方法も学びました。
以上がTkinter GUI Python に PDF を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。