TCPDF未下载

时间:2018-06-26 12:30:16

标签: php wordpress pdf web tcpdf

我使用TCPDF生成一些PDF文件并将其保存在PC上。但是它保存在我的网站文件夹所在的服务器上。
我需要将文件保存到PC。当我在本地服务器(OpenServer)上工作时,其工作正常。 路径在$ _POST中设置,因为我使用AJAX生成pdf 如何解决?

代码:

require_once('tcpdf/tcpdf.php');


$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);


$pdf->SetCreator('God');
$pdf->SetAuthor('God');
$pdf->SetTitle('Contract');
$pdf->SetSubject('Contract');

$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);


$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);


$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);
}

$pdf->setFontSubsetting(true);

$pdf->SetFont('dejavusans', '', 14, '', true);

$pdf->AddPage();

$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal'));

 ob_start();
        include "page1.php";
        $content = ob_get_clean();
$html = $content;

$pdf->writeHTML($html, true, false, true, false, '');
$pdf->AddPage();

 ob_start();
        include "page2.php";
        $content = ob_get_clean();
$html = $content;

$pdf->writeHTML($html, true, false, true, false, '');
$pdf->AddPage();

 ob_start();
        include "page3.php";
        $content = ob_get_clean();
$html = $content;


$pdf->writeHTML($html, true, false, true, false, '');
$pdf->AddPage();

$dirname = $_POST['dirname'];
$path = $_POST['path'] . $dirname . '\ ';
mkdir($path, 0700);

$filename = $_POST['filename'] . '.pdf';

$pdf->Output($path . $filename, 'F');

1 个答案:

答案 0 :(得分:1)

在最后一行中,使用选项“ D”代替“ F”:

$pdf->Output($path . $filename, 'F');

如文档中所述,

  

D:发送到浏览器并强制使用给定名称下载文件   按名称。
  F:使用名称给定的名称保存到本地文件(可以   包括路径)。