Forum Astuces.divers traitement lot / compresser pdf

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
3
juil.
2015

Bonjour à tous.

Ayant un grand nombre de Pdf je recherche un moyen de les traiter par lot.

J'ai trouvé la commande qui fopnctionne parfaitement
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=fichier_compresse.pdf fichier.pdf

il y aurais t il une syntaxe qui permet de traiter par lot dans l'esprit de
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$1_reduit.pdf *.pdf

MODE: AUTO-RESPONSE -> ON

    #!/bin/bash

    for f in *.pdf
      do
      command pdftops \
          -paper match \
          -nocrop \
          -noshrink \
          -nocenter \
          -level3 \
          -q \
        "$f" - \
        | command ps2pdf14 \
          -dEmbedAllFonts=true \
          -dUseFlateCompression=true \
          -dOptimize=true \
          -dProcessColorModel=/DeviceRGB \
          -dUseCIEColor=true \
          -r144 \
          -dDownsampleGrayImages=true \
          -dGrayImageResolution=144 \
          -dAutoFilterGrayImages=false \
          -dGrayImageDownsampleType=/Bicubic \
          -dDownsampleMonoImages=true \
          -dMonoImageResolution=144 \
          -dMonoImageDownsampleType=/Bicubic \
          -dDownsampleColorImages=true \
          -dColorImageResolution=144 \
          -dAutoFilterColorImages=false \
          -dColorImageDownsampleType=/Bicubic \
          -dPDFSETTINGS=/prepress \
          - "compress/$f"
    done
  • # coomand ?

    Posté par  . Évalué à 3.

    A quoi sert "command" dans le cas de ce script ?

    La page de manuel ne me donne pas d'information me permettant de comprendre l'utilité (je n'avais encore jamais vu cette commande, ou je n'ai jamais tilté dessus).
    Et une recherche Google pose problème vu que "command" ramène vraiment beaucoup de choses.

    • [^] # Re: coomand ?

      Posté par  . Évalué à 3.

      A quoi sert "command" dans le cas de ce script ?

      Ça sert (en théorie) à être sûr que tu vas appeler la commande qui suit et non pas une hypothétique fonction du shell qui porterait le même nom. Bon, ici, l'utilité ne me saute pas aux yeux, mais ça ne veut pas dire qu'elle n'existe pas :)

      Sinon, un help command renseigne sur command (qui est un utilitaire POSIX) :

      $ help command
      command: command [-pVv] command [arg ...]
          Runs COMMAND with ARGS ignoring shell functions.  If you have a shell
          function called `ls', and you wish to call the command `ls', you can
          say "command ls".  If the -p option is given, a default value is used
          for PATH that is guaranteed to find all of the standard utilities.  If
          the -V or -v option is given, a string is printed describing COMMAND.
          The -V option produces a more verbose description.
      
  • # je ne comprend pas

    Posté par  . Évalué à 2.

    tu as une commande avec gs tu ne t'en sers pas, tu passe pas pdftops puis par ps2pdf14…

    tu pouvais simplement faire un

    for f in *.pdf
    do
       gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$f_reduit.pdf $f
    done
    • [^] # Re: je ne comprend pas

      Posté par  . Évalué à 1.

      Simplement car gs me donnais de moins bon résultat

    • [^] # Re: je ne comprend pas

      Posté par  (site web personnel) . Évalué à 3.

      Tant qu'à utiliser ps2pdf, pour info, comme ce n'est qu'un script autour de gs, et que gs accepte aussi bien le PDF que le PS en entrée, tu peux très bien l'utiliser directement sur le PDF, sans convertir au préalable en PS. Un truc comme ça si tu veux :

      ps2pdf truc.pdf nouveau_truc.pdf

      Ça a l'air un peu étrange, je l'admets. :-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.