【问题标题】:output a PDF file using imagic and PHP使用 imagic 和 PHP 输出 PDF 文件
【发布时间】:2011-04-21 17:19:30
【问题描述】:

我有一些 PDF 存储在 SQL 服务器中,数据类型为 Image。 现在我想用 PHP 页面中的 Imagic 将它们合并到一个文档中。代码如下:

$combined = new Imagick(); 而($document = mssql_fetch_assoc($mssqlResult){ $image = 新的想象(); $image->readImageBlob($document['Contents']); $combined->addImage($image); $图像->清除(); $image->destroy(); } $combined->setImageFormat("pdf"); $combined->writeImages('test.pdf', true);

这行得通,并且 test.pdf 保存到服务器,但是当我尝试输出浏览器 URL(类似于http://www.test.com/test.php)时,它不起作用。代码是:

$combined = new Imagick(); 而($document = mssql_fetch_assoc($mssqlResult){ $image = 新的想象(); $image->readImageBlob($document['Contents']); $combined->addImage($image); $图像->清除(); $image->destroy(); } //$combined->getImageBlob(); //$combined->setImageFormat("pdf"); //$combined->writeImages('test.pdf', true ); header('内容类型:应用程序/pdf'); header('Content-Disposition: attachment; filename="test.pdf"'); 回声$组合;

【问题讨论】:

    标签: php imagick


    【解决方案1】:
    $combined   =   new Imagick();
    
    while( $document    =   mssql_fetch_assoc( $mssqlResult ){
        $image      =   new Imagick(); 
        $image->readImageBlob( $document['Contents'] ) ;
        $combined->addImage( $image );
        $image->clear();
        $image->destroy(); 
    }
    
    $combined->getImageBlob();
    
    $combined->setImageFormat("pdf");
    
    $combined->writeImages( 'test.pdf', true );
    
    header('Content-type: application/pdf');
    
    header('Content-Disposition: attachment; filename="test.pdf"');
    
    echo file_get_contents('test.pdf');
    

    【讨论】:

      【解决方案2】:

      这行得通:

      组合 = 新的 Imagick(); 而($document = mssql_fetch_assoc($mssqlResult){ $image = 新的想象(); $image->readImageBlob($document['Contents']); $combined->addImage($image); $图像->清除(); $image->destroy(); } $combined->setImageFormat("pdf"); header('内容类型:应用程序/pdf'); header('Content-Disposition: attachment; filename="test.pdf"'); echo $combined->getImagesBlob();

      请注意,关键字是getImagesBlob,而不是getImageBlob

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-26
        相关资源
        最近更新 更多