TCPDF是一个开源的PHP类库,用于生成PDF文件。在使用AJAX时,可以通过以下步骤在新窗口中打开TCPDF输出:
下面是一个简单的示例代码:
前端代码:
<button onclick="generatePDF()">生成PDF</button>
<script>
function generatePDF() {
$.ajax({
url: 'generate_pdf.php',
method: 'POST',
success: function(data) {
// 后端返回的data可以是一个标识或文件路径
// 这里以文件路径为例
window.open('view_pdf.php?file=' + data, '_blank');
},
error: function() {
alert('生成PDF失败');
}
});
}
</script>
后端代码(generate_pdf.php):
require_once('tcpdf/tcpdf.php');
// 创建TCPDF实例
$pdf = new TCPDF();
// 生成PDF内容
$pdf->AddPage();
$pdf->SetFont('helvetica', 'B', 16);
$pdf->Cell(0, 10, 'Hello World!', 0, 1, 'C');
// 保存PDF文件到临时目录
$tmpFilePath = '/path/to/temp_directory/' . uniqid() . '.pdf';
$pdf->Output($tmpFilePath, 'F');
// 返回生成的PDF文件路径给前端
echo $tmpFilePath;
后端代码(view_pdf.php):
$file = $_GET['file'];
// 校验文件路径合法性,防止恶意访问
// ...
// 输出PDF文件
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="generated_pdf.pdf"');
readfile($file);
需要注意的是,生成的PDF文件路径应该进行适当的保护和清理,以避免安全问题和存储空间的浪费。同时,前端页面需要确保浏览器支持PDF插件或者使用PDF.js等工具进行文件的加载和显示。
推荐的腾讯云相关产品和产品介绍链接地址:
以上答案仅供参考,具体推荐的产品和链接地址请根据实际情况和需求进行选择。
领取专属 10元无门槛券
手把手带您无忧上云