調べたところ,PDFを一旦画像ファイルにする必要があると書かれた記事を複数見つけたが,それしか方法はないのでしょうか?
画像に変換してキャンバスに張り付けるのが容易な方法です。
注意点は、画像なのでテキストをマウスカーソルで選択できなくなる点。
自分で parse して描画する方法もありますが、
自力でPDF parser/render を実装するだけの労力が必要になります。
不特定多数のPDFを表示には向いてません。
他の方法
PDF表示やファイルのドラッグアンドドロップをサポートしてます。
(インストールするとコードを含めデモがあります。追加ライブラリは必要。)
2020-04-09現在
wxでは2通りのPDF表示に対応していたのですが、
- ActiveX版は Python3.x 対応してない様で 古いバージョンで Pythonも 2.7 を使う必要がありました。
- ライブラリで処理する方は、対応しているPDF形式が限定的。
PDFのページが複数あるときにできるだけ全てを表示したいが可能か?最悪ページ番号をTkinterで入力することも視野に入れてはいる。
縦長でスクロールバーを使う事になると思いますが、
1ページでも表示できたのなら、出来る出来ないで言えば可能です。
巨大なPDFファイルを表示する際のメモリ制限等、いくつか懸念事項は有ります。
ドラッグアンドドロップについてはTkinterで実現するため別途インストールするものがあるかもしれないが、exe化して他のWindowsPCで起動したときに、インストールしていないデバイスでも使えるか?
具体的に何をインストールするのでしょうか。
ファイルのドラッグアンドドロップは、tkinter ではサポートされておらず、
OS毎に異なる方法を取ることになると思います。
別途インストールがPythonのライブラリで exeしたパッケージに含むなら、
別PCでのインストールは不要ですが、
システムに影響を及ぼすものは、環境毎にインストールが必要になる可能性はあります。
例えば、tkDocViewer であれば Ghostscript に PATH を通す必要あり。
(配布の際はライセンスにも注意が必要です)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/10 00:18
2020/04/10 00:28
2020/04/10 05:38