def generate_teilnehmerliste(): a_title = DIR_TEILNEHMERLISTE + "Teilnehmer.pdf" pdf = PDFDocument(a_title) pdf.init_report() pdf.p_markup(date.today(), pdf.style.right) pdf.spacer(20) pdf.h1("Teilnehmer Skifahren 2017") pdf.hr_mini() pdf.spacer(20) familys = Familys.query.all() for family in familys: pdf.h3(family.f_name) q = db.query(Members).join(Familys).filter_by(f_name=family.f_name) members = [] for result in db.execute(q): members.append(result[2] + " " + result[3]) pdf.ul(members) pdf.spacer(10) pdf.p("Info:") pdf.p(family.f_info) pdf.spacer(20) pdf.hr() pdf.generate() return os.path.abspath(a_title)
import json from io import BytesIO from pdfdocument.document import PDFDocument if __name__ == "__main__": with open('elpais_mvm.json') as json_file: articles = json.load(json_file) f = BytesIO() pdf = PDFDocument(f) pdf.init_report() for article in articles: pdf.h1(article['title']) pdf.smaller(article['date']) pdf.p(article['content']) pdf.h3('Tags') pdf.smaller(', '.join(article['tags'])) pdf.next_frame() pdf.generate() with open('mvm_articles.pdf', 'w') as file: file.write(f.getvalue())