Можно ли уменьшить память GhostScript? - PullRequest
0 голосов
/ 05 ноября 2018

Команда выглядит так:

gs -q -dSAFER -dBATCH -dNOPAUSE -dPDFSETTINGS = / prepress -sDEVICE = pdfwrite -sOutputFile = output.pdf 1.pdf 2.pdf ... N.pdf

Каждый входной PDF-файл содержит много изображений, и большинство изображений совместно используются входными PDF-файлами.

Команда успешно выполнена. Использование памяти увеличивается постепенно и, наконец, достигает 3,7 ГБ. Я пробовал различные PDFSETTINGS: допечатная подготовка / принтер / электронная книга / экран. Максимальная память не уменьшилась.

Я хочу знать, возможно ли сократить использование памяти GhostScript? Более длительное время обработки ЦП приемлемо.

$ gs -v GPL Ghostscript 9.25 (2018-09-13) Авторские права (C) 2018 Artifex Software, Inc. Все права защищены.

1 Ответ

0 голосов
/ 05 ноября 2018

Нет, вы не можете значительно уменьшить использование памяти устройством pdfwrite.

Устройство pdfwrite сохраняет много вещей в памяти. Результатом этого является то, что для файлов с огромным количеством страниц и многих ресурсов, таких как шрифты, использование памяти может быть чрезвычайно высоким.

Вы не можете делиться изображениями между PDF-файлами. Каждый файл PDF может содержать копию изображения, которое является дубликатом изображения в другом файле PDF, но они не передаются.

Изменение PDFSETTINGS не будет иметь никакого значения; это в первую очередь влияет на цветовое пространство и разрешение изображений, которые хранятся на диске, а не в памяти. Так что их изменение не изменит использование памяти.

Конечно, вы могли бы потенциально обнаружить утечку памяти, но, не увидев ввода, я даже не мог догадаться. Даже если вы сделали входные данные доступными, если только нет чего-то очевидного, я не буду пытаться отлаживать то, что использует лучше, чем 3 ГБ памяти.

...