2017-01-13 23 views
2

У меня есть следующие PostScript (stamp.ps) для добавления водяных знаков в PDF файле:Удалить autorotating из PostScript

<< 
    /EndPage 
    { 
    2 eq { pop false } 
    { 
     gsave  
     /Helvetica_Bold 24 selectfont 
     130 70 moveto (Sample) show 
     grestore 
     true 
    } ifelse 
    } bind 
>> setpagedevice 

Я называю это так:

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=out.pdf stamp.ps -f in.pdf 

и она работает хорошо , за исключением того, что иногда он вращает PDF-файл. Чтобы предотвратить это, я добавил -dAutoRotatePages=/None, так что теперь я называю это так:

gs -dBATCH -dNOPAUSE -dAutoRotatePages=/None -sDEVICE=pdfwrite \ 
    -sOutputFile=out.pdf stamp.ps -f in.pdf 

Но теперь он иногда поворачивает текст водяного знака (для файлов, которые ранее были повернуты).

Мой вопрос: как остановить вращение как текста, так и страниц.

+0

FYI, вы можете использовать '-o out.pdf' вместо' -sOutputFile = out.pdf'. –

+0

FYI, гораздо более короткий одиночный '-o out.pdf' заменяет все эти * три параметра * сразу:' -dBATCH -dNOPAUSE -sOutputFile = out.pdf' ... –

ответ

1

Если вы установили -dAutoRotatePages=/None то Ghostscript не повернется страницу (обратите внимание на других людей, читающих это, этот переключатель только влияет на pdfwrite устройство).

Ghostscript никогда не будет вращать текст в вашей процедуре EndPage. Это означает, что что-то еще происходит, и нет никакого способа сказать, что это такое без примера.