Добавить номер страницы в pdf с помощью ghostscript

Я пытаюсь добавить номера страниц ко всем pdf-файлам в папке через скрипт bat.
Я не могу установить какое-либо программное обеспечение, поэтому я могу использовать только то, что установлено на моем компьютере с Windows.

У меня есть ghostscript и несколько программ для чтения PDF-файлов (также Nuance, у которой есть поддержка создателя gr8 Pdf, которая может сделать это в один миг, но не из партии).

Я нашел этот ответ здесь: Как я могу добавить нижний колонтитул внизу каждой страницы файла postscript или pdf в Linux? Но безуспешно!

И я сохранил «код» в файле .ps. после этого я запускаю:

for /f %%a in ('dir /b *.pdf') do (
gswin64c -q -dQUIET -dBATCH-dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=c:\folder\%%a -f AddPn2Pdf.ps )

person TrueTom    schedule 23.11.2016    source источник
comment
нет успеха? в чем проблема? в вашем фрагменте кода закрывающая скобка отсутствует BTW.   -  person Jean-François Fabre    schedule 23.11.2016
comment
Кажется, вы указываете выходной файл, но я не вижу, где вы указываете входной файл, который теоретически должен быть вашей переменной FOR. Вы используете только переменную FOR для выходного файла.   -  person Squashman    schedule 23.11.2016
comment
Код, который вы пытаетесь использовать, является BATCH-FILE. Сохранение его как файла .PS, я думаю, может быть PowerShell, но я думал, что они использовали .PS1 для расширения. Этот код не будет работать под powershell.   -  person Squashman    schedule 23.11.2016
comment
Если у вас есть Java, вы можете использовать Apache FOP и Apache Pdfbox - первый создает pdf-файл с последовательными номерами страниц (только) внизу, а последний накладывает столько страниц, сколько вам нужно, на каждый из пдф. Нет установки, кроме среды выполнения Java.   -  person Stefan Hegny    schedule 23.11.2016
comment
удалил комментарий,. ушел к ответу.   -  person KenS    schedule 23.11.2016


Ответы (1)


Пост, на который вы указываете, будет отлично работать для ввода PostScript, для чего он и предназначен. Он вообще не будет работать для ввода в формате PDF, потому что PDF — это не PostScript.

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

Лучшее решение, когда вы хотите изменить PDF-файл, — это вернуться к исходному документу, изменить его и переделать PDF-файл.

person KenS    schedule 23.11.2016
comment
Так. Если я сначала конвертирую каждый PDF в папке в постскриптум, я могу сделать тот же скрипт, но для файла PS? Изменение оригинала в Adobe Pro не вариант :(. Я успешно добавил имя файла в каждый заголовок, используя pdfstamper (который, как я полагаю, каким-то образом работает с iText). - person TrueTom; 24.11.2016
comment
Возможно, это сработает, но стоимость преобразования в PostScript значительна. Страницы с прозрачностью превратятся в изображения, аннотации станут отображаться как часть страницы, метаданные будут безвозвратно утеряны, возможно перестанет работать поиск, могут быть и другие проблемы. - person KenS; 24.11.2016