为什么fpdi输出在Drupal 7中不起作用但是在D7之外起作用

时间:2018-09-12 16:20:07

标签: drupal-7 fpdf fpdi

我正在创建一个表单,用于处理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阻止了它的下载?请帮忙。

1 个答案:

答案 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');