Pour un projet web, je dois manipuler un pdf, j'ai trouvé la library javascript "pdf-lib" qui peut faire ce que je veux.
Cependant je n'arrive pas à la fois à import pdf-lib et en même temps utiliser une fonction créée en utilisant pdf-lib. Je vais montrer le code pour être plus claire.
Et pour import pdf-lib que j'ai installé (je sais pas si je l'ai fait de la bonne façon) avec "npm install --save pdf-lib" comme expliqué sur leur site. J'ai essayé d'import en mettant le chemin, avec ".js" à la fin et je n'ai jamais réussi a faire fonctionner la fonction createPdf(), j'ai toujours des messages d'erreur quoi que j'essaye.
Je ne sais pas si j'ai mal fait quelque chose car n'ayant pas beaucoup utiliser javascript.
Merci d'avance pour votre aide.
Bonne journée.
- Edité par Kikito_o_o 21 septembre 2022 à 14:07:16
Si tu veux utiliser la bibliothèque dans l'environnement navigateur, tu ne peux pas l'importer de cette façon :
import { … } from 'pdf-lib'; ❌
Cela ne fonctionne que dans un environnement Node.js
Apparemment la bibliothèque "pdf-lib" semble compatible aussi côté navigateur, mais il faut l'utiliser de façon plus classique en l'injectant dans le HTML :
Bonjour je ne me suis pas intéressé à la l'import du module en question je le ferai après si toujours pas de solution mais descendre tes script js dans le body serait un bon début
ensuite je doute que sans environnement node js ce module puisse créer quoique ce soit dans un projet js classoque, le javascript dans ce contexte étant purement côté client
ou peut être faut il le mettre en relation avec un service back end une lecture de la doc me le dira
ensuite je doute que sans environnement node js ce module puisse créer quoique ce soit dans un projet js classoque, le javascript dans ce contexte étant purement côté client
ou peut être faut il le mettre en relation avec un service back end une lecture de la doc me le dira
Justement, extrait de la documentation :
pdf-lib
Create and modify PDF documents in any JavaScript environment.
Designed to work in any modern JavaScript runtime. Tested in Node, Browser, Deno, and React Native environments.
Ca veut dire ce que ça veut dire.
Sinon il ya plusieurs problèmes dans ton code, déjà le premier :
<script src="https://unpkg.com/pdf-lib@1.4.0"> ❌❌❌
async function createPdf() {
…
}
</script>
Non ! Impossible que cela fonctionne ! La bibliothèque et ton script doivent être chargés indépendamment dans deux balises <script> distinctes :
<!-- 1. Chargement de la bibliothèque --> ✅✅✅
<script src="https://unpkg.com/pdf-lib@1.4.0"></script>
<!-- 2. Scope de ton script -->
<script>
async function createPdf() {
…
}
</script>
Idem ici, pas d'espaces entre les balises <script> :
En corrigeant cela il y a plus de chances que cela fonctionne. Mais je te recommanderai également de ne plus utiliser les attributs d'événements type "onload", "onclick" ... etc et de privilégier les event listeners. Exemple :
yasakani no magatama