2012-02-01 83 views
5

我在編程上用xlwt在python中製作了一堆Excel工作表。這一切都很好,但現在我需要將它們全部轉換爲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的路徑,如果我必須輸入在或點擊確定每一頁它擊敗編程的目的。有沒有什麼辦法可以在python代碼中輸入這個路徑而不是手動輸入?有沒有更好的方法將這些工作簿中的每個工作表轉換爲pdf? 非常感謝, 亞歷克斯

+1

不幸的是,這是Adobe PDF打印機驅動程序的默認行爲。 – 2012-02-01 02:01:28

+0

我發現PrintOut()區分大小寫。 – Norfeldt 2013-11-04 13:21:56

回答

5

而不是使用PrintOut方法,使用ExportAsFixedFormat。您可以指定pdf格式並提供一個文件名。試試這個:

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

這樣做!非常感謝。 – 2012-02-01 15:16:45

0

您可以做一個PDF保存或打印到PDF。這應該繞過你的打印驅動程序問題。

+0

嗯好的,對不起,我該怎麼做? – 2012-02-01 02:51:58