Qt 5.10 pourra créer des documents PDF/A

Le format PDF est utilisé de manière assez universelle pour échanger des documents, au point qu’une version spécifique à l’archivage a été créée : PDF/A. Son succès est tel que certaines institutions requièrent des PDF à ce format pour tout archivage électronique. Cette version correspond à la norme PDF épurée d’une série de fonctionnalités plus complexes, afin de garantir que le rendu soit constant à travers les implémentations : pas de contenu dynamique (JavaScript, audio, vidéo), pas de contenu externe (comme des polices non embarquées).

Qt, de son côté, peut générer des fichiers PDF depuis sa version 4.1, grâce à la classe QPrinter, en définissant son format de sortie à QPrinter::PdfFormat, qui correspond à la norme PDF 1.4. On peut ainsi ajouter du texte dans le fichier PDF de sortie, qui est stocké sous la forme de caractères (ce qui permet une recherche à travers le document et un rendu décent peu importe le facteur de zoom), mais aussi des images (qui correspondront à des images aussi dans le fichier PDF, avec les inconvénients associés : lors d’un zoom, la qualité se dégrade).

La version de PDF/A la plus souvent requise est PDF/A-1b et Qt 5.10 pourra générer des fichiers à ce format. Comme PDF/A-1b est basé sur PDF 1.4, les modifications à apporter étaient assez minimes. Cependant, certaines contraintes ont dû être ajoutées : les images ne peuvent pas inclure de transparence. Deux autres contraintes ne sont pas encore implémentées : les métadonnées doivent être écrites au format XMP et tout profil colorimétrique ICC doit être embarqué dans le fichier PDF.

Pour choisir le niveau de compatibilité PDF, une propriété de QPainter a été ajoutée : pdfVersion, qui peut prendre les valeurs PdfVersion_1_4 (pour obtenir le même résultat que précédemment) ou PdfVersion_A1b (pour exploiter le nouveau code).

Source : Creating PDF/A documents with Qt.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s