2011-01-27 3 views

ответ

0

This будет отличным местом для начала. Это бесплатно, как в пиве.

+1

И если в документе есть изображения, вам, вероятно, понадобится использовать библиотеку изображений Python: http://www.pythonware.com/products/pil или что-то подобное. – Matt

+0

Удивительная находка, хороший модуль. – krs1

2

Установите драйвер принтера PDF, например CutePDF.

Используйте COM-автоматизацию для запуска MS Word; открыть файл, заполнить данные, распечатать файл в формате PDF.

Альтернативно: преобразование файла Word в форму PDF; используйте ReportLab для заполнения формы.

Альтернативно: распечатать файл Word в PDF-файле; используйте ReportLab для наложения текста на файл.

+0

+1 В зависимости от сложности Word Document другие «совместимые» инструменты не будут генерировать один и тот же вывод. Программный контроль Word может оказаться единственным решением для некоторых людей. – Samiuela

9

Вы можете использовать OpenOffice, если он доступен в системе.

import subprocess 
import shutil 

input_filename = 'input.doc' 
output_filename = 'output.pdf' 

p = subprocess.Popen(['unoconv', '--stdout', input_filename], stdout=subprocess.PIPE) 
with open(output_filename, 'w') as output: 
    shutil.copyfileobj(p.stdout, output) 

Вы также можете посмотреть на unoconv «s исходный код, если вы хотите сделать это непосредственно с привязками Python для UNO/OpenOffice COM.

Смежные вопросы