vestin/file-preview

PHP文件预览生成器

v1.0.0 2021-10-14 07:54 UTC

This package is auto-updated.

Last update: 2024-09-14 14:24:32 UTC


README

灵感来自 https://github.com/jolks/filepreview

PHP文件预览生成器

将生成约450种不同文档格式的文件预览(gif, jpg 或 png)。

安装

安装依赖项

apt-get install unoconv
apt-get install ffmpeg
apt-get install imagemagick

通过composer安装包

composer require vestin/file-preview

使用方法

基本

$generator = new \Vestin\FilePreview\Generator();
try{
    $generator->generate('/path/to/file.docx','/path/to/output.jpg');
    // File preview is /path/to/output.jpg
}catch(\Exception $e){
    echo $e->getMessage();
}

选项

视频

$generator->generate('/path/to/file.mp4','/path/to/output.jpg',[
    'scale' => '500:400', // fixed width & fixed height
    'scale' => '500:-1', // fixed width & auto height
    'scale' => '500:500/a', // max width or height
]);

其他类型的文件

  • 宽度
  • 高度
$generator->generate('/path/to/file.pdf','/path/to/output.jpg',[
    'width'=>'300',
    'height'=>'500'
]);

为了更稳定,您可以在运行文件预览生成之前运行unoconv作为监听器

$ unoconv --listener

文档格式

以下列出的文档格式目前可用于导出:

  • bib - BibTeX [.bib]
  • doc - Microsoft Word 97/2000/XP [.doc]
  • doc6 - Microsoft Word 6.0 [.doc]
  • doc95 - Microsoft Word 95 [.doc]
  • docbook - DocBook [.xml]
  • html - HTML文档(OpenOffice.org Writer) [.html]
  • odt - Open Document Text [.odt]
  • ott - Open Document Text [.ott]
  • ooxml - Microsoft Office Open XML [.xml]
  • pdb - AportisDoc (Palm) [.pdb]
  • pdf - 可移植文档格式 [.pdf]
  • psw - Pocket Word [.psw]
  • rtf - 富文本格式 [.rtf]
  • latex - LaTeX 2e [.ltx]
  • sdw - StarWriter 5.0 [.sdw]
  • sdw4 - StarWriter 4.0 [.sdw]
  • sdw3 - StarWriter 3.0 [.sdw]
  • stw - Open Office.org 1.0 文本文档模板 [.stw]
  • sxw - Open Office.org 1.0 文本文档 [.sxw]
  • text - 文本编码 [.txt]
  • txt - 纯文本 [.txt]
  • vor - StarWriter 5.0 模板 [.vor]
  • vor4 - StarWriter 4.0 模板 [.vor]
  • vor3 - StarWriter 3.0 模板 [.vor]
  • xhtml - XHTML文档 [.html]

以下列出的图形格式目前可用于导出:

  • bmp - Windows位图 [.bmp]
  • emf - 增强型元文件 [.emf]
  • eps - 封装后置式脚本 [.eps]
  • gif - 图像交换格式 [.gif]
  • html - HTML文档(OpenOffice.org Draw) [.html]
  • jpg - 联合图像专家小组 [.jpg]
  • met - OS/2元文件 [.met]
  • odd - OpenDocument绘图 [.odd]
  • otg - OpenDocument绘图模板 [.otg]
  • pbm - 可移植位图 [.pbm]
  • pct - Mac Pict [.pct]
  • pdf - 可移植文档格式 [.pdf]
  • pgm - 可移植灰度图 [.pgm]
  • png - 可移植网络图形 [.png]
  • ppm - 可移植像素图 [.ppm]
  • ras - Sun光栅图像 [.ras]
  • std - OpenOffice.org 1.0 绘图模板 [.std]
  • svg - 可伸缩矢量图形 [.svg]
  • svm - StarView元文件 [.svm]
  • swf - Macromedia Flash (SWF) [.swf]
  • sxd - OpenOffice.org 1.0 绘图 [.sxd]
  • sxd3 - StarDraw 3.0 [.sxd]
  • sxd5 - StarDraw 5.0 [.sxd]
  • tiff - 标记图像文件格式 [.tiff]
  • vor - StarDraw 5.0 模板 [.vor]
  • vor3 - StarDraw 3.0 模板 [.vor]
  • wmf - Windows元文件 [.wmf]
  • xhtml - XHTML [.xhtml]
  • xpm - X PixMap [.xpm]

