如何使用PHP将PDFTOHTML转换的HTML页面保存至本地文件夹
解决PDF转HTML后保存到本地的问题
我明白你的困扰——转换功能正常但内容只在浏览器显示,没法存到本地对吧?别担心,咱们只需要在现有代码基础上添加几步,就能把转换后的HTML以原PDF同名的格式保存到指定文件夹里。
首先,先理清楚思路:咱们需要先获取转换后的HTML内容,然后根据原PDF的文件名生成对应的HTML文件名,最后把内容写入本地文件即可。下面是具体的实现步骤和完整代码:
步骤说明
- 获取原PDF文件名:用PHP的
pathinfo()函数提取原PDF的文件名(不含后缀),然后拼接.html作为保存后的文件名。 - 获取转换后的HTML内容:调用库的
getHtml()方法拿到转换好的HTML代码。 - 写入本地文件:用
file_put_contents()把内容写入目标文件夹,注意要确保目标文件夹存在,否则需要先创建。
完整代码示例
<?php // 如果用composer,引入自动加载文件 include 'vendor/autoload.php'; // 原PDF文件路径 $pdfFilePath = 'cv.pdf'; // 目标保存目录(可以根据自己需求修改,比如'./converted_html/') $saveDir = './'; // 确保保存目录存在,不存在则创建 if (!is_dir($saveDir)) { mkdir($saveDir, 0755, true); } // 生成对应的HTML文件名:原PDF文件名替换后缀为.html $htmlFilename = pathinfo($pdfFilePath, PATHINFO_FILENAME) . '.html'; $savePath = $saveDir . $htmlFilename; // 初始化PDF转换对象 $pdf = new \TonchikTm\PdfToHtml\Pdf($pdfFilePath, [ 'pdftohtml_path' => 'C:/wamp64/www/new/pdftohtml.exe' // 这里确保你的pdftohtml路径完整正确 ]); // 获取转换后的HTML内容 $htmlContent = $pdf->getHtml(); // 将内容写入本地文件 if (file_put_contents($savePath, $htmlContent)) { echo "HTML文件已成功保存到:" . $savePath; } else { echo "保存HTML文件失败,请检查目录权限或路径是否正确"; } ?>
注意事项
- 确保
pdftohtml_path配置的是完整且正确的pdftohtml.exe路径(你的代码里路径没写完,记得补全)。 - 如果目标保存目录不是当前目录,要确保PHP有该目录的写入权限,否则会保存失败。
- 如果转换后的HTML包含图片等资源,这个库默认会把图片和HTML放在同一目录下,所以保存HTML时,图片也会自动生成在对应目录里。
内容的提问来源于stack exchange,提问作者Zohaib
相关产品推荐
相关产品推荐

