pythonでコードと同ディレクトリーにあるtest_pdf.pdfフィルをデフォールトのプリンターで印刷するコードを2種作りましたが第一案は(2, 'ShellExecute', '指定されたファイルが見つかりません。')エラーでNG、第2案はアクロバットリーダーは開くのですが「この文書を開くときにエラーが発生しました。ファイル名、ディレクトリー名****」のエラーが発生します。どちらでも結構出すがしょううせい方法をご教授ください。
第1案 testprint1.py
# testprint1.py # coding: utf-8 from __future__ import division, print_function, absolute_import, unicode_literals # ref: http://timgolden.me.uk/python/win32_how_do_i/print.html # ref: http://docs.activestate.com/activepython/2.7/pywin32/win32api__ShellExecute_meth.html import win32api import sys import os if __name__ == '__main__': os.chdir(os.path.dirname(os.path.abspath(__file__))) path = os.getcwd() pdf_file_name = path + "test_pdf" win32api.ShellExecute(0, "print", pdf_file_name, None, ".", 0)コード
第1案エラーメッセージ
Traceback (most recent call last):
File "c:\PyPost\testprint3.py", line 16, in <module>
win32api.ShellExecute(0, "print", pdf_file_name, None, ".", 0)
pywintypes.error: (2, 'ShellExecute', '指定されたファイルが見つかりません。')
第2案 testprint2.py
# testprint2.py from subprocess import call import win32api import win32print #acrobat = "C:\Program Files\Adobe\Acrobat 7.0\Acrobat.exe" ## Acrobat reader would also work, apparently acrobat = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" #file = "C:\path\to\my\file.pdf" file = "C:\PyPost\test_pdf.pdf" #printer = "Printer Name Goes Here" printer = win32print.GetDefaultPrinter() call([acrobat, "/T", file, printer])
第2案エラーメッセージ
アクロバットリーダーが実行され、その画面内に「この文書を開くときにエラーが発生しました。ファイル名、ディレクトリー名、ボリュームラベル名の構文が間違っています」のエラーメッセージが表示される
補足情報(FW/ツールのバージョンなど)
第1案又は2案どちらでもよいのですが、このPDFファイルを印刷する方法をご教授ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/06 03:26
2020/07/06 03:41
2020/07/06 04:24
2020/07/06 04:39
2020/07/06 05:41
2020/07/06 06:42
2020/07/06 09:37