OPALE - 10.0 - Utilisation

Convert PDF to PDF/A

De MappingDoc
Révision datée du 12 mai 2020 à 13:13 par FuzzyBot (discussion | contributions) (Mise à jour pour être en accord avec la nouvelle version de la source de la page)
Autres langues :
English • ‎français

Introduction

The command MAPPDFA converts a PDF to a PDF/A (Compatible PDF/A-1b, PDF/A-2b, PDF/A-3b)

Prerequistes

This command is not included with the basic installation. A separated install package needed to be installed. When executing MAPPDFA, the MAPPING library must be online. (edtlibl)

It is also recommanded not to have annotations and UTF16BE fonts inside the input PDF.

The libstdc++ library must be installed on the server prior to installing MAPPDFA

Installation

The setup in made of a SAVF containing the resources needed, the program and the MAPPDFA command. it needs to be restored in the QTEMP lib.

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

Then Execute the install : INSTALL + F4

Library destination : Lib where you will install the prog and command
Mapping Path : IFS mapping path folder (same path as the one defined in your configuration of your Mapping env Example : /home/mapping)


The program is then installed in the destination lib as well as the resources in the xxx/mapping/bin and xxx/mapping/conf folders

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

Settings

Introduction

From MAPPDFA V1.1.1, it is possible to behave on an error message. In Version V1.1.1, it is possible to convert the font in vectorial.

Details

The list of error messages to catch is in the following file :

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.

Utilization

Example 1 - Conversion of a simple pdf to PDFA/1-b

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

Example 2 - Convert a simple pdf file to a PDF/A2-b

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

Example 3 - Convert a simple pdf file to a PDF/A3-b

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.