発生している問題・エラーメッセージ
pythonでsqlite3、tkinter、ReportLabを等を使い自分用フォームデータベースソフトを作っています。tkinteの「印刷」ボタンにbtn_print_clickを下記の様に作り住所録単票を印字し住所録帳を作成しています。
個々のデータは別途「print_string(self, pdf_canvas)」でpdf形式にはめ込んでいます。
印字は正常にできますが、印字終了後にアクロバットリーダーが終了できず画面に表示されたままになります。
コード内にはアクロバットリーダーで印字するコード「 os.startfile(pdf_file_name, "print")」はありますが、閉じるコードが有りません。
PCで印字作業終了を感知しアクロバットリーダーを閉じる方法をご教授ください。
追伸
「回答が得られませんでしたか?」メールをもらいました。質問内容に不足点がありましたらご指摘ください。初心者の為、過不足の判断が出来かねます。
該当のソースコード
def btn_print_click(self): # 前に使ったPDFファイルを削除 os.chdir(os.path.dirname(os.path.abspath(__file__))) path = os.getcwd() pdf_file_name = os.path.join(path,"temp_pdf" + ".pdf") if os.path.isfile("temp_pdf.pdf"): os.remove(pdf_file_name) # 印刷データをPDF形式で作成し、A5サイズ設定 pdf_canvas = canvas.Canvas("./{0}.pdf".format(filename)) pdf_canvas.setPageSize(portrait(A5)) # PDFファイル形式設定と住所録データ流し込み(別途作成def) print_string(self, pdf_canvas) pdf_canvas.save() # プリンター印刷の実行 os.startfile(pdf_file_name, "print") ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー