本页目录

安全与局限

这里整理了它绝不会对文件做的事,以及它无法保证的事。在处理工作文件、或接入公开服务之前,请先读一读。

文件不会发送到任何地方

转换在运行它的机器上完成。不上传、不联网、不收集使用数据,也不需要账号。

文件里的内容不会被执行

  • 宏、脚本、表单提交和外部链接只会被显示或跳过,绝不执行。
  • 需要密码才能打开的 PDF 会被拒绝转换,而不是去破解密码。
  • 只设置了权限密码(例如“禁止打印”)的 PDF,会像其他查看器一样被打开。这些限制只是声明,不是访问控制,document-svg 不会强制执行。是否可以转换这类文件,请事先自行判断。

保护机器的上限

文件大小、压缩包内容、XML 数据量和页数都有上限,超大或损坏的文件不会把内存耗尽。条目超过 10 万个的压缩包会在解压之前被拒绝。

上限可以调整,但不要只是为了让难处理的文件通过而调高。

不会覆盖已有文件

输出位置必须是新的或空的文件夹,已有的文件绝不会被覆盖。

显示结果时

请把 SVG 页面当作图片显示,不要把内容直接嵌进页面。显示辅助工具会做基本检查,但并不是通用的 SVG 净化工具。

用在公开服务上时

如果任何人都能上传文件,请把所有文件都当作不可信的。请在单独的、限制了内存和时间的进程里运行转换。

无法保证的事

  • 不保证与原件逐像素一致。可能有差异的地方会用警告提示,但没有警告也不代表保证。
  • 写回 Office 或 CAD 时保留的是外观,段落、单元格、公式和图表不会恢复。
  • 有些格式显示的是内容概要,而不是完整图形。
  • 不会对医学影像和报告做匿名化处理。文件中的个人信息可能原样出现在输出中。
  • 警告是“请检查”的信号,不是安全性或准确性的证明。

发现安全问题时

请不要发公开 Issue,而是通过 GitHub 的私密漏洞报告告诉我们。安全修复只会进入最新的发布版本。