Modification des fichiers PDF


15

Je voudrais faire quelques modifications de base sur un fichier PDF existant. Plus précisement:

  • Ajouter des chapitres / signets
  • Modifier la numérotation des pages

Cependant, je ne trouve aucun outil, interface graphique ou ligne de commande qui offrirait cette fonctionnalité. Existe-t-il des outils alternatifs ouverts gratuitement?

Réponses:


19

J'utilise principalement pdftk. Mais voici quelques autres à considérer:

pdfsam (PDF Split and Merge) : "pdfsam est un outil open source (licence GPL) conçu pour gérer les fichiers pdf"

PDFJam "Une petite collection de scripts shell qui fournit une interface simple à la plupart des fonctionnalités de l'excellent package de fichiers PDF pdfpages (par Andreas Matthias) pour pdfLaTeX ." (Vous pouvez également utiliser directement pdfLaTeX.)

jPDFTweak : "jPDF Tweak est une application Java Swing qui peut combiner, diviser, faire pivoter, réorganiser, filigrane, crypter, signer et autrement modifier des fichiers PDF."

Inkscape: est un éditeur de graphiques vectoriels qui peut à la fois importer des pages PDF dans son format SVG natif et également exporter au format PDF.

Calibre: logiciel de gestion d'ebook open source qui peut convertir des PDF en d'autres formats et les manipuler d'autres manières. Livré avec des outils de ligne de commande tels que pdfmanipulate qui peuvent être utiles.

Ghostscript peut bien sûr faire beaucoup de choses avec les fichiers PDF.


J'utilise pdfjam mais il semble qu'aucun ne fera les 2 choses que j'ai explicitement énumérées.
Maciej Piechotka

2
J'ai mal compris la question. Modifiez la question pour préciser ce que vous entendez par "chapitres". J'ai supposé que vous vouliez simplement insérer une partie d'un PDF dans une autre. Mais peut-être voulez-vous dire les signets pdf (c'est-à-dire qui apparaissent dans le volet latéral pour certains téléspectateurs)? PDFJam pourrait ne pas l'être, mais le package pdfpages pour PDFLaTeX, ainsi que le package hyperref LaTeX, peuvent les gérer. pdfedit devrait pouvoir changer les numéros de page. Avec pdfLaTeX / pdfpages vous pouvez couper le bas de la page et en ajouter de nouveaux. BRISS peut également rogner les en-têtes / pieds de page, mais vous devrez les ajouter avec autre chose.
frabjous

Oh, et mbPDFasmpeut apparemment aussi faire des trucs avec des signets, mais je ne l'ai jamais utilisé: thierry.schmit.free.fr/spip/spip.php?article15&lang=en
frabjous


12

Je connais deux programmes pour manipuler des PDF sous Linux:

PDEedit "PDFedit est un éditeur de pdf open source gratuit et une bibliothèque pour manipuler des documents PDF, publié sous les termes de GNU GPL version 2. Il comprend une bibliothèque de manipulation PDF basée sur xpdf, GUI, un ensemble d'outils de ligne de commande et un éditeur pdf."

et pdftk "Si le PDF est du papier électronique, alors le pdftk est un décapant électronique, un perforateur, un classeur, un anneau de décodeur secret et des lunettes à rayons X. Pdftk est un outil simple pour faire des choses quotidiennes avec des documents PDF. "


pdfedit: Je n'ai pas qt3 et je ne peux pas l'installer (pas dans portage) & je ne peux pas le faire compiler avec qt4 (même avec qt3support).
Maciej Piechotka

4

La seule façon que j'ai trouvée pour ajouter des numéros de page à un PDF était avec LaTeX:

Créez un fichier /usr/local/bin/add-page-numbers.tex

\documentclass[8pt]{article}
\usepackage[final]{pdfpages}
\usepackage{fancyhdr}

\topmargin 70pt
\oddsidemargin 150pt

\pagestyle{fancy}
\rfoot{\Large\thepage}
\cfoot{}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}

\begin{document}
\includepdfset{pagecommand=\thispagestyle{fancy}}
\includepdf[pages=-]{input.pdf}
\end{document}

Et un fichier / usr / local / bin / pdf-numéros

#!/bin/bash
name="${1%\.pdf}-numbers"
wd="$(pwd)"
dir=/tmp/pdf-numbers
mkdir -p "$dir"
cp "$1" "$dir/input.pdf"
cd "$dir"
pdflatex --jobname "$name" /usr/local/bin/add-page-numbers.tex > /dev/null
mv "$name.pdf" "$wd"
rm -r "$dir"

Rendez ce dernier fichier exécutable et exécutez-le avec

    pdf-numbers example.pdf

Il va créer un fichier pdf appelé example-numbers.pdf (et l'écraser s'il existe déjà!).


Fonctionne très bien. L'imperfection réside dans des chemins absolus, mais ce n'est rien que je ne pouvais pas gérer. Cependant, pourriez-vous expliquer comment vous avez ajouté ces nombres et comment changer la position des nombres?
kravemir

3

LaTeX avec les packages pdfpageset bookmarkpeut faire la plupart de ces choses.

Cela fonctionne en créant un nouveau texdocument et en incluant les documents PDF originaux (ou des parties de celui-ci) via \includepdf(voir le manuel pdfpages ).

Vous pouvez également modifier la numérotation des pages, par exemple

\pagenumbering{roman}
\setcounter{page}{1}
% include pdf pages that should have roman numbering (the front matter)
\pagenumbering{arabic} % switch to arabic numbering
\setcounter{page}{1} % reset page counter
% include pdf pages that should have arabic numbering (the main matter)

Ces numéros de page «logiques» ne sont que des étiquettes que la plupart des lecteurs PDF peuvent utiliser pour naviguer vers une page particulière. Il existe également les numéros de page "physiques" sous-jacents qui s'exécutent consécutivement à partir de 1, pour les interactions de niveau inférieur (voir ci-dessous).

Après avoir inclus les pages pdf existantes avec la numérotation des pages logique correcte, vous pouvez définir des signets PDF ("contours") à l'aide de la \bookmarkcommande. La syntaxe de base est

\bookmark[page=<pagenumber>,level=<level>]{<title>}

<pagenumber>est le numéro de page de la page cible. Notez que ce ne sont pas les numéros de page "logiques" définis précédemment, mais les numéros de page internes s'exécutant consécutivement à partir de 1, depuis le début du pdf. L'imbrication des signets se fait en spécifiant <level>, où se 0trouve le niveau supérieur. C'est <title>le texte à afficher dans le plan du lecteur PDF. Voir le manuel des signets pour plus de détails.

La compilation du texfichier générera un nouveau PDF avec les numéros de page et les signets souhaités.

Pour un exemple complet de la façon dont tout cela se réunit, voir https://michaelgoerz.net/notes/pdf-bookmarks-with-latex.html


Oh non le lien est mort! Je l'ai trouvé dans une archive web.archive.org/web/20120616001456/https://michaelgoerz.net/…
Fsmv


2

pdfimport for openoffice est une bonne alternative pour éditer des documents PDF et les réexporter au format PDF ou les enregistrer dans un autre format. Le PDF importé peut être modifié avec OpenOffice Draw.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.