如何解决Dom PDF问题生成输出
我对dom pdf有一个小问题。我正在用它来教如何从样本商店生成pdf。样品商店在结帐时会生成一张收据,其中包含从商店中选择的所有产品。如果我选择一些项目并生成收据,则pdf输出看起来不错,它显示了我选择的产品并显示了总额。但是,如果我在生成收据时选择了很多产品(足以填满2页),则pdf输出仅显示第一页,而第二页的总数未显示?
此外,pdf会自动上传到服务器上的文件夹。我有一个链接,可以查看按日期顺序列出的收据,每个收据都已链接。我可以通过单击它们的各个链接来查看这些收据,但是如果我这样做,它们会自动下载到我的设备中。可以更改此设置,使其在浏览器中查看而不自动下载。
这是我dom pdf中代码的一部分:
$options = new Dompdf\Options();
$options->set('isRemoteEnabled',true);
$dompdf = new Dompdf\Dompdf($options);
$dompdf->loadHtml($html);
$dompdf->render();
$output = $dompdf->output();
$info = file_put_contents("../../files/" . $filepath . $filename,$output);
当我查看收据时,链接是通过handler.php进行的,我可以将其更改为在浏览器中查看,而不是自动下载吗?
handler.php
<?php
session_start();
include('../inc/config.php');
include(ROOT_PATH . 'inc/database.php');
include(ROOT_PATH . 'inc/functions.php');
if (!isset($_SESSION['login'])) {
header("Location: " . BASE_URL . "login.php");
exit;
}
if (isset($_SESSION['membership_expired'])) {
header("Location: " . BASE_URL . "account/upgradeaccount.php?expired=true");
exit;
}
if (empty($_GET['type'])) {
header("Location: " . BASE_URL . "account/view-invoice.php");
exit;
}
if ($_GET['type'] == "invoice") {
$results = $db->prepare("SELECT * FROM invoices WHERE id = ? AND invoice_created_by_id = ?");
$results->bindParam(1,$_GET['id']);
$results->bindParam(2,$_SESSION['login']['id']);
$results->execute();
$matches = $results->fetch(PDO::FETCH_ASSOC);
if ($matches) {
$filename = '../../files/' . $matches['invoice_filepath'] . '/' . $matches['invoice_filename'];
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($filename);
exit;
} else {
header("Location: " . BASE_URL . "account/index.php");
exit;
}
} elseif ($_GET['type'] == "receipt") {
$results = $db->prepare("SELECT * FROM receipts WHERE id = ? AND receipt_created_by_id = ?");
$results->bindParam(1,$_SESSION['login']['id']);
$results->execute();
$matches = $results->fetch(PDO::FETCH_ASSOC);
if ($matches) {
$filename = '../../files/' . $matches['receipt_filepath'] . '/' . $matches['receipt_filename'];
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($filename);
exit;
} else {
header("Location: " . BASE_URL . "account/index.php");
exit;
}
}
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。