Lorsque vous remplissez un formulaire PDF et l'envoyez, le destinataire peut toujours effacer vos saisies, modifier vos réponses ou supprimer les annotations, sauf si vous aplatissez le document au préalable. L'aplatissement fusionne tous les éléments interactifs (apparence des widgets de formulaire, superpositions d'annotations, tampons de signature numérique) dans le flux de contenu statique de la page. Le résultat est un PDF sans aucun élément modifiable : aucun champ à effacer, aucune annotation à masquer, aucune possibilité de modifier votre texte. C'est l'étape indispensable avant d'archiver un contrat signé, de déposer un formulaire administratif ou de soumettre une candidature : il ne s'agit pas seulement de masquer visuellement les champs, mais de les rendre modifiables au sein même du PDF.
LuraPDF propose deux modes d'aplatissement distincts pour répondre à différents besoins de sortie. L'aplatissement vectoriel utilise pdf-lib pour parcourir les flux de contenu des pages PDF, fusionner les flux d'apparence des widgets avec la page et supprimer les annotations et les objets AcroForm. Le résultat est un PDF dont le texte est intact : tout le texte reste sélectionnable, consultable et copiable, et la taille du fichier est souvent inférieure à celle de l'original. L'aplatissement raster adopte une approche différente : pdf.js génère chaque page sur un canevas en haute résolution, et pdf-lib réécrit chaque image générée sous forme d'image JPEG ou PNG pleine page, intégrée dans un nouveau PDF. Chaque annotation, champ de formulaire, graphique et police est capturé dans le rendu pixel par pixel : ce que vous voyez correspond exactement au contenu du fichier de sortie. Cela garantit une fidélité visuelle optimale pour tous les visualiseurs, mais la recherche de texte est désactivée. Les deux modes s'exécutent entièrement dans votre navigateur : aucun fichier n'est téléchargé.