Водяной знак ко всему PDF в папке с именем файла

У меня есть набор файлов PDF в папке. Я хотел бы делать водяные знаки на всех них. watermak должен быть названием самого файла. Как?

Я использую человечность 18.04LTS

1
задан 22 April 2020 в 15:03

1 ответ

  • Создайте сценарий gedit /home/user/folderwithpdfs/pdfstamp.sh, который генерирует файл watermark.pdf с текстом сокращенного имени файла внутри как водяной знак:

    #!/bin/bash
    text=${1?missing text to show}
    # Restricts string to 15 symbols from start, without extension and folder's path
    mtext=$(echo ${text:0:15} | sed 's/.pdf//' | sed -e 's,.*/,,') 
    angle=45 # in degrees counterclockwise from horizontal
    grey=0.75 # 0 is black 1 is white
    
    ps2pdf - - <<!
    %!PS
    /cm { 28.4 mul } bind def
    /draft-Bigfont /Helvetica-Bold findfont 72 scalefont def
    /draft-copy {
            gsave initgraphics $grey setgray
            5 cm 10 cm moveto
            $angle rotate
            draft-Bigfont setfont
            ($mtext) show grestore
     } def
    draft-copy showpage
    !
    
  • Поместите его в папку с файлами PDF

  • Выполните следующую команду в папке с файлами PDF, которые создадут файл watermark.pdf каждый раз, применить ее к текущему файлу и произвести ее в новый файл:

    for f in ./*.pdf 
      do ./pdfstamp.sh "$f" > watermark.pdf
      pdftk "$f" stamp watermark.pdf output "$f.pdf"
    done
    

    Команда создаст файлы filename.pdf.pdf с водяным знаком имен файлов, но без расширения и с 15 длинами символов.

    Сценарий главным образом создается @meuh.

    Результат:

    enter image description here

Следующий вариант команды поместит водяной знак в фон, таким образом, это могло быть похожим прозрачный:

for f in ./*.pdf; do ./pdfstamp.sh "$f" > watermark.pdf && pdftk "$f" background watermark.pdf output "$f.pdf"; done

enter image description here

Но этот метод имеет оборотную сторону: этот водяной знак мог быть покрыт изображениями.

1
ответ дан 25 April 2020 в 10:42

Другие вопросы по тегам:

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