from fpdf import FPDF title='20000 Leagues Under the Seas' class PDF(FPDF): def header(self): #Arial bold 15 self.set_font('Arial','B',15) #Calculate width of title and position w=self.get_string_width(title)+6 self.set_x((210-w)/2) #Colors of frame, background and text self.set_draw_color(0,80,180) self.set_fill_color(230,230,0) self.set_text_color(220,50,50) #Thickness of frame (1 mm) self.set_line_width(1) #Title self.cell(w,9,title,1,1,'C',1) #Line break self.ln(10) def footer(self): #Position at 1.5 cm from bottom self.set_y(-15) #Arial italic 8 self.set_font('Arial','I',8) #Text color in gray self.set_text_color(128) #Page number self.cell(0,10,'Page '+str(self.page_no()),0,0,'C') def chapter_title(self,num,label): #Arial 12 self.set_font('Arial','',12) #Background color self.set_fill_color(200,220,255) #Title self.cell(0,6,"Chapter %d : %s"%(num,label),0,1,'L',1) #Line break self.ln(4) def chapter_body(self,name): #Read text file txt=file(name).read() #Times 12 self.set_font('Times','',12) #Output justified text self.multi_cell(0,5,txt) #Line break self.ln() #Mention in italics self.set_font('','I') self.cell(0,5,'(end of excerpt)') def print_chapter(self,num,title,name): self.add_page() self.chapter_title(num,title) self.chapter_body(name) pdf=PDF() pdf.set_title(title) pdf.set_author('Jules Verne') pdf.print_chapter(1,'A RUNAWAY REEF','20k_c1.txt') pdf.print_chapter(2,'THE PROS AND CONS','20k_c2.txt') pdf.output('tuto3.pdf','F')