Ghostscript Как сделать водяной знак одной специальной страницы постскриптумного документа?

Если вы используете массив без указанной длины, VC ++ 6.0 может автоматически идентифицировать его длину, поэтому, если вы используете «int a [] = {1,2,};» длина a равна 3 , но последний не был инициализирован, вы можете использовать «cout & lt;
0
задан StoryTeller 4 March 2019 в 07:11
поделиться

1 ответ

Если для ввода используется PostScript, вы можете использовать номер, который ваша программа извлекает из стека, потому что это количество страниц, выполненных до сих пор.

Если вы посмотрите на определение EndPage в PLRM (стр. 427 в 3-м издании), то увидите, что в стеке операндов есть два числа, код причины сверху и количество предыдущих выполнений showpage. Вы должны сначала проверить код причины. Если его 2, высчитайте количество и верните false. Если это не 2, то проверьте второе число, чтобы увидеть, если это значение, которое вызовет вашу страницу. Если это не так, верните true. Если это так, то сначала выполните процедуру маркировки и затем верните true.

Обратите внимание, мне кажется, что ваша программа оставляет количество выполнений showpage в стеке операндов, когда код причины равен 2. Это плохая практика; если вызывается достаточно часто, вы можете вызвать ошибку переполнения стека. Также допустимо, чтобы программа оставляла операнды в стеке во время показа страницы и использовала их после. Если вы оставите что-то в стеке, это будет означать, что программа извлекает неправильные объекты.

К сожалению, когда вводится PDF, интерпретатор Ghostscript PDF выполняет setpagedevice на каждой странице, и это сбрасывает счет до 0.

Поэтому, когда входной файл представляет собой PDF, вам нужно изменить свою программу, чтобы сохранить количество страниц, с которыми она столкнулась до сих пор, чтобы вы могли проверить ее и активировать только при необходимости. Дайте ему уникальное имя и сохраните его в userdict, увеличивайте его при каждом выполнении EndPage и запускайте маркирующую часть программы только тогда, когда она достигает определенного значения.

PostScript - это язык программирования ......

0
ответ дан KenS 4 March 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: