在Seafile 11.0中使用office-preview

seafile官方的office-preview已经很久没有更新了,其实也没啥更新的意义,就是把office文件转成pdf而已,在11.0之前的版本中都可以正常使用。然而,虽然在seafile 11.0中虽然可以显示,但是效果变得很差:

在seafile的官方论坛中也找到一个相关的帖子office-preview 还有更新吗?,官方说这个组件不更新了,推荐使用其他的,其实这个组件老早之前就在服务器手册中删除了。按道理这个地方应该只是一些样式错误,毕竟都是pdf,pdf能正常显示,那这个理论上也能正常显示。

初步尝试

首先是查看了pdf页面和office的css差异,发现office页面缺少viewer.csscustom.css,加上了之后就正常了。

修复样式错误

这个主要是因为/opt/seafile/seafile-pro-server-11.0.5/seahub/seahub/templates/下的document_file_view_react.htmlshared_file_view_react.html中加载office文件时css样式缺少viewer.csscustom.css,这两个文件分别控制预览和分享预览页面,因此在document_file_view_react.html中修改:

{% block extra_style %}
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/pdf/web/viewer.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/pdf/web/custom.css" />
<link rel="resource" type="application/l10n" href="{{ MEDIA_URL }}js/pdf/web/locale/locale.properties" />
{% render_bundle 'viewFileDocument' 'css' %}
{% endblock %}

shared_file_view_react.html中修改:

{% elif filetype == 'Document' %}
    <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/pdf/web/viewer.css" />
    <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/pdf/web/custom.css" />
    <link rel="resource" type="application/l10n" href="{{ MEDIA_URL }}js/pdf/web/locale/locale.properties" />
    {% render_bundle 'sharedFileViewDocument' 'css' %}
{% elif filetype == 'SpreadSheet' %}

修复office分享页面中标题含有两侧灰边

在pdf中,class=”shared-file-view-head”的元素还带有属性”w-100 px-4″,这个会把标题扩展到整个屏幕宽度,这个是由于/opt/seafile/seafile-pro-server-11.0.5/seahub/media/assets/frontend/static/js/commons.2fec6858.js(应该是/opt/seafile/seafile-pro-server-11.0.5/seahub/frontend/src/components/shared-file-view/shared-file-view.js编译而来)的影响:

className:"shared-file-view-head ".concat("md"==e||"pdf"==e?"w-100 px-4":"")

如果文件类型为md或pdf才会加上这个属性,因此修改为

className:"shared-file-view-head w-100 px-4"

注意这会将所有分享文件界面标题扩展到整个屏幕宽度。

office文件页面标题为fake.pdf

在打开文件前是正常的标题,但是加载完标题就变为fake.pdf,这是由于/opt/seafile/seafile-pro-server-11.0.5/seahub/media/js/pdf/web/viewer.js会按照请求网址重新设置页面标题,因此将document.title = ${editorIndicator ? "* " : ""}${title};注释掉即可。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