以下列出的演示格式目前可用于导出:

  • bmp - Windows位图 [.bmp]
  • emf - 增强型元文件 [.emf]
  • eps - 封装后置式脚本 [.eps]
  • gif - 图像交换格式 [.gif]
  • html - HTML文档(OpenOffice.org Impress) [.html]
  • jpg - 联合图像专家小组 [.jpg]
  • met - OS/2元文件 [.met]
  • odd - OpenDocument绘图(演示) [.odd]
  • odg - OpenOffice.org 1.0 绘图(OpenOffice.org Impress) [.odg]
  • odp - OpenDocument 演示文稿 [.odp]
  • pbm - 可移植位图 [.pbm]
  • pct - Mac Pict [.pct]
  • pdf - 可移植文档格式 [.pdf]
  • pgm - 可移植灰度图 [.pgm]
  • png - 可移植网络图形 [.png]
  • pot - Microsoft PowerPoint 97/2000/XP 模板 [.pot]
  • ppm - 可移植像素图 [.ppm]
  • ppt - Microsoft PowerPoint 97/2000/XP [.ppt]
  • pwp - PlaceWare [.pwp]
  • ras - Sun光栅图像 [.ras]
  • sda - StarDraw 5.0 (OpenOffice.org 演示文稿) [.sda]
  • sdd - StarImpress 5.0 [.sdd]
  • sdd3 - StarDraw 3.0 (OpenOffice.org 演示文稿) [.sdd]
  • sdd4 - StarImpress 4.0 [.sdd]
  • sti - OpenOffice.org 1.0 演示文稿模板 [.sti]
  • stp - OpenDocument 演示文稿模板 [.stp]
  • svg - 可伸缩矢量图形 [.svg]
  • svm - StarView元文件 [.svm]
  • swf - Macromedia Flash (SWF) [.swf]
  • sxi - OpenOffice.org 1.0 演示文稿 [.sxi]
  • tiff - 标记图像文件格式 [.tiff]
  • vor - StarImpress 5.0 模板 [.vor]
  • vor3 - StarDraw 3.0 模板 (OpenOffice.org 演示文稿) [.vor]
  • vor4 - StarImpress 4.0 模板 [.vor]
  • vor5 - StarDraw 5.0 模板 (OpenOffice.org 演示文稿) [.vor]
  • wmf - Windows元文件 [.wmf]
  • xhtml - XHTML [.xml]
  • xpm - X PixMap [.xpm]

以下列表显示目前可导出的电子表格格式:

  • csv - 文本 CSV [.csv]
  • dbf - dBase [.dbf]
  • dif - 数据交换格式 [.dif]
  • html - HTML 文档 (OpenOffice.org 计算机表格) [.html]
  • ods - Open Document 电子表格 [.ods]
  • ooxml - Microsoft Excel 2003 XML [.xml]
  • pdf - 可移植文档格式 [.pdf]
  • pts - OpenDocument 电子表格模板 [.pts]
  • pxl - Pocket Excel [.pxl]
  • sdc - StarCalc 5.0 [.sdc]
  • sdc4 - StarCalc 4.0 [.sdc]
  • sdc3 - StarCalc 3.0 [.sdc]
  • slk - SYLK [.slk]
  • stc - OpenOffice.org 1.0 电子表格模板 [.stc]
  • sxc - OpenOffice.org 1.0 电子表格 [.sxc]
  • vor3 - StarCalc 3.0 模板 [.vor]
  • vor4 - StarCalc 4.0 模板 [.vor]
  • vor - StarCalc 5.0 模板 [.vor]
  • xhtml - XHTML [.xhtml]
  • xls - Microsoft Excel 97/2000/XP [.xls]
  • xls5 - Microsoft Excel 5.0 [.xls]
  • xls95 - Microsoft Excel 95 [.xls]
  • xlt - Microsoft Excel 97/2000/XP 模板 [.xlt]
  • xlt5 - Microsoft Excel 5.0 模板 [.xlt]
  • xlt95 - Microsoft Excel 95 模板 [.xlt]

