只能显示10页pdf中的2页吗?

时间:2019-02-12 06:49:34

标签: php mysql pdf

我正在尝试在下载前向用户显示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">&times;</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;
}

2 个答案:

答案 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');

我从Convert PDF to JPEG with PHP and ImageMagick偷走了

答案 1 :(得分:0)

我会使用setasign中的 FPDI

它易于使用且易于安装。我目前在我的一个应用程序中使用它,并且效果很好。

https://www.setasign.com/products/fpdi/demos/simple-demo/