Dans nos solutions FileMaker, en général du moins, nous ne soucions pas particulièrement de la taille des données textuelles, en revanche, nous accordons un intérêt certain pour la taille des données « multimédia » à intégrer dans les bases de données au sein des rubriques de type conteneur ou même directement placées sur les modèles.
Les fichiers Pdf que nous pouvons générer à partir de FileMaker occupent une place importante dans cette problématique liée à la taille des données, notamment sur les solutions « métier », où l’envoi et la sauvegarde des documents administratifs, commerciaux, contractuels, légaux, etc., ont une importance capitale.
Aujourd’hui, nous disposons de nombreuses techniques et solutions, plus ou moins efficaces, pour traiter les fichiers Pdf générés par FileMaker afin de réduire leur taille : plugins, lignes de commande, applications tierces et services en ligne. Malheureusement, la plupart de ces solutions sont souvent assez délicates à intégrer dans un flux de travail quand d’autres s’avèrent tout simplement complexes à implémenter dans nos projets.
Dans cet article je vous propose d’étudier ensemble, par des simples tests empiriques, quels sont les éléments de nos modèles qui, à coup sûr, influencent la taille des fichiers Pdf générés par FileMaker et, par conséquent, quelles solutions adopter pour les optimiser au mieux de manière totalement native, sans recourir à une quelconque technologie annexe.
L’étude exposée ici concerne plutôt les documents administratifs et de gestion, tels que les devis, factures, bons de commande, bons de livraisons, notes de frais, contrats, licences, condition générales, etc., c’est-à-dire, tous les documents où le texte occupe une place prépondérante par rapport aux éventuelles images existantes (généralement des logos ou pictos).
Pour commencer, je vous invite à télécharger le fichier « Optimisation-Pdf.fmp12 » qui se trouve à la fin de cet article. Il s’agit tout simplement d’une base FileMaker issue des ses solutions de démarrage (version 14), à savoir, la solution « Facturation », qui dispose d’un modèle de facture que nous allons utiliser et modifier pour réaliser tous nos tests.
Tout ce que nous avons à faire, donc, c’est de travailler nos modèles d’impression, ou concevoir des modèles spécialement dédiés aux Pdf, de manière à les simplifier et à les alléger de tout ce qui pourrait impacter la taille des Pdf générés. Trois aspects sont particulièrement à considérer (par ordre croissant d’importance) :
Et oui, ça peut paraître bizarre (voire paradoxal), mais les images ce sont les éléments qui, finalement, posent le moins de problèmes lors de la création des fichiers Pdf avec FileMaker.
Ceci tout simplement parce que, hélas, FileMaker ne dispose d’aucune fonctionnalité native pour travailler directement sur les images, aussi bien lorsqu’elles sont intégrées dans des rubriques de type conteneur que lorsqu’elles sont placées sur les modèles.
Même si, selon mes observations, il semblerait que le moteur de fabrication des Pdf utilisé par FileMaker tente d’optimiser les images, les résultats dépendent évidemment de la nature des images déjà présentes, il convient donc de les traiter en amont, avec des logiciels dédiés, afin d’optimiser leurs poids avec différentes manipulations, comme par exemple :
Pour illustrer cette optimisation, vous trouverez dans le fichier de test disponible à la fin de l’article, une icône en guise de logo placée dans les modèles d’impression. Le poids du fichier original de cette image, en couleurs, était de pratiquement 3 Ko (2 837 octets), après une optimisation dans un logiciel de traitement d’images, l’icône intégrée (en niveaux de gris) pesait moins de 1 Ko (879 octets).
Au final, ce qu’il faut retenir, c’est qu’une fois les images intégrées dans FileMaker, on ne pourra plus rien faire sur place, de manière native, pour réduire leurs poids respectifs afin d’optimiser nos Pdf, ce travail doit donc être fait en amont.
L’idée est d’optimiser la composition des nos modèles d’impression ou dédiés aux Pdf, avec comme but d’obtenir des mises en pages les plus simples possibles, qui nous permettront d’économiser encore quelques dizaines ou centaines d’octets.
Alors, disons-le tout de suite, ne vous attendez pas à réaliser des gains spectaculaires entre une composition « normale » et une mise en page optimisée, mais aucune économie étant à négliger, autant adopter les bonnes pratiques dès le début de chaque projet.
Évidemment, si vous avez déjà une multitude de modèles déjà réalisés dans vos solutions, la simplification de leur mise en page vous demandera de nombreuses heures de travail pour une optimisation assez minime de vos Pdf au final, je ne vous conseille donc pas de vous lancer dans de telles manipulations si peu rentables.
En revanche, pour tout nouveau projet, vous pouvez suivre les recommendations suivantes (sans ordre particulier d’importance) afin de soigner la mise en page de vos modèles d’impression et ainsi optimiser vos Pdf :
Pour avoir une idée de ce qu’on obtient avec ce type d’optimisation, je vous invite à afficher côte-à-côte, en mode modèle bien-sûr, les modèles « Imprimer/envoyer facturation » et « Pdf-4-Mono-Test » du fichier de test présent à la fin de cet article.
Encore une fois, j’insiste, les gains de poids obtenus avec ces mises en pages simplifiées sont très modestes et ne justifient nullement de reprendre tous vos modèles existants, utilisez plutôt ces techniques pour vos nouvelles réalisations.
Voilà le chapitre le plus intéressant car c’est en manipulant les textes que nous allons obtenir les optimisations les plus importantes sur nos Pdf.
De nombreux aspects sont à considérer, comme le nombre de polices des caractères utilisés, les choix des ces polices des caractères, la présence des enrichissements typographiques (gras, italique, etc.) et le nombre de caractères différents affichés (ce qui est difficilement maîtrisable). Le principe d’optimisation est très simple (par ordre croissant d’importance) :
– moins il y a de caractères différents affichés,
– moins il y a d’enrichissements typographiques appliqués,
– moins il y a de polices de caractères utilisées et mieux elles sont choisies,
= plus l’optimisation sera importante et donc la taille du Pdf réduite.
Les conseils à suivre sont donc évidents :
Concernant l’impact que peut avoir l’utilisation des caractères différents, voici un simple petit test, que vous pouvez retrouver dans l’archive « Pdf-Caracteres.zip » à la fin de l’article, composé de 5 fichiers Pdf dont voici le détail :
Ce test nous montre clairement que, pour chaque police de caractères utilisée, le nombre de caractères différents présents dans le modèle influence la taille finale des Pdf. Malheureusement, mis à part une bonne information auprès des utilisateurs, il n’y a pas vraiment de technique efficace pour limiter le nombre de caractères différents sans risquer de dénaturer les données.
Dans le fichier FileMaker de tests, vous trouverez, dans la zone de navigation en haut du modèle « Détails facturation », un petit bouton-popover « PDF » qui vous permettra de générer des fichiers Pdf à partir de différents modèles, tous issus du modèle d’impression original, mais qui ont été modifiés afin de pouvoir visualiser la taille des Pdf produits en changeant un ou plusieurs aspects de cette optimisation des textes.
Deux options possibles :
Le choix des polices de caractères de ces tests est volontairement limité à celles qui sont les plus utilisées et compatibles avec les plate-formes Mac et Pc. D’autre part, vous trouverez dans ce panneau popover un petit bouton d’aide « ? » vous donnant accès à une description du nommage choisi pour les fichiers Pdf générés et leurs signification.
Pour que vous puissiez avoir une idée de la taille des différents Pdf générés par l’option « Polices », voici un tableau comparatif qui présente assez bien les polices des caractères les plus légères à privilégier dans vos réalisations :
Polices de caractères | Avec 1 | Sans 2 | Test 3 |
---|---|---|---|
Arial | 139 Ko | 63 Ko | 62 Ko |
ComicSans | 51 Ko | 34 Ko | 33 Ko |
Courrier | 71 Ko | 36 Ko | 34 Ko |
Georgia | 83 Ko | 40 Ko | 39 Ko |
Helvetica | 96 Ko | 42 Ko | 41 Ko |
Lucida | 89 Ko | 52 Ko | 51 Ko |
Palatino | 80 Ko | 39 Ko | 37 Ko |
Tahoma | 88 Ko | 52 Ko | 51 Ko |
Times | 87 Ko | 40 Ko | 38 Ko |
Trebuchet | 60 Ko | 32 Ko | 31 Ko |
Verdana | 64 Ko | 32 Ko | 31 Ko |
1. Avec = modèle PDF avec des textes qui ont des enrichissements typographiques (gras ou italique).
2. Sans = modèle PDF avec des textes qui n’ont aucun enrichissement typographiques (gras ou italique).
3. Test = modèle PDF de test avec composition simplifiée et textes sans aucun enrichissement typographiques.
Nous pouvons voir dans ce tableau que la police de caractères « Arial » est la plus « encombrante » dans tous les cas, alors que certaines polices, suivant l’application des formatages ou pas, produisent des Pdf extrêment légers avec des gains très intéressants, il convient donc de bien les choisir dans nos modèles pour une meilleure optimisation de nos Pdf.
Attention tout-de-même, ces valeurs sont rélatives aux polices présentes dans chaque système d’exploitation, dès lors, un modèle réalisé avec la police « Arial », par exemple, peut produire des Pdf de tailles très différentes d’un ordinateur à un autre, il est donc important d’effectuer des tests lors du développement mais aussi, surtout, chez l’utilisateur final.
Nous avons vu que la taille des Pdf est directement liée aux contenus des nos modèles d’impression et à leur formatage, alors, bien qu’il soit difficile de tout maîtriser, si nous observons les trois préceptes suivants, nous allons pouvoir obtenir nativement des fichiers Pdf de taille très réduite, ce qui n’empêche nullement, au besoin, d’opérer d’autres optimisations avec des technologies annexes :
Voici le fichier FileMaker de tests à télécharger : Optimisation-Pdf.fmp12
Voici l’archive avec les tests des caractères : Pdf-Caracteres.zip
Merci pour votre lecture, toutes remarques, commentaires et questions sont les bienvenues.