以下列表显示目前可导出的 OpenOffice.org 格式:

  • Microsoft Word 6.0/95/97/2000/XP (.doc 和 .dot)
  • Microsoft Word 2003 XML (.xml)
  • Microsoft Word 2007 XML (.docx, .docm, .dotx, .dotm)
  • Microsoft WinWord 5 (.doc)
  • WordPerfect 文档 (.wpd)
  • WPS 2000/Office 1.0 (.wps)
  • rtf, txt 和 csv
  • StarWriter 格式 (.sdw, .sgl, .vor)
  • DocBook (.xml)
  • 统一办公格式文本 (.uot, .uof)
  • Ichitaro 8/9/10/11 (.jtd 和 .jtt)
  • 韩文 WP 97 (.hwp)
  • T602 文档 (.602, .txt)
  • AportisDoc (Palm) (.pdb)
  • Pocket Word (.psw)
  • Microsoft Excel 97/2000/XP (.xls, .xlw, 和 .xlt)
  • Microsoft Excel 4.x–5.0/95 (.xls, .xlw, 和 .xlt)
  • Microsoft Excel 2003 XML (.xml)
  • Microsoft Excel 2007 XML (.xlsx, .xlsm, .xltx, .xltm)
  • Microsoft Excel 2007 二进制 (.xlsb)
  • Lotus 1-2-3 (.wk1, .wks, 和 .123)
  • 数据交换格式 (.dif)
  • 富文本格式 (.rtf)
  • 文本 CSV (.csv 和 .txt)
  • StarCalc 格式 (.sdc 和 .vor)
  • dBASE (.dbf)
  • SYLK (.slk)
  • 统一办公格式电子表格 (.uos, .uof)
  • htm 和 html 文件,包括网页查询
  • Pocket Excel (pxl)
  • Quattro Pro 6.0 (.wb2)
  • Microsoft PowerPoint 97/2000/XP (.ppt, .pps, 和 .pot)
  • Microsoft PowerPoint 2007 (.pptx, .pptm, .potx, .potm)
  • StarDraw 和 StarImpress (.sda, .sdd, .sdp, 和 .vor)
  • 统一办公格式演示文稿 (.uop, .uof)
  • CGM – 计算机图形元文件 (.cgm)
  • 可移植文档格式 (.pdf)

