1

我正在使用PDFTOHTML(一个 php 库)将 pdf 文件转换为 html,它工作正常,但它在浏览器中显示转换后的文件,而不是存储在本地文件夹中,我想使用 php 将转换后的 html 存储在本地文件夹中,名称与pdf 即mydata.pdfmydata.html 将 pdf 转换为 html 的代码是:-

 <?php
// if you are using composer, just use this
include 'vendor/autoload.php';

 $pdf = new \TonchikTm\PdfToHtml\Pdf('cv.pdf', [
     'pdftohtml_path' => 'C:/wamp64/www/new/poppler-0.51/bin/pdftohtml.exe',
    'pdfinfo_path' => 'C:/wamp64/www/new/poppler-0.51/bin/pdfinfo.exe'
]);

// get content from all pages and loop for they
foreach ($pdf->getHtml()->getAllPages() as $page) {
    echo $page . '<br/>';
}
?>
4

2 回答 2

1

只需将您的 foreach 更改为

$filePdf = 'cv'; // your pdf filename without extension
$pdf = new \TonchikTm\PdfToHtml\Pdf($filePdf.'.pdf', [
    'pdftohtml_path' => 'C:/wamp64/www/new/poppler-0.51/bin/pdftohtml.exe',
    'pdfinfo_path' => 'C:/wamp64/www/new/poppler-0.51/bin/pdfinfo.exe'
]);

$counterPage = 1;
foreach ($pdf->getHtml()->getAllPages() as $page) {
    $filename = $filePdf . "_" . $counterPage.'.html'; // set as string directory and filename where you want to save it

    if (file_exists($filename)) {
        // if file exist do something
    } else {
        // else 
        $fileOpen = fopen($filename, 'w+');
        fputs($fileOpen, $page);
        fclose($fileOpen);
    }
    $counterPage++;
    echo $page . '<br/>';
}

这将创建您的文件,例如:example_1.html、example_2.html 等等。如果这对您没有帮助,那么您可能需要使用带有 ob_start() 和 ob_get_contents() 的 file_put_contents在这里阅读更多

于 2018-04-22T07:41:18.977 回答
0

看看这个 :

<?php
// if you are using composer, just use this
include 'vendor/autoload.php';
$pdf = new \TonchikTm\PdfToHtml\Pdf('cv.pdf', ['pdftohtml_path' => 'C:/wamp64/www/new/poppler-0.51/bin/pdftohtml.exe', 'pdfinfo_path' => 'C:/wamp64/www/new/poppler-0.51/bin/pdfinfo.exe']);
// get content from all pages and loop for they
$file = fopen('cv.html', 'w+');
$data = null;
foreach ($pdf->getHtml()->getAllPages() as $page) {
    $data .= "".$page."<br/>";
}
fputs($file, $data);
fclose($file);

我没有测试这段代码

于 2018-04-22T07:10:43.273 回答