2012-02-01 32 views
5

私はプログラム的にxlwtを使用したExcelシートをPythonで作っています。それはすべてうまくいったが、今私はそれらをすべてpdfに変換する必要がある。私はpywin32とcomのインタフェースでこれをしようとしてきました。COMインターフェイスを使用したExcelシートの印刷

import win32com.client 
o = win32com.client.Dispatch("Excel.Application") 
o.Visible = 1 
wb = o.Workbooks.Open('foo.xls') 
ws = wb.Worksheets[1] 
ws.printout() 

しかし、私はこれを行うと、残念ながら、それは私がPDFファイルを保存するパスのために私を求め日干しプリンタ画面をポップアップし、私はそれを入力する必要がある場合:私はこのように行くことによって多少近づくことができますまたはページごとに[OK]をクリックすると、プログラム的に行う目的が無効になります。私は手動ではなく、Pythonコードでこのパスを入力する方法はありますか?これらのブックのそれぞれをPDFに変換するには、より良い方法がありますか? ありがとう、 アレックス

+1

残念ながら、それはAdobe PDFプリンタドライバのデフォルト動作です。 –

+0

PrintOut()で大文字と小文字が区別されることがわかりました。 – Norfeldt

答えて

5

PrintOutメソッドを使用する代わりに、ExportAsFixedFormatを使用してください。 pdf形式を指定してファイル名を指定することができます。これを試してください:

ws.ExportAsFixedFormat(0, 'c:\users\alex\foo.pdf') 
+0

それはそれをしました!どうもありがとう。 –

0

PDF形式で保存するか、PDF形式で印刷することができます。それはあなたのプリントドライバの問題を回避するはずです。

+0

こんにちは、どうしたらいいですか? –

関連する問題