Поиск и замена в файле postscript перед перегонкой - PullRequest
0 голосов
/ 17 января 2020

Я хочу попробовать предварительно обработать некоторые файлы postscript, чтобы добавить в файл правильные PAGELABELS до того, как Acrobat Distiller создаст из него PDF-файл.

PAGELABEL - это инструкция pdfmark для дистиллятора, чтобы изменить нумерацию по умолчанию для Страницы PDF со значениями по умолчанию 1,2,3 и т. Д. c к чему-то определенному пользователем.

Это может быть простая последовательность приращений, НЕ начинающаяся с 1, например, 45, 46, 47 и т. Д. c
Или это может быть связано с, возможно, передним вопросом сзади со схемой, подобной i, ii, iii, iv и т. Д. Инструкция поясняется здесь

Мой вариант использования - первый из тех. Я создаю книгу из нескольких глав, где каждая глава представляет собой отдельный файл PDF, а следующие страницы на страницах следуют из предыдущей главы. Но в настоящее время Distiller помечает первую страницу в каждом PDF-файле как страницу 1 и увеличивает ее оттуда.

Но в файлах postscript есть комментарий постскриптума, отмечающий каждый фолио страницы, как этот% PGI_Folio: 25

Итак Я подумал, что простая команда sed может преобразовать этот комментарий в инструкцию pdfmark, которую я пробовал:

sed -i 's+%PGI_Folio: \([[:digit:]]+\)\n+%PGI_Folio: \1\n[   /Label (\1) /PAGELABEL pdfmark\n+g' $1

заменив более общий / в синтаксисе s / search / replace / g на +, потому что термин замены включает / уже

Но я просто получаю

sed: -e expression #1, char 34: unknown option to `s'

Любые предложения о том, как заставить это работать?

...