2016-11-10 3 views
1

Ich schrieb Python-Skript, das PDFs basierend auf Ordnern mit JPEGs erzeugen wird. Nothing fancy:FPDF erzeugt leere Seiten in Python

import os 
from fpdf import FPDF 

folders = [ ... here are numbers - folders are numbered ... ] 

for folder in folders: 
    pdf = FPDF()   
    for fil in os.scandir("parent folder" + str(folder) + "/"): 
     pdf.add_page() 
     pdf.image(fil.path, w=210, h=297) 
    pdf.output("target location/" + str(folder) + ".pdf", "F") 

Dieser Code jedoch ergibt PDF mit jeder zweiten Seite leer. Interessanterweise ist dieser Code:

import os 
from fpdf import FPDF 

folders = [ ... here are numbers - folders are numbered ... ] 

for folder in folders: 
    pdf = FPDF()   
    pdf.add_page() 
    for fil in os.scandir("parent folder" + str(folder) + "/"): 
     pdf.image(fil.path, w=210, h=297) 
    pdf.output("target location/" + str(folder) + ".pdf", "F") 

erzeugt Datei mit leeren ersten Seite und der Rest ist korrekt.

Ich sehe keine offensichtliche Lösung dafür - sieht ein bisschen wie eine fpdf-Bibliothek. Oder ist es nicht?

+0

Auch wenn Sie dieses Einzel add_page ommit rufen Sie den Code nicht - gerade FYI – nimdil

+0

Haben Sie versucht, eine kleinere Dimension? Es kann automatisch zur nächsten Seite wechseln. – blueCat

Antwort

1

Versuchen Sie, den automatischen Seitenumbruchmodus in fpdf zu deaktivieren. Um dies zu tun, rufen Sie bitte set_auto_page_break(0). Ich stand vor diesem Problem und das war meine Lösung. Ich hoffe es hilft!

from fpdf import FPDF 
pdf = FPDF() 
pdf.set_auto_page_break(0) 

Weitere Informationen finden Sie in der aktuellen Dokumentation: http://pyfpdf.readthedocs.io/en/latest/reference/set_auto_page_break/

+0

Danke, leider habe ich das Problem wahrscheinlich noch 2016 bearbeitet und ich glaube nicht, dass ich einen Code habe, der dieses Problem ausgelöst hat. Kann nicht wirklich kommentieren, ob es richtige Antwort ist. Danke, dass du zurückkommst – nimdil