title: Write multiple Dataframes to same PDF file using matplotlib
body: <p>I'm stuck at a point where I have to write multiple pandas dataframe's to a PDF file.The function accepts dataframe as input.</p>
  
  <p>However, I'm able to write to PDF for the first time but all the subsequent calls are overriding the existing data, leaving with only one dataframe in the PDF by the end.</p>
  
  <p>Please find the python function below :</p>
  
  <pre><code>def fn_print_pdf(df):
   pp = PdfPages('Sample.pdf')
   total_rows, total_cols = df.shape;
  
   rows_per_page = 30; # Number of rows per page
   rows_printed = 0
   page_number = 1;
   while (total_rows &gt;0):
      fig=plt.figure(figsize=(8.5, 11))
      plt.gca().axis('off')
      matplotlib_tab = pd.tools.plotting.table(plt.gca(),df.iloc[rows_printed:rows_printed+rows_per_page],
          loc='upper center', colWidths=[0.15]*total_cols)
      #Tabular styling
      table_props=matplotlib_tab.properties()
      table_cells=table_props['child_artists']
      for cell in table_cells:
          cell.set_height(0.024)
          cell.set_fontsize(12)
      # Header,Footer and Page Number
      fig.text(4.25/8.5, 10.5/11., "Sample", ha='center', fontsize=12)
      fig.text(4.25/8.5, 0.5/11., 'P'+str(page_number), ha='center', fontsize=12)
      pp.savefig()
      plt.close()
      #Update variables
      rows_printed += rows_per_page;
      total_rows -= rows_per_page;
      page_number+=1;
   pp.close()
  </code></pre>
  
  <p>And I'm calling this function as ::</p>
  
  <pre><code>raw_data = {
          'subject_id': ['1', '2', '3', '4', '5'],
          'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
          'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']}
  df_a = pd.DataFrame(raw_data, columns=['subject_id', 'first_name', 'last_name'])
  fn_print_pdf(df_a)
  
  raw_data = {
      'subject_id': ['4', '5', '6', '7', '8'],
      'first_name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
      'last_name': ['Bonder', 'Black', 'Balwner', 'Brice', 'Btisan']}
  df_b = pd.DataFrame(raw_data, columns=['subject_id', 'first_name', 'last_name'])
  fn_print_pdf(df_b)   
  </code></pre>
  
  <p>PDF file is available at 
  <a href="https://drive.google.com/open?id=0B7NgTayxCMOTR28wdjNDbzJFWUk" rel="nofollow">SamplePDF</a>
  .As you can see only the data from second dataframe is saved ultimately.Is there a way to append to the same Sample.pdf in the second pass and so on while still preserving the former data?</p>