实际上我已经使用url和静态html页面将html转换为pdf。 但现在从我的网址或HTML页面我不希望整个页面通过pdf转换。 我想只将我网页的几个内容传递给html到pdf转换。
假设下面是我的HTML,我想只传递2'd div为html到pdf转换而不是整个html。所以如何只传递html的某些部分进行转换。
<!DOCTYPE html>
<head>
</head>
<body>
<div id="print-area">
<div id="header">
This is an example header.
</div>
<div id="content">
<h1>Demo</h1>
<p>This is example content</p>
</div>
<div id="footer">
This is an example footer.
</div>
</div>
</body>
</html>
以下是我的PHP代码 - 实际上来自我的一个html页面,我发布了这个php页面的url,并且不希望整个网页转换为pdf .i只希望将一个div转换为pdf。< / p>
<?php
require_once('WkHtmlToPdf.php');
$url = trim($_POST['textLink']);
$urlLink = "'$url'";
$date = date("Y-m-d");
$pdfNm = 'testPDF' . $date . '.pdf';
// Create a new WKHtmlToPdf object with some global PDF options
$pdf = new WkHtmlToPdf(array(
'use-xserver',
'no-outline', // Make Chrome not complain
'margin-top' => 0,
'margin-right' => 0,
'margin-bottom' => 0,
'margin-left' => 0,
));
// Set default page options for all following pages
$pdf->setPageOptions(array(
'disable-smart-shrinking',
'user-style-sheet' => 'css/pdf.css',
));
$pdf->addPage($urlLink); //we can also pass html file for conversion
//$pdf->addPage('demo.html');
//$pdf->saveAs('/tmp/new.pdf'); //Save as rather than sending it to user to save
$pdf->send($pdfNm)
现在我不希望使用wkhtmltopdf进行html到pdf转换的网页的全部内容。 我只想要一个特定的DIV。
答案 0 :(得分:0)
如何获取文件parsing it using some HTML parser,提取所需内容然后将其提供给$pdf
?我不知道你使用的包装器,但我认为即使你不在这里使用流也是可能的。
如果没有,请将提取的部分保存为文件,并将该文件提供给$pdf
。
这里有一个很好的答案,就是在PHP中提取HTML部分:https://stackoverflow.com/a/3577654/694325