web-dev-qa-db-fra.com

Ligne de commande: Comment faire pivoter un fichier PDF 90 degrés?

Lorsque je numérise des documents en mode paysage, les fichiers de sortie PDF sont portrait et donc tous les téléspectateurs PDF affichent les documents numérisés en mode portrait).

À partir de la ligne de commande, comment faire pivoter un PDF 90 degrés?

J'ai essayé de chercher et trouvé un tas de solutions mais j'ai eu du mal à trouver ce qui ressemblait à une solution faisant autorité [1] qui utilise un outil linux/unix stable/robuste.


note de bas de page [1]

Par exemple, voici un échantillon de certaines des solutions aléatoires que j'ai trouvées:

  • "utilisez simplement Adobe Acrobat Pro pour faire pivoter le fichier, puis enregistrez-le"
  • "utiliser pdfjam"
  • "utiliser pdftk"
  • "utilisez $ {PROGRAM_NAME} de Poppler"
  • "utilisez la conversion d'Imagemagick" - mais alors tous les commentaires étaient très négatifs et déclaraient "la qualité d'image est ruinée"
  • "ouvrir le fichier dans une visionneuse PDF, puis faire pivoter, puis imprimer à l'aide d'une imprimante PDF comme CUTEPDF ou PDFPRINTER ou etc."
  • "utiliser $ {PROGRAM_NAME}" puis j'ai recherché "$ {PROGRAM_NAME}" et il y a quelque chose à propos de "Fedora a supprimé $ {PROGRAM_NAME} en raison de problèmes de licence"
65
Trevor Boyd Smith

Utilisez simplement pdftk.

  1. Pour tourner dans le sens horaire:

    pdftk input.pdf cat 1-endeast output output.pdf
    
  2. Pour tourner dans le sens inverse des aiguilles d'une montre:

    pdftk input.pdf cat 1-endwest output output.pdf
    

Concernant l'installation de pdftk sur Fedora, j'ai trouvé ce lien .

66
user163859

Je suis juste tombé sur ce fil et j'ai vu qu'il n'y avait pas encore de bonne solution mentionnée. J'ai trouvé que (au moins sur Debian et Ubuntu) pdfjam est livré avec les commandes suivantes:

pdf90 input.pdf
pdf180 input.pdf
pdf270 input.pdf

Je pense que c'est l'approche la plus simple et la plus rapide. Ce sont des scripts utilisant correctement la commande pdfjam. Btw. le pdfjam est un paquet virtuel fourni avec texlive-extra-utils

50
derschueddi

Dans Linux Mint 18.3 (je crois aussi dans d'autres distributions dérivées de Debian), vous avez un simple outil en ligne de commande nommé QPDF.

Vous pouvez utiliser: qpdf in.pdf out.pdf --rotate==[+|-]angle[:page-range].

De la documentation :

--rotate = [+ | -] angle [: plage de pages]

Appliquer la rotation aux pages spécifiées. La partie plage de pages de la valeur de l'option a le même format que les plages de pages de la section 3.5, "Options de sélection de page". Si la plage de pages est omise, la rotation est appliquée à toutes les pages. La partie angulaire du paramètre peut être 90, 180 ou 270. S'il est précédé de + ou -, l'angle est ajouté ou soustrait des rotations d'origine des pages spécifiées. Sinon, les rotations des pages sont définies sur la valeur exacte. Par exemple, la commande qpdf in.pdf out.pdf --rotate=+90:2,4,6 --rotate=180:7-8 ferait pivoter les pages 2, 4 et 6 de 90 degrés dans le sens horaire par rapport à leur rotation d'origine et forcerait la rotation des pages 7 à 9 à 180 degrés quelle que soit leur rotation d'origine, et la commande qpdf in.pdf out.pdf --rotate=180 ferait pivoter toutes les pages de 180 degrés.

17
Royi

Vous pouvez utiliser ImageMagick: display ou convert - par exemple pour le faire tourner dans le sens horaire, utilisez

convert -rotate 90 <file>.pdf <rotated-file>.pdf

Utilisez -90 pour une rotation dans le sens antihoraire.

N.B. niquement utilisez cette méthode lorsque l'image d'origine est une image bitmap (par exemple, produite par numérisation). Si l'image d'origine n'est pas un bitmap, cette méthode la convertira en une seule et la qualité en souffrira. Dans ce dernier cas, veuillez utiliser l'une des méthodes des autres réponses.

17
NickD

pdftk n'est plus disponible sur Ubuntu 18.04 en raison de certaines dépendances obsolètes.

La meilleure solution que j'ai trouvée était l'outil (graphique) pdfshuffler.

Installez-le et exécutez-le. Ouvrez le fichier pdf souhaité, faites un clic droit sur la page et faites pivoter chacun individuellement. Il rassemble également des fichiers PDF et d'autres choses intéressantes.

Sudo apt install pdfshuffler
14
tronic

Pour améliorer la résolution de sortie (la valeur par défaut est 72 DPI), j'ai obtenu de bons résultats avec:

convert -rotate -90 -density 200 input.pdf output.pdf

C'était pour un .pdf d'un document numérisé. Je l'ai trouvé -density 300 qualité quelque peu réduite par rapport à -density 200.

8
Greg Ben

Bien qu'il ait ses limites, j'utilise assez souvent PDFedit, en particulier pour la rotation de PDF scans. Bien que la conversion d'ImageMagick (en utilisant des valeurs de densité plutôt élevée) atteigne une assez bonne qualité, elle gonfle également le fichier (original: 155 ko, copie pivotée à 180 °: 1,2 Mio). PDFedit fait pivoter la même image avec une qualité inchangée sans modifier sensiblement la taille du fichier.

1
ToraKamo

J'utilise cette commande pour faire pivoter automatiquement les fichiers pdf pour qu'ils se redressent s'ils ne le sont pas en premier lieu:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/All -sOutputFile="$outputFile" "$file"
0
SebMa

Pas la solution à cette question mais j'ai trouvé un moyen de faire tourner sans installer de logiciels ou utiliser un autre site Web

Ubuntu est livré avec pdfimages qui convertit un pdf en image

pdfimages input.pdf output

Ubuntu est également livré avec Images Viewer qui vous permet voir, tourner et imprimer au format pdf votre image

  • Ouvrir l'image avec Image Viewer
  • Appuyez sur le bouton de rotation en bas au centre
  • Ctrl + P pour imprimer l'image en pdf
0
thiagola92