2012-02-01 33 views
5

Tôi đã lập trình tạo một loạt các trang tính Excel với xlwt trong python. Tất cả đều ổn, nhưng bây giờ tôi cần phải chuyển đổi tất cả sang pdf. Tôi đã cố gắng để làm điều này với pywin32 và giao diện com. Tôi có thể lấy một chút chặt chẽ bằng cách như thế này:In các trang tính Excel với giao diện COM

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

Nhưng tiếc là khi tôi làm điều này nó bật lên màn hình máy in adobe hỏi tôi cho con đường tôi muốn lưu pdf để, và nếu tôi phải nhập mà trong hoặc nhấp vào ok cho mỗi trang nó đánh bại mục đích làm nó theo chương trình. Có cách nào tôi có thể nhập đường dẫn này trong mã python chứ không phải bằng tay? Có cách nào tốt hơn để chuyển đổi từng tờ này trong mỗi sổ làm việc này thành pdf không? Cảm ơn rất nhiều, Alex

+1

Thật không may đó là hành vi mặc định của trình điều khiển máy in Adobe PDF. –

+0

Tôi thấy rằng PrintOut() phân biệt chữ hoa chữ thường. – Norfeldt

Trả lời

5

Thay vì sử dụng phương pháp PrintOut, hãy sử dụng ExportAsFixedFormat. Bạn có thể chỉ định định dạng pdf và cung cấp tên tệp. Hãy thử điều này:

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

Điều đó đã làm được! Cảm ơn rất nhiều. –

0

Bạn có thể lưu dưới dạng PDF hoặc in sang PDF. Điều đó sẽ bỏ qua các vấn đề trình điều khiển in của bạn.

+0

hmm ok, xin lỗi tôi làm cách nào để làm điều đó? –

Các vấn đề liên quan