我正在创建一个表单,用于处理pdf上载的管理文件类型。我正在使用fpdi。问题是它没有从此代码$pdf->Output('D');
下载,任何人都可以帮助我。简单点,因为我也是Drupal 7的新手。
我的代码与此类似。检查他们的页面here:
use setasign\Fpdi\Fpdi;
use setasign\Fpdi\PdfReader;
require_once('fpdf/fpdf.php');
require_once('fpdi2/src/autoload.php');
$pdf = new Fpdi();
$pageCount = $pdf->setSourceFile('Fantastic-Speaker.pdf');
$pageId = $pdf->importPage(1, PdfReader\PageBoundaries::MEDIA_BOX);
$pdf->addPage();
$pdf->useImportedPage($pageId, 10, 10, 90);
$pdf->Output('D');
检查参数“ D”。如果我在D7之外运行该代码,它将按预期运行。那么也许D7阻止了它的下载?请帮忙。
答案 0 :(得分:0)
我已通过将文件写入特定位置来解决此问题。然后发送headers()作为响应,就可以了。
$pdf->Output('F', '/path/to/the/file.pdf');
header("Content-type: application/pdf");
header('Content-Disposition: attachment; filename=download.pdf');
header("Content-Length: " . filesize('/path/to/the/file.pdf'));
header("Pragma: no-cache");
header("Expires: 0");
readfile('/path/to/the/file.pdf');