在 ThinkPHP 框架中,可以通过使用第三方类库 TCPDF 或 mPDF 来实现在线阅读 PDF 文件。其中,TCPDF 更加稳定而且速度更快,但功能比 mPDF 略微简单。具体实现步骤如下:
<?php
namespace app\controller;
use think\Controller;
class PdfController extends Controller
{
public function readPdf()
{
require_once './vendor/autoload.php'; // 引入 TCPDF 或 mPDF 类库
$pdfPath = './test.pdf'; // 需要打开的 PDF 文件路径
$pdfContent = file_get_contents($pdfPath); // 读取 PDF 文件内容
$pdf = new \TCPDF(); // 实例化 TCPDF 或 mPDF 对象
$pdf->AddPage();
$pdf->writeHTML($pdfContent, true, false, true, false, '');
$pdf->Output('document.pdf', 'I'); // 输出 PDF 文件至浏览器
}
}
需要注意的是,为了保证 PDF 文件能够正确地输出至浏览器,需要设置相应的响应头。若出现乱码或者无法识别 PDF 文件的情况,可以尝试设置 Content-Type 为 application/pdf;对于中文字符集,可以设置 Content-Encoding 为 UTF-8,Content-Disposition 为 inline 等等。