|
7 | 7 | from pylab import * |
8 | 8 |
|
9 | 9 | # Create the PdfPages object to which we will save the pages: |
10 | | -pdf = PdfPages('multipage_pdf.pdf') |
11 | | - |
12 | | -figure(figsize=(3,3)) |
13 | | -plot(range(7), [3,1,4,1,5,9,2], 'r-o') |
14 | | -title('Page One') |
15 | | -savefig(pdf, format='pdf') # note the format='pdf' argument! |
16 | | -close() |
17 | | - |
18 | | -rc('text', usetex=True) |
19 | | -figure(figsize=(8,6)) |
20 | | -x = np.arange(0,5,0.1) |
21 | | -plot(x, np.sin(x), 'b-') |
22 | | -title('Page Two') |
23 | | -pdf.savefig() # here's another way - or you could do pdf.savefig(1) |
24 | | -close() |
25 | | - |
26 | | -rc('text', usetex=False) |
27 | | -fig=figure(figsize=(4,5)) |
28 | | -plot(x, x*x, 'ko') |
29 | | -title('Page Three') |
30 | | -pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig |
31 | | -close() |
32 | | - |
33 | | -# We can also set the file's metadata via the PdfPages object: |
34 | | -d = pdf.infodict() |
35 | | -d['Title'] = 'Multipage PDF Example' |
36 | | -d['Author'] = u'Jouni K. Sepp\xe4nen' |
37 | | -d['Subject'] = 'How to create a multipage pdf file and set its metadata' |
38 | | -d['Keywords'] = 'PdfPages multipage keywords author title subject' |
39 | | -d['CreationDate'] = datetime.datetime(2009,11,13) |
40 | | -d['ModDate'] = datetime.datetime.today() |
41 | | - |
42 | | -# Remember to close the object - otherwise the file will not be usable |
43 | | -pdf.close() |
44 | | - |
45 | | -# Or use the with statement, the file gets properly closed at the end: |
46 | | -with PdfPages('multipage_pdf2.pdf') as pdf: |
47 | | - |
48 | | - figure(figsize=(3, 3)) |
49 | | - plot(range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o') |
| 10 | +# The with statement makes sure that the PdfPages object is closed properly at |
| 11 | +# the end of the block, even if an Exception occurs. |
| 12 | +with PdfPages('multipage_pdf.pdf') as pdf: |
| 13 | + figure(figsize=(3,3)) |
| 14 | + plot(range(7), [3,1,4,1,5,9,2], 'r-o') |
50 | 15 | title('Page One') |
51 | | - pdf.savefig() |
| 16 | + pdf.savefig() # saves the current figure into a pdf page |
52 | 17 | close() |
53 | 18 |
|
54 | 19 | rc('text', usetex=True) |
55 | | - figure(figsize=(8, 6)) |
56 | | - x = np.arange(0, 5, 0.1) |
| 20 | + figure(figsize=(8,6)) |
| 21 | + x = np.arange(0,5,0.1) |
57 | 22 | plot(x, np.sin(x), 'b-') |
58 | 23 | title('Page Two') |
59 | 24 | pdf.savefig() |
60 | 25 | close() |
| 26 | + |
| 27 | + rc('text', usetex=False) |
| 28 | + fig=figure(figsize=(4,5)) |
| 29 | + plot(x, x*x, 'ko') |
| 30 | + title('Page Three') |
| 31 | + pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig |
| 32 | + close() |
| 33 | + |
| 34 | + # We can also set the file's metadata via the PdfPages object: |
| 35 | + d = pdf.infodict() |
| 36 | + d['Title'] = 'Multipage PDF Example' |
| 37 | + d['Author'] = u'Jouni K. Sepp\xe4nen' |
| 38 | + d['Subject'] = 'How to create a multipage pdf file and set its metadata' |
| 39 | + d['Keywords'] = 'PdfPages multipage keywords author title subject' |
| 40 | + d['CreationDate'] = datetime.datetime(2009,11,13) |
| 41 | + d['ModDate'] = datetime.datetime.today() |
0 commit comments