

|
| word/excel/ppt | [onlyoffice](https://www.onlyoffice.com/zh/) | 

|
| word/excel/ppt | [libreoffice online](https://zh-cn.libreoffice.org/download/libreoffice-online/) | 

|
| word/excel/ppt | [Collabora Online](https://www.collaboraoffice.com/) | 

|
| pdf | [PDF.js](https://mozilla.github.io/pdf.js/) |
|
| audio音频 | [audio.js](http://kolber.github.io/audiojs/) |
|
| video视频 | [videojs](https://videojs.com/) |
|
| markdonw | [vditor](https://github.com/Vanessa219/vditor) |
|
| 代码 | [CodeMirror](https://codemirror.net/) | 
|
| epub电子书 | [epub.js](https://github.com/futurepress/epub.js) |
|
| xmid脑图 | [xmind-embed-viewer](https://github.com/xmindltd/xmind-embed-viewer) |
|
| 网页 | 直接渲染 |
|
| 压缩文件 | [Apache Commons Compress](https://commons.apache.org/proper/commons-compress/) |
|
| bpmn | [bpmn.io](https://bpmn.io/) |
|
| cmmn | [bpmn.io](https://bpmn.io/) |
|
| dmn | [bpmn.io](https://bpmn.io/) |
|
## 其他6:自定义预览界面渲染
比如在实际使用minio作为对象存储,并想直接使用minio的url播放上传的视频
可通过继承IRenderPage并实现support和render方法的方式自定义页面渲染的方式
```java
@Service
public class MinIORenderPage implements IRenderPage {
@Override
public Boolean support(FilePreviewService filePreviewService, FilePreviewInfo filePreviewInfo) {
if ("life goes on.mp4".equals(filePreviewInfo.getOriginalFilename())) {
return Boolean.TRUE;
}
return Boolean.FALSE;
}
@Override
public ServerResponse render(FilePreviewService filePreviewService, FilePreviewInfo filePreviewInfo) {
try {
return ServerResponse.permanentRedirect(new URI("http://127.0.0.1:9000/testfilestorage/temp/preview/50236952-e8c5-4e67-afe9-ff39e3eac8ca.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MJC7FWTK56VPHS6SUZQL%2F20231106%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231106T004949Z&X-Amz-Expires=604800&X-Amz-Security-Token=eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiJNSkM3RldUSzU2VlBIUzZTVVpRTCIsImV4cCI6MTY5OTI3NDk3NiwicGFyZW50IjoiUk9PVFVTRVIifQ.DHAPkWUuPpy7-EVcQOh9VN6FOIbtsZiIX5THR3n7ds72zRpn9EY23BdCqf1wBYwjOel9a8IHF3qi-6z0PAAC0g&X-Amz-SignedHeaders=host&versionId=null&X-Amz-Signature=acf50009a980667d5084236bcb4993a42a57b2419b0ec1955f5eef8f2e7f982c")).build();
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}
}
```
## 待办
- [ ] *查看压缩文件的列表时,可对其中的文件进行预览和下载*