2016-11-10 4 views
1

Я написал сценарий Python, который будет создавать PDF-файлы на основе папок с JPEG. Ничего необычного:FPDF создает пустые страницы в 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") 

Этот код, однако, приводит к тому, что PDF-страница имеет любую другую страницу. Достаточно интересно этот код:

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") 

производит файл с пустой первой страницей, а остальное верно.

Я не вижу очевидного исправления для этого - выглядит немного как библиотека fpdf. Или это не так?

+0

Кроме того, если вы ommit этот единственный add_page назвать код не - просто FYI – nimdil

+0

Пробовали ли вы меньший размер? Он может автоматически перейти на следующую страницу. – blueCat

ответ

1

Попробуйте отключить автоматический режим разрыва страницы в fpdf. Для этого позвоните по телефону set_auto_page_break(0). Я столкнулся с этой проблемой, и это было моим решением. Надеюсь, поможет!

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

Для получения дополнительной информации, пожалуйста, обратитесь к последней версии документации: http://pyfpdf.readthedocs.io/en/latest/reference/set_auto_page_break/

+0

Спасибо, к сожалению, я работал над проблемой, вероятно, еще в 2016 году, и я не думаю, что у меня есть код, который вызвал эту проблему. Не могу сказать, правильно ли это ответ. Спасибо, что вернулись к этому, хотя – nimdil