2013-02-08 2 views
1

J'essaie d'enregistrer un fichier PDF généré par reportlab à un emplacement spécifique. C'est possible? Code crée le pdf dans son propre répertoire.reportlab enregistrer l'emplacement

def myFirstPage(canvas, doc): 
    canvas.saveState() 
    canvas.setFont('Times-Bold',16) 
    canvas.drawCentredString(PAGE_WIDTH/2.0, PAGE_HEIGHT-108, Title) 
    canvas.setFont('Times-Roman',9) 
    canvas.restoreState() 

def create_pdf(sometext): 
    doc = SimpleDocTemplate("myfile.pdf") 
    Story = [Spacer(1,2*inch)] 
    style = styles["Normal"] 
    bogustext = ("There is something: %s. " % sometext) 
    p = Paragraph(bogustext, style) 
    Story.append(p) 
    Story.append(Spacer(1,0.2*inch)) 
    doc.build(Story, onFirstPage=myFirstPage) 

Répondre

2

Oui, cela est possible. Je recommande d'utiliser os.path.join pour construire le chemin. Exemple:

import os 

def create_pdf(sometext): 
    outfilename = "myfile.pdf" 
    outfiledir = '/somedir' 
    outfilepath = os.path.join(outfiledir, outfilename) 
    doc = SimpleDocTemplate(outfilepath) 
    # ...