2

我有一个 MySQL 数据库,它有几个指向 pdf 文件的 url(如 path/.../file.pdf),我想在浏览器中将它们显示为 jpeg 图像。我浏览了整个网络,但找不到解决方案。有谁知道如何做到这一点?任何帮助表示赞赏。目前我有两个文件:index.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head>
    <meta http-equiv="Content-Type" content="application/pdf; charset=UTF-8">
    <title>Something</title>
</head>
<body>
    <h1 align="center">Something</h1>
    <img src="newindex.php" alt=" image" /></body></html>

和newindex.php:

<?php
    header('Content-type: image/pdf;');

    $con = mysql_connect("someurl",
            "xxx","xxxx");

    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }


    mysql_select_db("xxx", $con)or die("cannot select DB");

    $result = mysql_query("SELECT pdfurl FROM TABLE_NAME WHERE Code LIKE 'YY'");

    if($result === FALSE) {
        echo "nooooo";
    }
    echo "hey";

    while($row = mysql_fetch_array($result))
    {    
       echo '<img name="myimage" src="'.$row['pdfurl'].'" width="60" height="60" alt="word" />';
    }

    mysql_free_result($result);
    mysql_close($con); ?>
4

3 回答 3

3

如果要将其显示为 JPEG 图像,则必须将其转换为一张。有几种软件产品可以做到这一点,包括GDlibImageMagickGhostscript。它们的主要区别在于与 PHP 的集成程度和图像质量。

然后,在您的 HTML 中,您将img使用 PHP 脚本输出标签,因为src它使用上述软件进行转换和缓存:

echo '<img src="converter.php?'.$pdf_name.'" />';

在某些浏览器中,您可以直接在页面中显示 pdf,但这是使用embed标签而不是标签来完成的,img并且通常不适合类似缩略图的视图。

于 2012-10-09T19:31:16.123 回答
0

您的 img src 将是一个 php 页面,并且可能会使用 image_create()。此处示例:http ://www.thesitewizard.com/php/create-image.shtml

于 2012-10-09T19:25:16.233 回答
0

您必须修改您的 http 服务器。

您的 http 服务器需要使用 php 进行 .jpg 处理。

以 Lighttpd为例。替换.php.jpg

(更好的选择)

您可以使用重写选项重写.jpg.php

编辑:您需要在脚本中打印真实图像(二进制)作为输出。使用 AndreKR 答案

于 2012-10-09T19:26:12.600 回答