How do I get Views PDF to Download a file?
The headers are returned from TCPDF. The argument 'D' for download needs to be passed from views to TCPDF. 

To do this I created a menu entry.

function yhivepasses_menu() {
  $items['yhivepasses/download/yogahive_passes_user_balance/pdf_1/user/%'] = array(
      'title' =&gt; 'YogaHive Passes',
      'page callback' =&gt; '_yhivepasses_views_pdf_download',
      'page arguments' =&gt; array(2,5,5),
      'access arguments' =&gt; array('access checkout'),
  );


Called the view manually.

function _yhivepasses_views_pdf_download($view_id, $views_display, $arguments) {
  if (!empty($view_id)) {
    $view = views_get_view($view_id);
    if (!is_object($view)) {
       drupal_set_message("Sorry, couldn't load your YogaHive Passes.", 'error');
       return FALSE;
     }

    $view-&gt;set_arguments(preg_split("/\r\n|\n|\r/", $arguments));

  if (!$view-&gt;set_display($views_display)) {
    $views_display = 'pdf_1';
    if (!$view-&gt;set_display('pdf_1')) {
      return FALSE;
    }
  }

  $view-&gt;pre_execute();

  $display = $view-&gt;display[$views_display];
  if ($display-&gt;display_plugin == 'pdf' &amp;&amp; isset($display-&gt;handler)) {
    // arguments '' and I
    // Setup rules to take you to the 'completed' page and then do a redirect.
    //header('refresh:0;url=' . $base_url . '/user/14');
     $display-&gt;handler-&gt;execute('', 'D');
     $display-&gt;handler-&gt;post_execute();
    }
  }
}


The way that views-pdf calls views, I don't see a way to set the argument 'D'. There are no hooks, just a conditional call.