OPALE - 10.0 - Utilisation

Conversion PDF vers PDFA

De MappingDoc
Autres langues :
English • ‎français

Introduction

La commande MAPPDFA convertie un PDF en PDFA (Compatible PDF/A1-b, PDF/A2-b et PDF/A3-b).

Prérequis

Cette commande n'est pas incluse de base avec l'installation de MAPPING. Un package séparé doit être installé. Lors de l'exécution de la commande MAPPDFA, la bibliopthèque MAPPING doit également être en ligne

Il est également recommandé de ne pas avoir d'annotation dans le PDF ainsi que de police UTF16BE.

La bibliothèque libstdc++ doit être installée au préalable sur le serveur

Installation

Le setup est composé d'un SAVF contenant les ressources, le programme et la commande MAPPDFA. Ces deux objets sont à restaurer dans la lib QTEMP.

RSTOBJ OBJ(*ALL) SAVLIB(QTEMP) DEV(*SAVF) SAVF(QGPL/MAPPDFA) RSTLIB(QTEMP)

Ensuite lancer l'installation : INSTALL + F4

Library destination : Bib où vous souhaitez installer le programme
Mapping Path : Chemin IFS du répertoire mapping (même chemin que celui spécifié dans les paramètre Mapping) (Exemple : /home/mapping)


Le programme est alors installé dans la bibliothèque de destination ainsi que les fichiers ressources dans le répertoire xxx/mapping/bin et xxx/mapping/conf

Ecran

La commande MAPPDFA contient 5 paramètres différents (En gras les valeurs par défaut) :

  1. Infile : Fichier PDF d'entrée
  2. Outfile : Fichier de sortie de la commande
  3. Type : Version du PDFA à générer (PDFA1, PDFA2, PDFA3)
  4. Quality : Taux de compression lors de l'utilisation en mode image pour les polices soumis à licences. (*HIGH, *MEDIUM, *LOW)
  5. Licensed fonts : Gestion des fonts soumis à licences. (*NONE, *ALL, *LIST)
    1. *NONE : Comportement par défaut, si une police a des restriction de licence ghostscript générera une erreur, qui pourra être catché par la config gserror.txt pour passer en mode vectorisé.
    2. *ALL : Dans ce mode on ignore toutes les restrictions de licence, on embarque toute les polices. Ghostscript ne génère aucune erreur
    3. *LIST : Utilisation d’une liste de police défini dans le fichier conf/authorized_fonts.txt (encodé en ANSI)

On ignore les restrictions de licence uniquement pour les polices listées dans ce fichier. Ghostscript continuera de générer des erreurs pour les polices non listées, ce qui rendra le pdf non PDF/A. (corrigeable en passant par le mode vectorisé)

Le fichier authorized_fonts.txt doit contenir une liste de nom de police, une par ligne. Le nom de la police à renseigner dans ce fichier peut être trouvé en regardant la log (stdout) du MAPPDFA.

Exemple :

Warning: CFMZCH+DejaVuSans-Bold cannot be embedded because of licensing restrictions

Il faudra ajouter CFMZCH+DejaVuSans-Bold (ou juste DejaVuSans-Bold dans le fichier conf/authorized_fonts.txt

Paramétrage

introduction

MAPPDFA permet de récupérer les erreurs générées et avoir un comportement spécial dans le cas de polices soumis à licences présentes dans le fichier PDF en entrée. Il sera alors possible de vectoriser les polices en image (A partir de la version V1.1.0) en spécifiant un taux de compression (A partir de la version V1.2.0) ou alors de forcer l'acception des polices soumis à licences.(A partir de la version V1.3.0)

Détails

Vectorisation des polices

La liste des messages d'erreur/warning pour lesquels on souhaite vectoriser les polices se situe dans le fichier :

xxx/mapping/conf/gserror.txt

Voici exemple de contenu :

cannot be embedded because of licensing restrictions=vectorize_fonts
A font missing from the input PDF has been substituted=vectorize_fonts


  • Si on obtient un message d'erreur content : cannot be embedded because of licensing restrictions ALORS on vectorise les polices
  • Si on obtient un message d'erreur content : A font missing from the input PDF has been substituted=vectorize_fonts ALORS on vectorise les polices

Acceptation des polices soumis à licences

Il est également possible de forcer l'acceptable de MAPPDFA des polices soumis à licences. Pour se faire il faut créer manuellement le fichier conf/authorized_fonts.txt. MAPPDFA va alors ignorer les restrictions de polices sous licences listées dans ce fichier.

Voici exemple de contenu :

CFMZCH+DejaVuSans-Bold
  • Si on obtient un message d'erreur content : CFMZCH+DejaVuSans-Bold cannot be embedded because of licensing restrictions ALORS on forcera son acceptation et le fichier en sortie sera bien PDF/A.

Utilisation

Exemple 1 - Conversion du fichier simple_pdf.pdf en PDFA/1-b en rejetant toutes polices sous licences

Attention : Si il y a une ou plusieurs polices sous licences, le PDF en sortie de sera pas en PDF/A

MAPPDFA INFILE('/home/mapping/simple_pdf.pdf') TYPE(*PDFA1) OUTFILE('/home/mapping/pdfa1_pdf.pdf')

Exemple 2 - Conversion du fichier simple_pdf.pdf en PDF/A-2b en acceptant toutes les polices sous licences

Attention : Si il y a une ou plusieurs polices sous licences, le PDF en sortie sera quand même en PDF/A

MAPPDFA INFILE('/home/mapping/simple_pdf.pdf') TYPE(*PDFA2) OUTFILE('/home/mapping/pdfa2_pdf.pdf') LICFONTS(*ALL)

Exemple 3 - Conversion du fichier simple_pdf.pdf en PDF/A-3b en acceptant juste une police sous licences CFMZCH+DejaVuSans-Bold

Attention : Si il y a une ou plusieurs polices autres que CFMZCH+DejaVuSans-Bold sous licence, alors le PDF en sortie avec les polices en image vectorielle si le paramétrage le demande (fichier gserror.txt : cannot be embedded because of licensing restrictions=vectorize_fonts) Si pas ce paramétrage, le PDF sortira avec des points en lieu et place de la ou les polices sous licences.

MAPPDFA INFILE('/home/mapping/simple_pdf.pdf') TYPE(*PDFA3) OUTFILE('/home/mapping/pdfa3_pdf.pdf') LICFONTS(*LIST)

Il faudra alors avoir le contenu suivant dans le fichier conf/authorized_fonts.txt :

CFMZCH+DejaVuSans-Bold

Remarques

  • En mode *LIST si le fichier conf/authorized_fonts.txt n’existe pas le fichier pdf de sortie fera 0 ko.
  • Le fichier conf/authorized_fonts.txt n’est pas fourni dans le setup.