LuraPDF charge votre PDF à l'aide de pdf.js, la bibliothèque de rendu PDF open source développée par Mozilla. Pour chaque page sélectionnée, pdf.js affiche son contenu (texte, graphiques vectoriels et images) sur un élément canvas HTML aux dimensions en pixels correspondant à la résolution (DPI) choisie. Un rendu à 300 DPI d'une page A4 produit un canvas de 2480 × 3508 pixels. Ce canvas est ensuite converti en un blob JPEG grâce à l'API native canvas.toBlob du navigateur, avec le niveau de qualité sélectionné. Chaque blob correspond à un fichier JPEG complet.
Les rendus multipages sont compressés dans une archive ZIP grâce à JSZip, qui s'exécute entièrement dans le navigateur. L'archive ZIP est assemblée en mémoire et enregistrée sur votre appareil en un seul téléchargement. Aucune image de page n'est transmise sur le réseau : le rendu, l'encodage JPEG et l'assemblage de l'archive ZIP se font directement dans votre onglet de navigateur. La vitesse de conversion dépend donc du processeur de votre appareil et de la complexité des pages PDF, et non de votre connexion Internet.