2018年6月13日 星期三

【PHP】HTML直接輸出PDF

可以使用 tcpdf
網址:https://tcpdf.org/
範例:https://tcpdf.org/examples/example_021/

require("class/TCPDF-master/tcpdf.php");
class Mya_tcpdf 
{
 
 public function tcpdf_html($html, $title)
 { 
  // create new PDF document
  $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
  
  // set document information
  $pdf->SetCreator(PDF_CREATOR);
  $pdf->SetAuthor('');
  $pdf->SetTitle($title);
  $pdf->SetSubject('');
  $pdf->SetKeywords('');
  
  // set default header data
  $pdf->setPrintHeader(false);
  $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', 10));
  
  // set default monospaced font
  $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
  
  // set margins
  //$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
  $pdf->SetMargins(10, 10, 10);
  $pdf->SetHeaderMargin(0);
  $pdf->SetFooterMargin(10);
  
  // set auto page breaks
  $pdf->SetAutoPageBreak(TRUE, 10);
  
  // set image scale factor
  $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
  
  // set some language-dependent strings (optional)
  if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
   require_once(dirname(__FILE__).'/lang/eng.php');
   $pdf->setLanguageArray($l);
  }   
  
  // set font
  $pdf->SetFont('msjh','',1); // 字形需另外下載

  // add a page
  $pdf->AddPage();

  // output the HTML content
  $pdf->writeHTML($html, true, false, true, false, '');

  // reset pointer to the last page
  $pdf->lastPage();

  // ---------------------------------------------------------

  //Close and output PDF document
  $pdf->Output("abc.pdf", 'I');
 } 
 
}