668 votes

Comment extraire une plage de pages / une partie d'un PDF ?

Savez-vous comment extraire une partie d'un document PDF et l'enregistrer au format PDF ? Sous OS X, c'est absolument trivial en utilisant Preview. J'ai essayé l'éditeur PDF et d'autres programmes mais sans succès.

J'aimerais un programme qui me permette de sélectionner la partie que je veux et de l'enregistrer en tant que fichier PDF avec une commande simple comme celle-ci CMD + N sur OS X. Je veux que la partie extraite soit enregistrée au format PDF et non au format JPEG, etc.

3voto

doom Points 213

Malheureusement, Ubuntu ne fournit pas de commande pour le faire directement.

Mais vous pouvez utiliser pdfseparate et pdfunite en conjonction (les deux sont fournis par défaut avec votre Ubuntu)

Donc si vous voulez extraire la page 32 à 65 de sourcefile.pdf dans un nouveau fichier appelé extract.pdf vous pouvez taper ces commandes :

mkdir tmppdfdir
pdfseparate -f 32 -l 65 sourcefile.pdf tmppdfdir/page-%d.pdf
pdfunite tmppdfdir/page*.pdf extract.pdf
rm -rf tmppdfdir/

Attention : Assurez-vous que tmppdfdir n'existe pas déjà avant !

2voto

Kai Petzke Points 121

Comme l'utilisateur initial a demandé un outil interactif et non un outil en ligne de commande : Une solution facile est d'utiliser n'importe quel visualiseur de PDF (okular sur Kubuntu, evince ou même Firefox sur Ubuntu) et ensuite d'utiliser la boîte de dialogue d'impression standard, de choisir "imprimer vers un fichier PDF", et ensuite de sélectionner dans la boîte de dialogue des paramètres étendus, les pages à "imprimer". Cette variante a quelques inconvénients, car certaines astuces du PDF original (comme les pages tournées, les formulaires, etc.) peuvent être perdues, mais elle fonctionne sans problème pour la plupart des PDF simples.

1voto

Quasímodo Points 1905

La réponse Ghostscript de ThiagoPonte est excellente pour sa portabilité, mais elle n'explique pas comment utiliser une liste de pages discontinues, comme 2, 6, 7, 8, 9, 11. Cela est possible avec -sPageList :

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=2,6-9,11 -sOutputFile=out.pdf in.pdf

Cependant, je n'ai pas réussi à le faire fonctionner sur des versions plus anciennes de Ghostscript, auquel cas, inspiré de une question sur Stack Overflow J'ai créé ce Shell Shell qui ne s'appuie que sur -dFirstPage et -dLastPage :

#!/bin/sh -f
if [ "$#" != 2 ] && [ "$#" != 3 ]; then
    >&2 echo "Usage: $0 pagelist infile [outfile]"
    exit 11
fi
range=$1
infile=$2
outfile=${3-"${2%pdf}"out.pdf}
set --
IFS=,
for i in $range; do
    set -- "$@" "-dFirstPage=${i%-*}" "-dLastPage=${i#*-}" "$infile"
done
gs -sOutputFile="$outfile" -sDEVICE=pdfwrite -dNOPAUSE -dBATCH "$@"

Vous pouvez le sauvegarder dans un répertoire PATH tel que /usr/local/bin/ et le rendre exécutable avec chmod +x scriptname et ensuite, il suffit d'appeler

scriptname 2,6-9,11 in.pdf out.pdf

0voto

Valia Walsk Points 19

Si vous voulez extraire de vos PDFs, vous pouvez utiliser http://www.sumnotes.net . Il s'agit d'un outil étonnant pour extraire des notes, des surlignages et des images de PDF. Vous pouvez également regarder des tutoriels sur Youtube en tapant sumnotes .

J'espère que vous l'apprécierez !

0voto

Mohamad Fakih Points 211

Apache PDFBox est un outil Java open source pour travailler avec des documents PDF. Il est livré avec un outil en ligne de commande qui permet de diviser les pages d'un PDF, parmi beaucoup d'autres choses ( voir le manuel ici ).

Pour l'utiliser, il suffit d'installer le pdfbox-app-2.?.?.jar et exécutez une commande comme :

java -jar pdfbox-app-2.0.20.jar PDFSplit -startPage 1 -endPage 10 -outputPrefix ch1 book.pdf

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X