V2EX hiko2chen
 hiko2chen 最近的时间轴更新
hiko2chen

hiko2chen

V2EX 第 398848 号会员,加入于 2019-04-05 16:28:47 +08:00
今日活跃度排名 30356
根据 hiko2chen 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
hiko2chen 最近回复了
@hugodotlau 这个问题不知道是不是也是类似上面的,小文件里面的图片文件已经被压缩过了,推荐模式的重新编码可能会导致体积上升
@dimwoodxi27 主要还是有些文件,比如比较重要的合同,文件,私人的内容之类的,上传到别人服务器总是有些不放心
@gdfsjunjun 我找到问题了
[核心原因]
1. 原 PDF 里面的 JPEG 文件已经经过一次压缩率较高的“激进压缩”,文件已经很小且优化了。
2. 如果使用的是推荐模式进行压缩的话,我的 GS 内使用的是/printer 预设进行压缩,内部的参数 QFactor 较低,相当于保守压缩,此时 GS 会对 JEPG 全部解码重新编码。
3. 因为重新编码参数更保守,所以会尝试保留更多已经在第一次压缩时丢失的细节,编码一些已经损坏的数据。

最终导致体积上升。

而且我算了一下,这个文件 280 个 JPEG 图片,使用重压缩,每个图片可能会增加 50-100KB ,增量也是差不多 21 MB ,和预期差不多

[解决方案]
对于这种已经被压缩处理过的 PDF ,再压缩的方式可以使用极致压缩模式,这样会再对内容进行有损压缩,但是速度会较慢,我试了下,压缩了 18%,从 51MB 压缩到 42MB 。
不过我当前这个也有设计缺陷,我后续考虑拓展一下 PDF 分析组件,提前提取分析 jpeg 质量,如果高于当前压缩算法,忽略重新编码 jpeg ,仅优化数据流
@gdfsjunjun 感谢,我本地测试一下

@dimwoodxi27 是的,有很多更好的解决方案,当前产品主要是为了解决即时可用和无需上传,保护隐私两个需求方向,所以会有一些取舍
wasm 目前还使用的是 GS 原版,很难自行编译精简,也是目前在考虑更新换轻量库
@kukuCode 挂在 cloudflare 的 pages 上面的,免费请求额度非常多,个人完全够用
@enrolls 后续有空了打包一个~

@abc8678 暂时还不支持直接直接保存离线使用,因为当前没有 Service Worker ,wasm 文件每次是动态获取的,只支持弱网使用,后续会推进 PWA 这块

@gdfsjunjun 这个有点尴尬,你的 PDF 是不是本身已经被其他工具压缩过啦?之前遇到过类似的问题是这个情况,或者你的文件内容是什么类型的呀,都是图片或者文字?
@yechentide 感谢建议,文案方向很有用!
关于 PWA ,其实当前是支持的,但不是完全体,有 webmaifest 文件,chrome 会提示安装,不过没有实现 Service Worker ,因为后续可能会更新引擎,所以暂时不做缓存处理,等到完全体后再考虑更新
@acherkrau 是的,Ghostscript 原生的性能非常不错,不过 wasm 化后,可能只有 20% 不到的性能,用来换取即开即用的便利了
@EeveeRibbon 对的,我理解你说的!大多数普通用户对于浏览器还是会有固有印象,是一个联网的东西,本地感知这点肯定比不上一个下载安装的 App 。
我当前的解决方案也是在 UI 上加入了一些文案来说明“本地”性质,当前还是先强化即时可用这个

后续有灵感和精力了,我在考虑从交互流程上去优化它,效果应该会更好~
@PbCopy111 是的,WPS 我感觉啥功能都有,不过好多都要付费,下次有其他需求我让他自己买个 WPS 最好哈哈哈
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     924 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 11ms UTC 21:25 PVG 05:25 LAX 13:25 JFK 16:25
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86