Latex : inclure des pdf grâce au package pdfpages

Partager cet article

Temps estimé pour la lecture de cet article : 13 min

Lors de la rédaction de rapports dans le cadre d’un stage par exemple, il peut être très intéressant de mettre en annexes des articles qu’on a utilisés.

latex-pdf-rapport

Si ces derniers sont au format pdf, cela peut-être assez embêtant, notamment mon problème était de pouvoir insérer le pdf sans obtenir une page blanche entre l’inclusion du pdf et la déclaration du chapitre, grâce au package pdfpages, c’est possible !

Package pdfpages

Comme je le disais ce package permet d’insérer des pdf (voire même une combinaison de pages), notamment grâce à la commande includepdf. Bien sûr la première chose à faire c’est d’inclure le package dans le préambule.

\usepackage{pdfpages}

Une fois le package inclus, il suffit d’inclure notre document :

\includepdf{file.pdf}

Si vous ne précisez aucune option seulement la première page sera incluse, pour inclure tout le pdf, il suffit de préciser l’option pages et ensuite l’intervalle que vous voulez :

\includepdf[pages=-]{file.pdf}

Après, vous pouvez choisir facilement quelles pages vous désirez :

  • \includepdf[pages=2-8]{file.pdf} : page 2 à 8
  • \includepdf[pages=8-2]{file.pdf} : la même chose dans le sens inverse
  • \includepdf[pages=last-1]{file.pdf} : on inclut toutes les pages sauf la dernière

On peut également seulement inclure des pages uniques en ne précisant que le numéro :

\includepdf[pages={3, 6, 1}]{file}

Une option qui peut-être très intéressante, c’est l’option pagecommand elle permet d’exécuter une commande latex sur chaque page inclut grâce au package. Par exemple :

\includepdf[pagecommand={\thispagestyle{empty}}]{file}

Imprimer plusieurs pages sur une seule

Le paquet prévoit aussi la possibilité d’imprimer plusieurs pages logiques sur une seule page physique. Il suit le format : NUP = axb, le paramètre a étant le nombre de colonnes et b le nombre de lignes.

LaTeX à l’échelle des pages logiques pour tenir dans la marge de la page physique. Dans l’exemple ci-dessous les 4 premières pages logiques seront placées sur la première page physique et le reste sur la prochaine.

\includepdf[nup=2x2, pages=1-7]{file.pdf}

Voici un exemple de ce que l’on peut obtenir :

latex-pdf-nup

Insérer des annexes au format pdf dans son rapport sans saut de page

Reprenons notre exemple du début, afin d’éviter d’avoir un saut de page, on utilisera l’option pagecommand et l’option scale. Ainsi pour la première page de l’article, on inclura notre document avec une échelle plus petite afin que le pdf ne prenne par exemple que 70% de la page et ensuite grâce à l’option pagecommand on va écrire le nom de chapitre que l’on désire. Ce qui donne le résultat désiré ! Ensuite, on inclut la fin du pdf et c’est tout !

\usepackage{pdfpages}

% ...

\appendix

\includepdf[scale=0.7,pages=1, pagecommand=\chapter{Some data}]{data.pdf}
\includepdf[scale=1,pages=2-]{data.pdf}

Et voici enfin, un exemple du résultat tant désiré :

latex-pdf-onepage

Voilà, vous êtes maintenant des pros de l’inclusion de pdf en latex !

4 comments

  1. Bonjour,
    J’aurais une question concernant l’endroit où est sauvargardé le pdf. Est-ce dans le même dossier sources ?

    • Bonjour,
      Tout à fait, personnellement je compile en ligne de commande sous linux, il est donc assez simple de fournir le dossier que je désire mais par défaut c’est le même que le dossier des sources LaTeX. D’ailleurs pour les ressources à inclure, on peut tout à fait créer un dossier spécialement pour ça et de faire quelque chose du genre : \includepdf{resources/file.pdf}
      Bonne semaine.

  2. Bonjour,

    Quand j’importe mon pdf et que je lui met le titre, le titre s’applique à chaque page de mon pdf et non pas seulement à la 1ere page .

    Comment résoudre ça ?

    • Bonjour à toi !

      Tu dois pouvoir obtenir ce que tu veux en faisant l’inclusion en deux fois. La première fois, tu inclus seulement la première page de ton PDF à laquelle tu rajoutes ton titre, puis dans un second temps, tu inclus le reste du PDF en partant de la seconde page. J’essayerais quelque chose du genre :

      \includepdf[pages=1,pagecommand=\section{Section Heading}]{testpdf}
      \includepdf[pages=2-,pagecommand={}]{testpdf}
      

      N’hésites pas à me dire, si ça a fonctionné.
      Bon courage !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.