我已经为他的客户在上传工具上提出了客户请求,但在上传后会创建一个图像缩略图。
所有正常的图像都可以,但他在谈论.psd,.pdf,.eps,.ppt
好好看看我认为与图像匹配& ghostscript将迎合大部分这些但我无法找到PPT或EPS的解决方案。
我希望imagemagick能够做eps,因为它可以做psd。
有关EPS或PPT文件格式的任何建议。
谢谢你能否提出建议。
答案 0 :(得分: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;
}
不知道它为什么会起作用,但确实如此 - 一个代码可以统治它们吗?
答案 1 :(得分:1)
PPT是一个powerpoint演示文稿。因此,创建一个PPT图像需要一些可以解决此问题的库。
以下是一些可以帮助您的资源。
EPS是一种矢量格式,因此除非您将图像作为矢量对象,否则您将无法正确执行此操作。
答案 2 :(得分:0)
只是一些想法 - 这些都没有经过我自己的测试。
<强> EPS 强>:
您应该可以使用ghostscript将EPS转换为PDF。使用imagemagick&amp; ghostscript你可以将PDF转换为某种位图格式(GIF,PNG或JPG)。
<强> PPT 强>:
这似乎有点复杂。如果您使用的是Windows计算机,则可以在一个小型手写转换器中使用Powerpoint API。另一种可能性是使用Apache POI-HSLF,它是Powerpoint文件格式的Java API。这将需要Java程序进行转换过程。最后的手段可能是研究Powerpoint binary file format,看看是否有例如
。可以提取的缩略图(可能用于Windows资源管理器中的文件图标)。答案 3 :(得分:0)
您可以找到一些免费图标集,并为所有.ppt文件使用默认图标,对所有.eps使用另一个图标集。然后,您可以针对无法转换为图像的所有文件格式(例如音频文件)进一步扩展此格式。不是完美的解决方案,但用户可能会感觉更舒适,然后只需要文本。