我正在尝试在下载前向用户显示pdf摘要。有pdf详细信息页面,用于显示用户pdf封面图像,名称,描述,价格,摘要和“立即购买”按钮。
这里的用户想要阅读报告摘要,然后单击摘要按钮并打开模型以阅读嵌入的pdf。阅读摘要后,他要购买,然后单击立即购买按钮。
所以,我只想在摘要按钮上显示2个pdf页面。有摘要,现在购买pdf报告是相同的。
我尝试显示报告摘要,但有显示完整的pdf。
下面是我的代码:-
public function raReportDetail($id){
$reportdetail = '';
$result = $this->connect()->query("SELECT * FROM wm_report WHERE id='$id'");
if($result->num_rows>0){
$row=$result->fetch_assoc();
$reportdetail ='
<div class="col-lg-4 col-md-4 col-sm-12">
<div class="large-5 column">
<div class="xzoom-container">
<img class="img-fluid" src="cover_images/'.$row['cover_img'].'">
</div>
</div>
</div>
<div class="col-lg-8 col-md-8 col-sm-12">
<div class="content-report-detail">
<div class="large-12 column">
<h3>'.$row['name'].'</h3>
</div>
<hr>
<div class="price-wrap">
<h3>Price: <i class="fa fa-rupee"></i> '.$row['price'].'/- </h3>
</div>
<div class="large-7 product-detail">
<p style="text-align: justify;">'.$row['description'].'</p>
<div class="ro-options">
<div class="no-row">
<div class="cart-btn-price">
<ul>
<li>
<a href="" data-toggle="modal" data-target="#Summary"> Summary </a> </li>
<li>
<a href="buy-report.php?id='.$row['id'].'"> Buy Now </a>
</li>
</ul>
</div>
</div>
<div class="sku-code">
<span class="posted_in">Categary: '.$row['category'].'</span>
|
<span class="posted_in">SKU Code : '.$row['sku'].'</span>
</div>
</div>
</div>
</div>
</div>
<div id="Summary" class="modal fade" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 style="display: contents;">Summary of '.$row['name'].'</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<embed src="report/'.$row['report'].'" frameborder="0" width="100%" height="400px">
</div>
</div>
</div>
</div>
';
}else{
$reportdetail = 'Something Went Wrong';
}
return $reportdetail;
}
答案 0 :(得分:0)
如果您的PHP中安装了ImageMagick库,则可以将特定页面转换为jpg。
$im = new Imagick();
$im->setResolution(300,300);
// the [0] below indicates the first page only.
$im->readImage('document.pdf[0]');
$im->setImageFormat('jpeg');
$im->writeImage('thumb.jpg');
$im->clear();
$im->destroy();
您可能想对要用作预览的两个页面执行此操作。
另请参阅ImageMagick::readImage文档。文档本身并不好,但是用户评论还不错。您也应该可以$im->setImageFormat('pdf');
。
答案 1 :(得分:0)
我会使用setasign中的 FPDI 。
它易于使用且易于安装。我目前在我的一个应用程序中使用它,并且效果很好。