脚本宝典收集整理的这篇文章主要介绍了php – Concrete5:将文件缩略图设置为生成的图像(例如,用于PDF),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在使用:
<?PHP $file = File::getByID($fID); $imageHelPEr = Core::make('helper/image'); try { $imageHelper->outputThumbnail($file,200,200); } catch(InvalidargumentException $e) { ?> <img src='https://placehold.IT/200x200'> <?PHP } ?>
我更喜欢以某种方式创建一个较小的PDF文件缩略图,例如在后台使用Ghostscript.在内置文件管理器中,至少显示一个PDF图标.这将是一个非最佳选择,但仍然比不显示任何东西表示我们正在处理PDF更好.
如何访问内置缩略图?而且,更重要的是,如何在上传某些文件类型时正确覆盖它们?
编辑:
我遇到了$file-> getThumbnailURL(‘type’);并为我自己的目的创建了一个类型.如何在上传文件时自动生成这样的缩略图?我可能会弄清楚如何使用普通的PHP生成文件,但将其存储在Concrete5中是我不确定的.
我开始在我的包的控制器的configure方法中创建一个新的缩略图类型,如下所示:
use Concrete\Core\File\Image\Thumbnail\Type\Type; ... public function configure($pkg) { ... $thumbnailType = new Type(); $thumbnailType->setName(tc('ThumbnailTypeName','PDF Thumbnails')); $thumbnailType->setHandle('pdfthumbnails'); $thumbnailType->setWidth(200); $thumbnailType->setHeight(200); $thumbnailType->save(); }
然后我创建了一个类mypackage / src / document_PRocessing / pdfthumbnails.PHP,其中包含以下内容:
namespace Concrete\Package\Mypackage\Src\DocumentProcessing; use Core; use File; use Concrete\Core\File\Image\Thumbnail\Type\Type; class Pdfthumbnails { public function processPDFThumbnails($fv) { $fi = Core::make('helper/file'); $fvObj = $fv->getFiLeversionObject(); $ext = $fi->getExtension($fvObj->getFilename()); $file = $fvObj->getFile(); if ($ext == 'pdf') { $type = Type::getByHandle('pdfthumbnails'); $basetype = $type->getBaseVersion(); $thumbpath = $basetype->getFilePath($fvObj); $fsl = $file->getFileStorageLocationObject()->getFileSystemObject(); $fre = $fvObj->getFileResource(); // this requires sufficient permissions.. // depending on your SETUP,reconsider 0777 mkdir('application/files'.dirname($thumbpath),0777,true); exec('gs -o application/files'.escapeshellarg($thumbpath).' -dPDFFitPage -sDEVICE=png16m -g200x200 -dLastPage=1 -f application/files/'.escapeshellarg($fre->getPath())); } } }
然后我迷上了我的包的控制器中的on_file_version_add事件:
use Concrete\Package\Mypackage\Src\DocumentProcessing\Pdfthumbnails; ... public function on_start() { Events::addListener('on_file_version_add',array(new Pdfthumbnails(),'processPDFThumbnails')); }
以上是脚本宝典为你收集整理的php – Concrete5:将文件缩略图设置为生成的图像(例如,用于PDF)全部内容,希望文章能够帮你解决php – Concrete5:将文件缩略图设置为生成的图像(例如,用于PDF)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。