PDFMove
Qu'est-ce qu'une superposition PDF ? Flux de contenu et logique des calques
Guide

Qu'est-ce qu'une superposition PDF ? Flux de contenu et logique des calques

9 min de lecture

Que se passe-t-il à l'intérieur du fichier quand vous superposez un PDF sur un autre ? Deux pages ne sont pas collées l'une sur l'autre, car dans un PDF une page n'est pas une image mais un flux d'instructions de dessin. Dans cet article, nous expliquons comment la superposition intervient dans ce flux, à quoi servent les objets XObject form et pourquoi l'ordre de dessin détermine tout.

Le contenu de page : un flux de dessin ordonné

Chaque page PDF possède un flux de contenu (content stream). Ce flux est la liste ordonnée des instructions décrivant comment dessiner la page :

q                          % sauvegarder l'etat graphique
1 0 0 RG                   % mettre la couleur de trait en rouge
50 700 200 100 re          % definir un rectangle
f                          % remplir
Q                          % restaurer l'etat graphique
BT                         % debut du bloc de texte
/F1 12 Tf                  % choisir la police F1 en 12 points
72 650 Td                  % aller a la position
(Bonjour) Tj               % dessiner le texte
ET                         % fin du bloc de texte

Propriété déterminante : les instructions sont appliquées dans l'ordre et chaque dessin recouvre le précédent. C'est comme poser de la peinture sur une toile — ce que vous avez posé en premier est recouvert.

Cette seule réalité explique toute la logique de la superposition.

Comment la superposition s'insère dans le flux

L'opération de superposition ajoute le contenu de page du fichier de superposition au flux de page du document principal. Deux emplacements sont possibles :

Premier plan (overlay) : les instructions de superposition sont ajoutées à la fin du flux. Dessinées après, elles passent par-dessus le contenu principal.

Arrière-plan (underlay) : les instructions sont ajoutées au début du flux. Dessinées avant, elles se retrouvent sous le contenu principal.

C'est aussi simple que cela. La notion de « calque » est ici métaphorique — aucun calque activable n'est créé dans le fichier, seul l'ordre des instructions change.

Il existe toutefois un détail technique à surveiller : la fuite d'état graphique. Si le flux de superposition modifie une couleur ou une matrice de transformation sans la restaurer avant de se terminer, le contenu principal qui suit est dessiné avec ces réglages et le document se dégrade. C'est pourquoi les implémentations correctes encadrent le flux de superposition par les instructions q (sauvegarder) et Q (restaurer). Si vous constatez des changements de couleur ou des décalages inattendus après une superposition, c'est généralement la cause.

XObject form : la structure qui résout la répétition

Imaginez que vous superposiez un en-tête sur un document de 80 pages. Copier les instructions de l'en-tête dans le flux de chacune des 80 pages est possible mais c'est du gaspillage — surtout si l'en-tête contient un logo vectoriel complexe ou une image intégrée.

La solution est l'objet XObject form. Un form XObject est comme un « bloc de dessin réutilisable » : un objet indépendant avec son propre flux de contenu et ses propres ressources. Une page l'appelle en une seule instruction :

q
1 0 0 1 0 0 cm             % matrice de transformation (position/echelle)
/EnTete Do                 % dessiner le form EnTete
Q

L'outil de superposition transforme la page du fichier de superposition en un form XObject et le place une seule fois dans le fichier. Il ajoute ensuite à chaque page ce simple appel de deux lignes.

Conséquence pratique : l'augmentation de la taille du fichier est indépendante du nombre de pages. Que vous superposiez sur 10 ou 500 pages, les données de l'en-tête sont stockées une seule fois. L'augmentation vient des ressources propres au fichier de superposition — police intégrée, image du logo.

La matrice de transformation : comment se fait le positionnement

L'instruction cm de l'appel de form définit une matrice de transformation. Cette matrice se compose de six nombres et définit conjointement la mise à l'échelle, le décalage et la rotation :

a b c d e f cm

Dans le cas simple, on utilise 1 0 0 1 0 0 — aucune transformation, le form est dessiné dans ses propres coordonnées. Pour décaler la superposition de 20 unités vers la droite et 30 vers le haut, on écrit 1 0 0 1 20 30. Pour la dessiner à mi-échelle, 0.5 0 0 0.5 0 0.

Dans le système de coordonnées du PDF, l'origine est le coin inférieur gauche de la page et l'axe y croît vers le haut. C'est l'inverse des coordonnées d'écran (origine en haut à gauche, y croissant vers le bas) et c'est une source fréquente de confusion dans l'alignement des superpositions.

Le problème surgit ici lorsque les tailles de page diffèrent. Si le document principal est en A4 (595 × 842 points), la superposition au format Letter (612 × 792 points) et la matrice de transformation l'identité, la superposition s'aligne depuis le coin inférieur gauche. Résultat : le haut de la superposition se retrouve 50 points plus bas et son côté droit déborde de 17 points. C'est pourquoi préparer le fichier de superposition à la taille cible est bien plus fiable que de tenter de le réaligner après coup.

Conflits de ressources et leur résolution

Le fichier de superposition et le document principal peuvent posséder des ressources différentes portant les mêmes noms internes. Tous deux peuvent avoir une police nommée /F1 et une image nommée /Im1 — mais ce sont des polices et des images différentes.

L'outil doit résoudre cela lors de la fusion. L'approche standard consiste, en copiant les ressources du fichier de superposition vers le document principal, à renommer les noms en conflit (/F1/Ov_F1, par exemple) et à mettre à jour en conséquence les références internes du form XObject.

