I need to fill in a document and then try and convert it into a PDF.
Any idea how I can do this?
I need to fill in a document and then try and convert it into a PDF.
Any idea how I can do this?
You can use OpenOffice if it is available on the system.
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)
You can also look at unoconv
's source code if you want to do it directly with the Python bindings for UNO/OpenOffice COM.
Install a PDF printer driver like CutePDF.
Use COM automation to run MS Word; open the file, fill in the data, print the file as a PDF.
Alternatively: convert the Word file into a PDF form; use ReportLab to fill in the form.
Alternatively: print the Word file to a PDF file; use ReportLab to overlay text on the file.