Что вам нужно сделать, чтобы ваши PDF-файлы, чтобы сделать их "веб-оптимизированными".Технически более правильный термин - сделать их «линеаризованными»:
- Acrobat + Distiller и многие другие инструменты могут сделать это.
- Ghostscript также поставляется с дополнительной вспомогательной утилитой, написанной на PostScript с именем
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/
подкаталог.Если нет, вы можете скачать pdfopt.ps из Git-репозитория Ghostscript.
Линеаризация внутренне реорганизует PDF, так что (копия) его внутреннего ToC объектов PDF (в техническом плане: его " xref table") помещается близко к началуфайла (вместо его конца), плюс еще некоторые изменения.
Таким образом, читатель PDF, соответствующий спецификации, сможет начать рендеринг первой страницы до того, как будет загружена оставшаяся часть файла.Можно даже перейти к последней странице и просмотреть ее до загрузки средних страниц, если вы просматриваете PDF-файл через Интернет по протоколам HTTP.Но затем веб-сервер должен поддерживать запросы HTTP «диапазон байтов» (в противном случае это не сработает даже для линеаризованных PDF-файлов).
Более подробную информацию о линеаризации PDF можно прочитать в официальном PDF-1,7.Спецификация стандарта ISO, доступна на веб-сайте Adobe
- в его (нормативном) Приложении F, "Линеаризованный PDF" , начиная со страницы 683, и
- в его (информативном) Приложении G, "Линеаризованные стратегии доступа к PDF" , начиная со страницы 703.
Пример линеаризованной банки PDF можно найти здесь
Обновление (2013-2-15)
Начиная с выпуска 9.07 Ghostscript, линеаризованный («оптимизированный для веб») вывод PDF можно создавать напрямую (бездвухэтапный подход, описанный выше) путем добавления следующего параметра в командную строку:
-dFastWebView=true
Поскольку файл pdfopt.ps
теперь является избыточным, он был удален из текущего исходного хранилища Ghostscript.