Note
Go to the endto download the full example code.
Multipage PDF#
This is a demo of creating a pdf file with several pages,as well as adding metadata and annotations to pdf files.
importdatetimeimportmatplotlib.pyplotaspltimportnumpyasnpfrommatplotlib.backends.backend_pdfimportPdfPages# Create the PdfPages object to which we will save the pages:# The with statement makes sure that the PdfPages object is closed properly at# the end of the block, even if an Exception occurs.withPdfPages('multipage_pdf.pdf')aspdf:plt.figure(figsize=(3,3))plt.plot(range(7),[3,1,4,1,5,9,2],'r-o')plt.title('Page One')pdf.savefig()# saves the current figure into a pdf pageplt.close()# if LaTeX is not installed or error caught, change to `False`plt.rcParams['text.usetex']=Trueplt.figure(figsize=(8,6))x=np.arange(0,5,0.1)plt.plot(x,np.sin(x),'b-')plt.title('Page Two')pdf.attach_note("plot of sin(x)")# attach metadata (as pdf note) to pagepdf.savefig()plt.close()plt.rcParams['text.usetex']=Falsefig=plt.figure(figsize=(4,5))plt.plot(x,x**2,'ko')plt.title('Page Three')pdf.savefig(fig)# or you can pass a Figure object to pdf.savefigplt.close()# We can also set the file's metadata via the PdfPages object:d=pdf.infodict()d['Title']='Multipage PDF Example'd['Author']='Jouni K. Sepp\xe4nen'd['Subject']='How to create a multipage pdf file and set its metadata'd['Keywords']='PdfPages multipage keywords author title subject'd['CreationDate']=datetime.datetime(2009,11,13)d['ModDate']=datetime.datetime.today()
Total running time of the script: (0 minutes 1.744 seconds)