Cela a un effet de bord : la même police peut se retrouver deux fois dans le fichier. Si Arial est intégré au document principal et également au fichier de superposition, les deux subsistent comme objets distincts. La taille du fichier augmente un peu. Faire passer le résultat par un outil de compression après la superposition nettoie généralement ce type de doublons.

La transparence : pourquoi elle ne peut pas être ajoutée après coup

Quand vous placez la superposition au premier plan et que son contenu est opaque, elle recouvre tout ce qui se trouve dessous. Si vous voulez un effet de type filigrane, il faut de la transparence.

Dans un PDF, la transparence est définie par un dictionnaire ExtGState (état graphique étendu). Avant une instruction de dessin, on applique :

/GS1 gs                    % appliquer l'etat graphique GS1

et le dictionnaire GS1 contient des valeurs comme /ca 0.3 (transparence de remplissage) ou /CA 0.3 (transparence de trait).

Les outils de superposition transportent généralement le contenu du fichier de superposition tel quel et n'interviennent pas sur ces réglages. C'est pourquoi la transparence doit être réglée lors de la production du PDF de superposition — baissez l'opacité de l'élément dans votre logiciel de design et exportez ainsi vers le PDF.

Par ailleurs, les contenus utilisant la transparence sont généralement placés dans un groupe de transparence. Cela garantit un calcul correct des fusions (blending) mais peut être traité différemment par certaines anciennes visionneuses et certains pilotes d'imprimante. Pour les travaux d'impression critiques, il faut tester la sortie sur une vraie imprimante après la superposition.

Le texte reste-t-il du texte ?

Oui. La superposition ne convertit pas le texte en image ; si le texte du fichier de superposition est du véritable texte, il reste sélectionnable et consultable dans le fichier combiné.

Cela a deux faces :

L'avantage : le nom de l'organisation dans l'en-tête apparaît dans les résultats de recherche, la date d'un tampon peut être copiée, les systèmes de traitement documentaire peuvent lire ces informations.

Le point de vigilance : la superposition n'est pas un outil de masquage. Si vous recouvrez une information du document principal par une superposition, cette information reste dans le fichier et ressort par sélection ou extraction de texte. Pour supprimer une information confidentielle, il faut un caviardage — cette opération efface physiquement le contenu du fichier.

Les vrais calques : les groupes de contenu optionnel

Il existe aussi dans le PDF de véritables calques activables : les groupes de contenu optionnel (OCG — Optional Content Groups). On les emploie dans les dessins techniques et les cartes ; un panneau de la visionneuse permet de les activer et de les désactiver.

Les outils de superposition ne les utilisent généralement pas — ils se contentent de régler l'ordre de dessin. Autrement dit, vous ne pourrez pas désactiver ensuite l'en-tête superposé dans une visionneuse ; il est devenu une partie permanente du flux de contenu.

Si vous voulez un calque détachable, il vous faut des outils spécifiques qui ajoutent la superposition comme OCG. Cela peut être utile pour des marquages temporaires comme un tampon de brouillon, mais c'est rarement nécessaire au quotidien.

En résumé

La superposition se résume à ajouter de nouvelles instructions de dessin au flux de contenu d'une page PDF — ajoutées à la fin du flux, elles apparaissent au-dessus ; ajoutées au début, en dessous. Les superpositions répétées sont stockées une seule fois sous forme d'objet XObject form auquel chaque page fait référence, si bien que l'augmentation de taille du fichier est indépendante du nombre de pages. Le positionnement se fait par une matrice de transformation prenant pour référence le coin inférieur gauche de la page ; une incompatibilité de taille produit donc un décalage. La transparence est définie dans le dictionnaire d'état graphique et ne peut pas être ajoutée au moment de la superposition, elle doit être prête dans le fichier de superposition. Enfin, le texte superposé reste du véritable texte — un comportement à la fois utile et dont il faut être conscient du point de vue de la confidentialité.

Questions fréquentes

Existe-t-il de véritables « calques » dans un PDF ?

Il existe deux choses différentes. D'une part les groupes de contenu optionnel (OCG) — de vrais calques que l'utilisateur peut activer ou désactiver, employés dans les dessins techniques. D'autre part l'ordre de dessin : dans le flux de contenu, ce qui est dessiné après passe par-dessus ce qui a été dessiné avant. La superposition utilise généralement le second mécanisme ; elle ne crée pas de calque activable, elle place simplement les instructions de dessin dans le bon ordre.

Pourquoi la taille du fichier n'augmente-t-elle pas beaucoup après une superposition ?

Parce que le contenu superposé est placé une seule fois dans le fichier comme un objet XObject form auquel chaque page fait référence. Quand vous superposez un logo sur un document de 200 pages, le logo n'est pas stocké 200 fois mais une seule. L'augmentation provient essentiellement des ressources propres au fichier de superposition (polices, images) et elle est indépendante du nombre de pages.

Y a-t-il un conflit si les deux fichiers utilisent la même police ?

Non, car les numéros d'objet sont réattribués lors de la fusion et les noms de ressources renommés si nécessaire. Si les deux fichiers utilisent des polices différentes portant toutes deux le nom /F1, l'outil les distingue avec des noms sans conflit. Le fichier peut au final contenir deux copies de la même police — cela augmente un peu sa taille mais ne pose aucun problème visuel.

Le contenu superposé reste-t-il sélectionnable comme du texte ?

Oui, si le texte du fichier de superposition est du véritable texte, il reste sélectionnable et consultable. La superposition ne transforme pas le texte en image. Cela signifie que le contenu d'un tampon ou d'un en-tête peut apparaître dans les résultats de recherche — c'est généralement souhaitable, mais c'est un comportement dont il faut être conscient du point de vue de la confidentialité.

Essayez dès maintenant avec PDF Bindirme (Overlay).

Essayer PDF Bindirme (Overlay)