Сохранение html-страницы в локальном хранилище с использованием переполнения стека

я использую PDFTOHTML (библиотека php) для преобразования файлов pdf в html, и она работает нормально, но показывает конвертированный файл в браузере, а не хранит в локальной папке. Я хочу сохранить конвертированный html в локальной папке, используя php с тем же именем, что и pdf был i-e mydata.pdf в mydata.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/>';
}
?>

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 и так далее.
если это не поможет, то, вероятно, вам нужно использовать file_put_contents с ob_start () и ob_get_contents () читать больше здесь

1

Другие решения

Посмотри это:

<?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);

Я не тестировал этот код

0

По вопросам рекламы [email protected]