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



我正在创建一个处理 pdf 上传的文件类型管理表单。我正在使用 fpdi。问题是它不会从此代码下载$pdf->Output('D');任何人都可以帮助我。让它变得简单,因为我也是Drupal 7的新手。

我的代码与此类似。在这里查看他们的页面:

use setasignFpdiFpdi;
use setasignFpdiPdfReader;
require_once('fpdf/fpdf.php');
require_once('fpdi2/src/autoload.php');
$pdf = new Fpdi();
$pageCount = $pdf->setSourceFile('Fantastic-Speaker.pdf');
$pageId = $pdf->importPage(1, PdfReaderPageBoundaries::MEDIA_BOX);
$pdf->addPage();
$pdf->useImportedPage($pageId, 10, 10, 90);
$pdf->Output('D');

检查参数"D"。如果我在 D7 之外运行该代码,它只会按预期工作。所以也许 D7 阻止它下载?请帮忙。

我已经通过将文件写入某个位置来修复此问题。然后发送 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');

相关内容

最新更新