我有一个 27MB 的 pdf 文件,托管在 web 中。当我尝试打开它时,需要花费一些时间才能打开它。那么有什么办法可以让我更快地查看这个大的 pdf 文件呢?我想有一些设置可以让我们在下载某些页面后查看一次文件的页面。对此的任何解决方案将受到高度赞赏
您需要对 PDF 进行的操作是使其“网络优化”。技术上更正确的术语是使它们“线性化”:
pdfopt.ps,可以执行此操作。只需运行:gs -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER -- /path/to/pdfopt.ps input.pdf optimized.pdf,或者如果您使用的是 Windows:gswin32.exe -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER -- c:/path/to/pdfopt.ps input.pdf optimized.pdf通常pdfopt.ps应与 Ghostscript 一起安装在安装路径的lib/子目录中。如果没有,您可以从 Ghostscript Git 存储库下载 pdfopt.ps 。
线性化在内部重新组织 PDF,以便将 PDF 对象的内部 ToC(技术术语:其“外部参照表”)(其副本)放置在靠近文件开头(而不是末尾)的位置,再加上一些更多变化。
这样,符合规范的 PDF 阅读器将能够在加载文件的其余部分之前开始渲染第一页。如果您使用基于 HTTP 的协议通过网络访问 PDF,甚至可以在下载中间页面之前跳转到最后一页并查看它。但是,Web 服务器需要支持 HTTP“字节范围”请求(否则即使对于线性化 PDF,这也不起作用)。
您可以在 Adobe 网站上提供的官方 PDF-1.7 ISO 标准规范中阅读有关 PDF 线性化的更多详细信息
可以在此处找到线性化 PDF 的示例
自 Ghostscript 9.07 版本以来,通过在命令行中添加以下开关,可以直接生成线性化(“网络优化”)PDF 输出(无需上述的两步方法):
-dFastWebView=true
Run Code Online (Sandbox Code Playgroud)
由于该pdfopt.ps文件现在是多余的,因此已从当前的 Ghostscript 源存储库中删除。
| 归档时间: |
|
| 查看次数: |
5244 次 |
| 最近记录: |