Développer l'application Web
Pour développer une application Web, vous devez effectuer les tâches suivantes :
- Créez une application Visual Builder.
- Créez une application Web.
- Incluez la bibliothèque externe.
- Créez une interface utilisateur.
- Mettez à jour le document PDF chargé.
- Créez un document PDF.
- Téléchargez le fichier PDF.
Créer une application Visual Builder
Une application Visual Builder est un ensemble de ressources que vous utilisez pour développer des applications Web et mobiles. Une application Visual Builder inclut des métadonnées dans des fichiers JSON qui décrivent des sources de données et des objets métier. Il inclut également des fichiers HTML et JavaScript pour les applications Web et mobiles.
- :Sur la page d'accueil Visual Applications, cliquez sur Nouveau.
- Dans la boîte de dialogue Créer une application, saisissez le nom de l'application. Le champ ID application est automatiquement renseigné en fonction du nom d'application que vous indiquez.
- Vous pouvez modifier l'ID d'application si nécessaire, mais cet ID doit être unique dans votre domaine d'identité.
- Laissez la sélection par défaut Empty Application inchangée. Ce modèle ne crée pas d'artefacts, d'applications ou d'autres ressources.
- Cliquez sur Terminer.
Une nouvelle application Visual Builder s'ouvre automatiquement une fois que vous l'avez créée et que vous avez affiché l'écran d'accueil. La nouvelle application ne contient aucun artefact, mais l'assistant crée par défaut la structure de fichiers de l'application, ainsi que certaines ressources et fichiers dont vous aurez besoin.
Créer une application Web
Les applications Web de votre application Visual Builder sont indépendantes les unes des autres, mais elles peuvent toutes utiliser les sources de données définies dans l'application.
Inclure les bibliothèques externes
Pour générer, modifier et télécharger un document PDF, comme indiqué dans "Avant de commencer", vous devez inclure deux bibliothèques externes : pdf-lib
et downloadj
.
pdf-lib
, gère le document PDF.downloadj
, télécharge le document PDF généré.
index.html
:
<script src="https://unpkg.com/pdf-lib@1.4.0"></script>
<script src="https://unpkg.com/downloadjs@1.4.7"></script>
Créer une interface utilisateur
Vous allez maintenant créer une interface utilisateur. Cette interface doit contenir des composants tels que des conteneurs, des en-têtes, des boutons, des champs de texte, du code JavaScript et du code HTML, et permet aux utilisateurs de :
- Téléchargez un fichier.
- Entrez le texte d'un champ qui apparaîtra dans le document PDF.
- Cliquez sur un bouton pour mettre à jour le document PDF chargé avec le texte saisi.
- Cliquez sur un bouton pour créer un document PDF contenant le texte saisi.
- Cliquez sur un bouton pour télécharger le document préparé.
Glissez-déposez le fichier et affichez le document PDF
Tout d'abord, vous devez faire glisser et déposer les composants essentiels dans l'interface utilisateur que vous créez.
Afficher le fichier PDF chargé dans l'écran de la page principale
Dans le code HTML source de la page principale, ajoutez un objet dont la source est la variable de page précédemment affectée fileURL
. Ajoutez l'objet fileURL
à la page HTML principale. A ce stade, l'application peut télécharger et afficher un fichier PDF.
Affecter la sortie de la fonction addPDFDocument aux variables de page fileURL et holdFile
Affectez l'URL et les données des propriétés de la fonction addPDFDocument
renvoyées aux variables de page fileURL
et holdFile
, respectivement.
Affecter la variable d'entrée de la fonction addPDFDocument
Dans l'interface graphique, affectez la variable de fichier téléchargée au paramètre arg1
de la fonction.
Créer une fonction addPDFDocument
addPDFDocument
au niveau de la page. L'application recevra un paramètre d'entrée. La fonction instancie une variable d'URL en fonction du paramètre du fichier d'entrée, puis lit le document téléchargé et le convertit en chaîne base64. Vous pouvez utiliser cet exemple de code pour définir la fonction :
PageModule.prototype.addPDFDocument = function(arg1) {
return new Promise(
resolve=>{
const blobURL = URL.createObjectURL(arg1);
const reader = new FileReader();
reader.addEventListener("load", function () {
// convert image file to base64 string
resolve({ data: reader.result, url: blobURL });
}, false);
if (arg1) {
reader.readAsDataURL(arg1);
}
}
);
};
Mettre à jour le document PDF chargé
A partir de la palette de composants, glissez-déplacez dans le concepteur de page un composant Champ de texte et, en dessous, un nouveau bouton.
- Créez une variable de page
textIncludedIntoPDF
pour stocker le contenu du champ de texte. Cette variable insère le contenu et met à jour le document PDF avec lui. - Affectez cette variable au composant Saisie texte.
Mettre à jour et afficher le PDF
update_display_pdf
.
Création de la fonction UpdatePDF
Créez ensuite la fonction JavaScript createUpdatePDF
. Il s'agit d'une fonction asynchrone avec deux paramètres d'entrée (le document PDF chargé et le texte saisi précédemment par l'utilisateur sur la page principale). Elle renvoie un tableau d'octets.
Afficher le document PDF mis à jour
Le résultat de la fonction UpdatePDF
sera affecté à la variable de page temporaire tmpPDFBytes
. Après cette affectation, une fonction JavaScript reçoit le tableau d'octets base64 et instancie une nouvelle entité blob à partir de ce tableau d'octets. Enfin, la fonction crée et renvoie une URL correspondant à ce document PDF.
PageModule.prototype.displayPDFDocument = function (arg1) {
const bytes = new Uint8Array( arg1 );
// create a new blobfrom the byte array with type of application: pdf
const blob = new Blob( [ bytes ], { type: "application/pdf" } );
// create the url of the generated blob entity
const newdocURL = URL.createObjectURL(blob);
// return the updated pdf's url
return newdocURL;
};
La sortie de cette fonction sera affectée à la variable de page fileURL
, qui sera utilisée pour afficher le document PDF mis à jour dans la page.
A ce stade, l'application est prête à télécharger un document PDF, à le modifier avec le texte saisi par l'utilisateur dans le champ de texte de l'écran, puis à afficher le document PDF mis à jour à l'écran.
Créer un document PDF
Créer et afficher un document
Créez un événement pour définir l'action lancée par le bouton Créer un fichier PDF. L'événement crée une chaîne d'actions portant le libellé create_display_pdf
.
La nouvelle chaîne d'actions utilisera une fonction JavaScript pour créer un nouveau PDF (qui inclura du texte saisi précédemment dans le champ de texte), puis, via une variable de page temporaire, une deuxième fonction JavaScript régénérera et affichera le nouveau document PDF.
Créer la fonction PDF
Créez ensuite la fonction JavaScript createPDF
. Il s'agit d'une fonction asynchrone qui prend le texte saisi précédemment sur la page principale en tant que paramètre d'entrée unique et renvoie un tableau d'octets.
Afficher le document PDF nouvellement créé
createPDF
sera affectée à la variable de page temporaire tmpPDFBytes
. Après cette affectation, une fonction JavaScript reçoit le tableau d'octets base64 et instancie une nouvelle entité blob à partir de ce tableau d'octets. .
La fonction va ensuite créer et renvoyer une URL correspondant à ce document PDF. La même fonction qui a été implémentée pour la chaîne d'actions update_display_pdf
sera réutilisée. La sortie de cette fonction est ensuite affectée à la variable de page fileURL
, qui sera utilisée pour afficher le nouveau document PDF dans la page
Télécharger le fichier PDF
A partir de la palette de composants, nous incluons dans le concepteur de page par glisser-déplacer un composant Button.
Télécharger le document
Créez une action d'événement pour le bouton Télécharger au format PDF. L'événement va créer une chaîne d'actions intitulée downloadPDF
. La nouvelle chaîne d'actions utilise une fonction JavaScript pour télécharger un fichier PDF (contenant le texte saisi par l'utilisateur dans le champ de texte).
Télécharger le fichier PDF
downloadPDFfile
prend le tableau d'octets du document PDF téléchargé et modifié ou créé à partir de zéro en tant que paramètre d'entrée unique et télécharge le document avec un nom prédéfini : pdf-lib_modification_example.pdf
et de type application/pdf
.
download()
(à partir de la bibliothèque downloadj
initialement masquée, puis importée dans votre application). Les arguments d'entrée pour download()
peuvent être n'importe lequel de ces types de données :
- URL
- Chaîne
- BLlob
- Tableau typé
dataURL
représentant les données du fichier en tant que chaîne base64 ou encodée en URL, le nom et le type du nouveau fichier placé dans le répertoire de téléchargement du navigateur.
PageModule.prototype.downloadPDFFile = function (arg1) {
download(arg1, "pdf-lib_modification_example.pdf", "application/pdf");
};