回答編集履歴

2

コード修正

2020/07/06 04:52

投稿

can110
can110

スコア38260

test CHANGED
@@ -26,6 +26,8 @@
26
26
 
27
27
  pdf_file_name = os.path.join(path, "test.pdf")
28
28
 
29
+ print( pdf_file_name, os.path.exists(pdf_file_name)) # ファイルの存在確認
30
+
29
31
  win32api.ShellExecute(0, "print", pdf_file_name, None, ".", 0)
30
32
 
31
33
  ```

1

追記

2020/07/06 04:52

投稿

can110
can110

スコア38260

test CHANGED
@@ -1 +1,31 @@
1
1
  第一案にて`os.getcwd()`の戻り値のディレクトリ文字列の末尾にはパス区切り記号はついていないので`pdf_file_name = os.path.join(path, "test~")`なりで結合する必要があります。
2
+
3
+
4
+
5
+ ###追記
6
+
7
+ Win10, Anaconda(Python3.7.7), `.pdf`は`Adobe Acrobat Reader DC`に関連付けた環境にて
8
+
9
+ 以下`test.py`と`test.pdf`をデスクトップ上に配置し`Anaconda Prompt`にて実行したところ正常に既定のプリンタで印刷できました。
10
+
11
+ ```Python
12
+
13
+ import win32api
14
+
15
+ import sys
16
+
17
+ import os
18
+
19
+
20
+
21
+ if __name__ == '__main__':
22
+
23
+ os.chdir(os.path.dirname(os.path.abspath(__file__)))
24
+
25
+ path = os.getcwd()
26
+
27
+ pdf_file_name = os.path.join(path, "test.pdf")
28
+
29
+ win32api.ShellExecute(0, "print", pdf_file_name, None, ".", 0)
30
+
31
+ ```