1

我有一个客户要求为他的客户提供上传设施,但在上传之后要创建一个图像缩略图。

所有正常图像都可以,但他在谈论 .psd、.pdf、.eps、.ppt

环顾四周,我认为 imagemagick 和 ghostscript 可以满足其中的大部分需求,但我找不到 PPT 或 EPS 的解决方案。

我希望 imagemagick 能够像 psd 一样做 eps。

关于 EPS 或 PPT 文件格式的任何建议。

如果您能提供建议,谢谢。

4

4 回答 4

3

我参加我认识的聚会迟到了,但是...

这是我用于 .PDF、.EPS 和 .AI 缩略图的内容。(假设安装了所有必要的 ImageMagick 发行版)

$file = 'filename.pdf.eps.ai';

$cache = $_SERVER['DOCUMENT_ROOT'].'/cache/';//ensure dir is writeable

$ext = "jpg";//just the extension

$dest = $cache.$file.'.'.$ext;

if (file_exists($dest)){
    $img = new imagick();
    $img->readImage($dest);
    header( "Content-Type: image/jpg" );
    echo $img;
    exit;

 } else {

    $img = new imagick($_SERVER['DOCUMENT_ROOT'].'/'.$file.'[0]');
    $img->setImageFormat($ext);

    $width = $img->getImageheight();
    //$img->cropImage($width, $width, 0, 0);
    $img->scaleImage(105, 149, true);

    $img->writeImage($dest);

    header( "Content-Type: image/jpg" );
    echo $img;
    exit;
}

不知道它为什么有效,但它确实有效 - 一个代码来统治他们好吗?

于 2013-11-02T12:48:02.940 回答
1

PPT是一个PowerPoint演示文稿。因此,创建一个 PPT 图像需要一些可以完成此操作的库。

这里有一些资源可以帮助您。

EPS 是一种矢量格式,因此除非您将图像作为矢量对象,否则您将无法正确执行此操作。

于 2009-06-16T10:53:47.390 回答
0

您可以找到一些免费的图标集,并为所有 .ppt 文件使用默认图标,为所有 .eps 文件使用另一个图标。然后,您可以为所有无法转换为图像的文件格式(例如音频文件)进一步扩展此功能。不是完美的解决方案,但用户可能会觉得比仅仅拥有文本更舒服。

于 2009-06-16T17:44:24.680 回答
0

只是一些想法 - 这些东西都没有经过我自己的测试。

每股收益

您应该能够使用ghostscript将您的 EPS 转换为 PDF 。使用 imagemagick 和 ghostscript,您可以将 PDF 转换为某种位图格式(GIF、PNG 或 JPG)。

PPT

这似乎有点复杂。如果您使用的是 Windows 计算机,则可以在一个小型手写转换器中使用 Powerpoint API。另一种可能性可能是使用 Apache POI-HSLF,它是 Powerpoint 文件格式的 Java API。这将需要用于转换过程的 Java 程序。最后的手段可能是研究Powerpoint 二进制文件格式,看看是否有嵌入的缩略图(可能是用于 Windows 资源管理器中的文件图标)可以提取。

于 2009-06-16T11:30:25.973 回答