Да, вы можете использовать Ghostscript для достижения желаемого.
I. Для версий Ghostscript до 9.14
Вам необходимо пройти 2 шага:
Преобразуйте PDF в файл PostScript, но используйте побочный эффект относительно неизвестного параметра: он называется -dNOCACHE
. Это преобразует все используемые шрифты в контурные формы:
gs -o somepdf.ps -dNOCACHE -sDEVICE=pswrite somepdf.pdf
Преобразуйте PS обратно в PDF (и, возможно, снова удалите промежуточный PS):
gs -o somepdf-with-outlines.pdf -sDEVICE=pdfwrite somepdf.ps
rm somepdf.ps
Этот метод не является надежным в долгосрочной перспективе, поскольку разработчики Ghostscript заявили, что -dNOCACHE
может отсутствовать в будущих версиях.
Примечание. итоговый файл PDF, скорее всего, будет больше исходного. Кроме того, без дополнительных параметров командной строки все изображения в исходном PDF-файле, скорее всего, также будут обрабатываться в соответствии со встроенными настройками Ghostscript по умолчанию. Это может привести к нежелательным побочным эффектам. Этих побочных эффектов можно избежать, добавив дополнительные параметры командной строки, чтобы сделать иначе.
II. Ghostscript версии 9.15 или новее
Версия Ghostscript 9.15 (выпущенная в сентябре 2014 г.) поддерживает новый параметр командной строки:
-dNoOutputFonts
Это приведет к тому, что устройства вывода pdfwrite
, ps2write
и eps2write
"сведут глифы в "базовые" операции маркировки (а не запишут шрифты в вывод)".
Это означает: двух шагов, описанных для версий до 9.15 GS, можно избежать. Желаемый результат достигается одной командой:
gs -o file-with-outlines.pdf -dNoOutputFonts -sDEVICE=pdfwrite file.pdf
Примечание. верно то же предостережение, что уже отмечалось в части I. Если ваш PDF-файл содержит изображения, возможны нежелательные побочные эффекты, вызванные простой командной строкой выше. . Чтобы избежать этого, вам нужно добавить более конкретные параметры.
person
Kurt Pfeifle
schedule
01.03.2015