以下列表显示目前可导出的视频格式:

  • 3g2 3GP2 (3GPP2 文件格式)
  • 3gp 3GP (3GPP 文件格式)
  • 4xm 4X Technologies
  • a64 a64 - Commodore 64 视频文件
  • aac raw ADTS AAC (高级音频编码)
  • ac3 raw AC-3
  • act ACT 语音文件格式
  • adf Artworx 数据格式
  • adp ADP
  • adts ADTS AAC (高级音频编码)
  • adx CRI ADX
  • aea MD STUDIO 音频
  • afc AFC
  • aiff 音频 IFF
  • alaw PCM A-law
  • alias_pix Alias/Wavefront PIX 图像
  • alsa ALSA 音频输出
  • amr 3GPP AMR
  • anm Deluxe Paint 动画
  • apc CRYO APC
  • 猿猴音频
  • apng 动画便携式网络图形
  • aqtitle AQTitle 字幕
  • asf ASF(高级/主动流格式)
  • asf_stream ASF(高级/主动流格式)
  • ass SSA(SubStation Alpha)字幕
  • ast AST(音频流)
  • au Sun AU
  • avi AVI(音频视频交错)
  • avisynth AviSynth 脚本
  • avm2 SWF(ShockWave Flash)(AVM2)
  • avr AVR(音频视觉研究)
  • avs AVS
  • bethsoftvid Bethesda Softworks VID
  • bfi 强制力与无知
  • bin 二进制文本
  • bink Bink
  • bit G.729 BIT 文件格式
  • bmp_pipe 管道 bmp 序列
  • bmv Discworld II BMV
  • boa 黑色行动音频
  • brender_pix BRender PIX 图像
  • brstm BRSTM(二进制革命流)
  • c93 Interplay C93
  • caca caca(彩色ASCII艺术)输出设备
  • caf Apple CAF(核心音频格式)
  • cavsvideo 原生中文AVS(音频视频标准)视频
  • cdg CD 图形
  • cdxl Commodore CDXL 视频
  • cine Phantom Cine
  • concat 虚拟连接脚本
  • crc CRC 测试
  • dash DASH 复用器
  • data 原始数据
  • daud D-Cinema 音频
  • dfa Chronomaster DFA
  • dirac 原生 Dirac
  • dnxhd 原生 DNxHD(SMPTE VC-3)
  • dpx_pipe 管道 dpx 序列
  • dsf DSD 流文件(DSF)
  • dsicin Delphine Software International CIN
  • dss 数字语音标准(DSS)
  • dts 原生 DTS
  • dtshd 原生 DTS-HD
  • dv DV(数字视频)
  • dv1394 DV1394 A/V 抓取
  • dvbsub 原生 dvbsub
  • dvd MPEG-2 PS(DVD VOB)
  • dxa DXA
  • ea 电子艺界多媒体
  • ea_cdata 电子艺界 cdata
  • eac3 原生 E-AC-3
  • epaf Ensoniq Paris 音频文件
  • exr_pipe 管道 exr 序列
  • f32be PCM 32位浮点大端
  • f32le PCM 32位浮点小端
  • f4v F4V Adobe Flash 视频
  • f64be PCM 64位浮点大端
  • f64le PCM 64位浮点小端
  • fbdev Linux 框架缓冲区
  • ffm FFM(FFserver 实时流)
  • ffmetadata FFmpeg 文本元数据
  • film_cpk Sega FILM / CPK
  • filmstrip Adobe 胶片条
  • flac 原生 FLAC
  • flic FLI/FLC/FLX 动画
  • flv FLV(Flash 视频)
  • framecrc framecrc 测试
  • framemd5 每帧 MD5 测试
  • frm Megalux 帧
  • g722 原生 G.722
  • g723_1 原生 G.723.1
  • g729 G.729 原生格式解复用器
  • gif GIF 动画
  • gsm 原生 GSM
  • gxf GXF(通用交换格式)
  • h261 原生 H.261
  • h263 原生 H.263
  • h264 原生 H.264 视频
  • hds HDS 复用器
  • hevc 原生 HEVC 视频
  • hls Apple HTTP Live Streaming
  • hls,applehttp Apple HTTP Live Streaming
  • hnm Cryo HNM v4
  • ico Microsoft Windows ICO
  • idcin id 电影
  • idf iCE Draw 文件
  • iec61883 libiec61883(新 DV1394)A/V 输入设备
  • iff IFF(交换文件格式)
  • ilbc iLBC 存储
  • image2 image2 序列
  • image2pipe 管道 image2 序列
  • ingenient 原生 Ingenient MJPEG
  • ipmovie Interplay MVE
  • ipod iPod H.264 MP4(MPEG-4 第14部分)
  • ircam Berkeley/IRCAM/CARL 音频格式
  • ismv ISMV/ISMA(平滑流)
  • iss Funcom ISS
  • iv8 IndigoVision 8000 视频
  • ivf On2 IVF
  • j2k_pipe 管道 j2k 序列
  • jack JACK 音频连接套件
  • jacosub JACOsub 字幕格式
  • jpeg_pipe 管道 jpeg 序列
  • jpegls_pipe 管道 jpegls 序列
  • jv Bitmap Brothers JV
  • latm LOAS/LATM
  • lavfi Libavfilter 虚拟输入设备
  • libcdio
  • libdc1394 dc1394 v.2 A/V 抓取
  • libgme 游戏音乐仿真解复用器
  • libmodplug ModPlug 解复用器
  • live_flv live RTMP FLV(Flash Video)
  • lmlm4 原生 lmlm4
  • loas LOAS 音频同步流
  • lrc LRC 歌词
  • lvf LVF
  • lxf VR 原生流(LXF)
  • m4v 原生 MPEG-4 视频
  • matroska Matroska
  • matroska,webm Matroska / WebM
  • md5 MD5 测试
  • mgsts Metal Gear Solid: The Twin Snakes
  • microdvd MicroDVD 字幕格式
  • mjpeg 原生 MJPEG 视频
  • mkvtimestamp_v2 提取 pts 作为时间码 v2 格式,如 mkvtoolnix 所定义
  • mlp 原生 MLP
  • mlv Magic Lantern Video(MLV)
  • mm 美国激光游戏 MM
  • mmf Yamaha SMAF
  • mov QuickTime / MOV
  • mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV
  • mp2 MP2(MPEG 音频层 2)
  • mp3 MP3(MPEG 音频层 3)
  • mp4 MP4(MPEG-4 Part 14)
  • mpc Musepack
  • mpc8 Musepack SV8
  • mpeg MPEG-1 系统 / MPEG 程序流
  • mpeg1video 原生 MPEG-1 视频
  • mpeg2video 原生 MPEG-2 视频
  • mpegts MPEG-TS(MPEG-2 传输流)
  • mpegtsraw 原生 MPEG-TS(MPEG-2 传输流)
  • mpegvideo 原生 MPEG 视频
  • mpjpeg MIME 多部分 JPEG
  • mpl2 MPL2 字幕
  • mpsub MPlayer 字幕
  • msnwctcp MSN TCP 网络摄像头流
  • mtv MTV
  • mulaw PCM mu-law
  • mv Silicon Graphics Movie
  • mvi Motion Pixels MVI
  • mxf MXF(材料交换格式)
  • mxf_d10 MXF(材料交换格式)D-10 映射
  • mxf_opatom MXF(材料交换格式)操作模式原子
  • mxg MxPEG 剪辑
  • nc NC 摄像头数据
  • nistsphere NIST 语音头资源
  • nsv Nullsoft 流媒体视频
  • nut NUT
  • nuv NuppelVideo
  • oga Ogg 音频
  • ogg Ogg
  • oma Sony OpenMG 音频
  • openal OpenAL 音频捕获设备
  • opengl OpenGL 输出
  • opus Ogg Opus
  • oss OSS(开放声音系统)播放
  • paf Amazing Studio 压缩动画文件
  • pictor_pipe 管道 pictor 序列
  • pjs PJS(凤凰日本动画协会)字幕
  • pmp PlayStatio Portable PMP
  • png_pipe 管道 png 序列
  • psp PSP MP4(MPEG-4 Part 14)
  • psxstr Sony PlayStatio STR
  • pulse Pulse 音频输出
  • pva TechnoTrend PVA
  • pvf PVF(便携式声音格式)
  • qcp QCP
  • qdraw_pipe 管道 qdraw 序列
  • r3d REDCODE R3D
  • rawvideo 原生视频
  • realtext RealText 字幕格式
  • redspark RedSpark
  • rl2 RL2
  • rm RealMedia
  • roq 原生 id RoQ
  • rpl RPL / ARMovie
  • rsd GameCube RSD
  • rso Lego Mindstorms RSO
  • rtp RTP 输出
  • rtp_mpegts RTP/mpegts 输出格式
  • rtsp RTSP 输出
  • s16be PCM 有符号 16 位大端
  • s16le PCM 有符号 16 位小端
  • s24be PCM 有符号 24 位大端
  • s24le PCM 有符号 24 位小端
  • s32be PCM 有符号 32 位大端
  • s32le PCM 有符号 32 位小端
  • s8 PCM 有符号 8 位
  • sami SAMI 字幕格式
  • sap SAP 输出
  • sbg SBaGen 双耳节拍脚本
  • sdl SDL 输出设备
  • sdp SDP
  • sdr2 SDR2
  • segment 分段
  • sgi_pipe 管道 sgi 序列
  • shn 原生 Shorten
  • siff Beam Software SIFF
  • singlejpeg JPEG 单个图像
  • sln Asterisk 原生 pcm
  • smjpeg Loki SDL MJPEG
  • smk Smacker
  • smoothstreaming Smooth Streaming 复用器
  • smush LucasArts Smush
  • sol Sierra SOL
  • sox SoX 原生
  • spdif IEC 61937(用于 S/PDIF - IEC958)
  • spx Ogg Speex
  • srt SubRip 字幕
  • stl Spruce 字幕格式
  • stream_segment,ssegment 流分段复用器
  • subviewer SubViewer 字幕格式
  • subviewer1 SubViewer v1 字幕格式
  • sunrast_pipe Sunrast 序列管道
  • sup 原生 HDMV 演示图形流字幕
  • svcd MPEG-2 PS (SVCD)
  • swf SWF (ShockWave Flash)
  • tak 原生 TAK
  • tedcaptions TED 演讲字幕
  • tee 多路复用 tee
  • thp THP
  • tiertexseq Tiertex Limited SEQ
  • tiff_pipe tiff 序列管道
  • tmv 8088flex TMV
  • truehd 原生 TrueHD
  • tta TTA (True Audio)
  • tty 电传打字机
  • txd Renderware 纹理字典
  • u16be PCM 无符号 16 位大端
  • u16le PCM 无符号 16 位小端
  • u24be PCM 无符号 24 位大端
  • u24le PCM 无符号 24 位小端
  • u32be PCM 无符号 32 位大端
  • u32le PCM 无符号 32 位小端
  • u8 PCM 无符号 8 位
  • uncodedframecrc 未编码帧 crc 测试
  • v4l2 Video4Linux2 输出设备
  • vc1 原生 VC-1 视频
  • vc1test VC-1 测试比特流
  • vcd MPEG-1 系统 / MPEG 程序流 (VCD)
  • video4linux2,v4l2 Video4Linux2 设备抓取
  • vivo Vivo
  • vmd Sierra VMD
  • vob MPEG-2 PS (VOB)
  • vobsub VobSub 字幕格式
  • voc Creative Voice
  • vplayer VPlayer 字幕
  • vqf 日本电气通信株式会社 (NTT) TwinVQ
  • w64 Sony Wave64
  • wav WAV / WAVE (波形音频)
  • wc3movie Wing Commander III 电影
  • webm WebM
  • webm_chunk WebM 块复用器
  • webm_dash_manifest WebM DASH 清单
  • webp WebP
  • webp_pipe webp 序列管道
  • webvtt WebVTT 字幕
  • wsaud Westwood Studios 音频
  • wsvqa Westwood Studios VQA
  • wtv Windows 电视 (WTV)
  • wv 原生 WavPack
  • x11grab 使用 XCB 的 X11 屏幕捕获
  • xa Maxis XA
  • xbin 扩展二进制文本 (XBIN)
  • xmv Microsoft XMV
  • xv XV (XVideo) 输出设备
  • xwma Microsoft xWMA
  • yop Psygnosis YOP
  • yuv4mpegpipe YUV4MPEG 管道

许可证

file-preview 在 MIT 许可下发布。