AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1229430
Accepted
user2413
user2413
Asked: 2020-04-23 04:03:58 +0800 CST2020-04-23 04:03:58 +0800 CST 2020-04-23 04:03:58 +0800 CST

Marca d'água todos os pdfs na pasta com o nome do arquivo

  • 772

Eu tenho um monte de arquivos pdf em uma pasta. Eu gostaria de marcar todos eles com marca d'água. O watermak deve ser o nome do próprio arquivo. Como?

Estou usando o Ubuntu 18.04LTS

command-line pdf
  • 1 1 respostas
  • 3505 Views

1 respostas

  • Voted
  1. Best Answer
    Gryu
    2020-04-23T05:09:08+08:002020-04-23T05:09:08+08:00
    • Crie um script gedit /home/user/folderwithpdfs/pdfstamp.sh, que gerará o arquivo watermark.pdf com o texto do nome do arquivo abreviado como marca d'água:

      #!/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
      !
      
    • Coloque-o na pasta com arquivos pdf

    • Execute o próximo comando dentro da pasta com arquivos pdf, que criará o arquivo watermark.pdf a cada vez, aplique-o ao arquivo atual e envie-o para o novo arquivo:

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

      O comando criará arquivos filename.pdf.pdf com marca d'água de nomes de arquivos, mas sem extensão e com 15 símbolos de comprimento.

      Script criado principalmente por @meuh.

      Resultado:

      insira a descrição da imagem aqui

    A próxima variante do comando colocará a marca d'água no plano de fundo, para que pareça transparente:

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

    insira a descrição da imagem aqui

    Mas esse método tem uma desvantagem: essa marca d'água pode ser coberta por imagens.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve