AIDE SUR LES NœUDS

uuid NPM (Comment ça marche pour les développeurs)

Introduction

Le paquet UUID (identifiant unique universel) est une bibliothèque NPM (Node Package Manager) populaire utilisée pour générer des identifiants uniques universels (UUID) dans les applications JavaScript. Les UUID sont utiles pour créer des clés uniques dans les bases de données, des identifiants de session, etc. Plus loin dans cet article, nous examinerons également IronPDF, un package de génération de PDF pour Node.js de Iron Software. Ces deux bibliothèques peuvent être utilisées pour générer des identifiants uniques pour la base de données et les UUID générés peuvent être stockés au format PDF à des fins d'archivage.

Caractéristiques principales

  1. Conformité RFC4122 : Le package UUID prend en charge la création de UUID conformes à RFC4122, garantissant qu'ils sont universellement uniques et standardisés.

  2. Plusieurs versions de UUID : Il prend en charge différentes versions de UUID, y compris :

    • v1 : UUIDs basés sur des horodatages.

    • v3 : UUIDs basés sur des espaces de noms utilisant le hachage MD5.

    • v4 : UUID générés aléatoirement.

    • v5 : UUID basés sur les espaces de noms utilisant le hachage SHA-1.

    • v6 : UUIDs basés sur des horodatages avec des champs réordonnés pour un meilleur tri1.
  3. Support multiplateforme : Le package fonctionne sur différents environnements, y compris Node.js, React Native et les navigateurs web modernes.

  4. Zéro Dépendances : Il a une empreinte minimale et aucune dépendance, ce qui le rend léger et facile à intégrer dans les projets.

  5. Cryptographiquement Fort : Les UUID générés sont cryptographiquement forts, garantissant une sécurité élevée.

Installation

Pour installer le paquet uuid, utilisez la ligne de commande suivante :

npm install uuid
or
yarn add uuid
npm install uuid
or
yarn add uuid
SHELL

Utilisation de base

Voici comment générer des chaînes UUID à l'aide du paquet uuid :

// Import syntax for uuid library
import { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
js
JAVASCRIPT

Il est également possible d'utiliser la syntaxe CommonJS :

const { v4: uuidv4 } = require('uuid');
// Generate a random UUID (version 4)
const myUUID = uuidv4();
console.log(myUUID); // Example uuid string output: '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
js
JAVASCRIPT

Fonctionnalités avancées

  1. UUIDs basés sur les espaces de noms : Vous pouvez créer des UUIDs basés sur un espace de noms et un nom en utilisant la version 3 ou la version 5 lorsque vous importez uuid en haut du projet :
import { v5 as uuidv5 } from 'uuid';
// Define a namespace UUID
const MY_NAMESPACE = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
// Generate UUID based on the namespace and a name
const myUUID = uuidv5('my-unique-name', MY_NAMESPACE);
console.log(myUUID); // Example output: 'e4eaaaf2-d142-11e1-b3e4-080027620cdd'
js
JAVASCRIPT
  1. Validation et analyse : Le package UUID offre également des fonctions pour valider et analyser les UUIDs :
import { validate as uuidValidate, parse as uuidParse } from 'uuid';
// Validate a UUID
const isValid = uuidValidate('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d');
console.log(isValid); // true
// Convert UUID string to an array of bytes
const bytes = uuidParse('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d');
console.log(bytes); // Uint8Array(16) [ 155, 29, 235, 77, 59, 125, 75, 173, 155, 221, 43, 13, 123, 61, 203, 109 ]
js
JAVASCRIPT

Introduction à IronPDF

uuid NPM (Comment ça fonctionne pour les développeurs) : Figure 1 - IronPDF

IronPDF est une bibliothèque populaire de génération de PDF utilisée pour générer, éditer et convertir des documents PDF. Le package IronPDF NPM est spécifiquement conçu pour les applications Node.js. Voici quelques caractéristiques et détails clés concernant le paquetage NPM IronPDF :

Caractéristiques principales

Conversion de HTML en PDF

Convertissez sans effort du contenu HTML en documents PDF. Cette fonction est particulièrement utile pour générer des PDF dynamiques à partir de contenus web.

Conversion d'URL en PDF

Générez des PDF directement à partir d'URL, ce qui vous permet de capturer le contenu de pages web et de les enregistrer sous forme de fichiers PDF de manière programmatique.

Manipulation des PDF

Fusionnez, divisez et manipulez facilement des documents PDF existants. IronPDF offre des fonctionnalités telles que l'ajout de pages, la division de documents, etc.

Sécurité PDF

Sécurisez vos documents PDF en les chiffrant avec des mots de passe ou en appliquant des signatures numériques. IronPDF propose des options pour protéger vos documents sensibles contre les accès non autorisés.

Sortie de haute qualité

Produisez des documents PDF de haute qualité avec un rendu précis du texte, des images et de la mise en forme. IronPDF veille à ce que les PDF générés restent fidèles au contenu original.

Compatibilité multiplateforme

IronPDF est compatible avec diverses plateformes, notamment Windows, Linux et macOS, ce qui le rend adapté à un large éventail d'environnements de développement.

Intégration simple

Intégrez facilement IronPDF à vos applications Node.js à l'aide de son package npm. L'API est bien documentée, ce qui facilite l'intégration des capacités de génération de PDF dans vos projets.

Installation

Pour installer le paquetage NPM IronPDF, utilisez la commande suivante :

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
SHELL

Générer un document PDF à l'aide d'IronPDF et utiliser le paquetage NPM UUID

Les UUID peuvent être utilisés à de nombreux endroits dans une application. Il s'agit d'une partie très atomique d'une application. Les UUID peuvent être utilisés comme secrets pour les données cryptées, et ces secrets peuvent être stockés dans des documents PDF à des fins d'archivage. Ci-dessous, nous verrons un exemple dans lequel nous générons différentes versions d'UUID et les documentons dans un document PDF à l'aide d'IronPDF.

Installer les dépendances : Tout d'abord, créez un nouveau projet Next.js (si cela n'est pas déjà fait) en utilisant la commande suivante : Consultez ici.

npx create-next-app@latest uuid-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
npx create-next-app@latest uuid-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
SHELL

Ensuite, accédez au répertoire de votre projet :

cd uuid-pdf
cd uuid-pdf
SHELL

Installez les paquets nécessaires :

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid
SHELL

Créer un PDF

Maintenant, créons un exemple simple de génération d'un PDF à l'aide d'IronPDF.

API de génération de PDF : La première étape consiste à créer une API backend pour générer le document PDF. Comme IronPDF ne fonctionne que côté serveur, nous devons créer une API à appeler lorsqu'un utilisateur souhaite générer un PDF. Créez un fichier dans le chemin pages/api/pdf.js et ajoutez le contenu ci-dessous.

IronPDF nécessite une clé de licence, vous pouvez l'obtenir sur la page de licence et l'insérer dans le code ci-dessous.

// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
  export default async function handler(req, res) {
    try {
      const v4t = req.query.v4;
      const v5t = req.query.v5;
      const c = req.query.c;
      let content = "<h1>Demo UUID and Generate PDF Using IronPDF</h1>"
      content+="<p>V4 UUID:"+v4t+"</p>";
      content+="<p>V5 UUID:"+v5t+"</p>";
      content+="<p>Is UUID:"+c+", Valid:"+uuidValidate(c).toString()+"</p>";
      const pdf = await PdfDocument.fromHtml(content);
      const data = await pdf.saveAsBuffer();
      console.error("data PDF:", data);
      res.setHeader("Content-Type", "application/pdf");
      res.setHeader(
        "Content-Disposition",
        "attachment; filename=awesomeIron.pdf",
      );
      res.send(data);
    } catch (error) {
      console.error("Error generating PDF:", error);
      res.status(500).end();
    }
  }
js
JAVASCRIPT

Modifiez maintenant le code index.js comme ci-dessous pour utiliser l'UUID et IronPDF.

import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState, useEffect } from "react";
import { v4 as uuidv4 } from 'uuid';
import { v5 as uuidv5 } from 'uuid';
import { validate as uuidValidate, parse as uuidParse } from 'uuid';
export default function Home() {
  const [text, setText] = useState("");
  const myUUID = uuidv4();
  const MY_NAMESPACE = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
  const myV5UUID = uuidv5('IronPDF', MY_NAMESPACE);
  const generatePdf = async () => {
    try {
      const response = await fetch("/api/pdf-uuid?v4="+myUUID+"&v5="+myV5UUID+"&c="+text);
      const blob = await response.blob();
      const url = window.URL.createObjectURL(new Blob([blob]));
      const link = document.createElement("a");
      link.href = url;
      link.setAttribute("download", "awesomeIron.pdf");
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (error) {
      console.error("Error generating PDF:", error);
    }
  };
  const handleChange = (event) => {
    setText(event.target.value);
  };
  return (
    <div className={styles.container}>
     <Head>
        <title>Generate PDF Using IronPDF</title>
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <main>
        <h1>Demo UUID NPM and Generate PDF Using IronPDF</h1>
        <p>
          V4 UUID: <>{myUUID}</>
        </p>
        <p>
          V5 UUID: <>{myV5UUID}</>
        </p>
        <p>
          <span>Enter UUID to Verify:</span>{" "}
        </p>
        <p>
        Is UUID {text} Valid: <>{uuidValidate(text).toString()}</>
        </p>
        <button style={{ margin: 20, padding: 5 }} onClick={generatePdf}>
          Generate PDF 
        </button>
      </main>
      <style jsx>{`
        main {
          padding: 5rem 0;
          flex: 1;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }
        footer {
          width: 100%;
          height: 100px;
          border-top: 1px solid #eaeaea;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        footer img {
          margin-left: 0.5rem;
        }
        footer a {
          display: flex;
          justify-content: center;
          align-items: center;
          text-decoration: none;
          color: inherit;
        }
        code {
          background: #fafafa;
          border-radius: 5px;
          padding: 0.75rem;
          font-size: 1.1rem;
          font-family:
            Menlo,
            Monaco,
            Lucida Console,
            Liberation Mono,
            DejaVu Sans Mono,
            Bitstream Vera Sans Mono,
            Courier New,
            monospace;
        }
      `}</style>
      <style jsx global>{`
        html,
        body {
          padding: 0;
          margin: 0;
          font-family:
            -apple-system,
            BlinkMacSystemFont,
            Segoe UI,
            Roboto,
            Oxygen,
            Ubuntu,
            Cantarell,
            Fira Sans,
            Droid Sans,
            Helvetica Neue,
            sans-serif;
        }
        * {
          box-sizing: border-box;
        }
      `}</style>
    </div>
  );
}
js
JAVASCRIPT

Explication du code

  1. Importations et configuration initiale :

    • Head de next/head : Utilisé pour modifier l'

      du document HTML afin de définir le titre et le favicon.

    • import styles from "../styles/Home.module.css" : Importe les styles CSS locaux pour le composant.

    • React, useState, useEffect : Crochets React essentiels pour la gestion de l'état et les effets de bord.
    • uuidv4, uuidv5, uuidValidate, uuidParse : Fonctions importées du paquet UUID pour la génération, la validation et l'analyse des UUID.
  2. Fonctionnalité du composant :

    • Gestion d'État :

      • useState : Gère l'état du champ de saisie de texte dans lequel l'utilisateur saisit un UUID.

      • texte : Variable d'état contenant la valeur actuelle du champ de saisie.
    • Génération de UUID :

      • uuidv4() : Génère un UUID aléatoire version 4.

      • MY_NAMESPACE et uuidv5('IronPDF', MY_NAMESPACE) : Génère un UUID version 5 basé sur un espace de noms donné (MY_NAMESPACE).
    • Génération de PDF (fonction generatePdf) :

      • Utilise fetch pour appeler un point de terminaison API (/api/pdf-uuid) avec des paramètres de requête (v4, v5, c).

      • Télécharge la réponse sous forme de blob, crée une URL pour celle-ci et génère un lien de téléchargement (élément ).

      • Ajoute le lien au DOM, clique dessus pour lancer le téléchargement, puis le supprime du DOM.
    • Gestion des événements (fonction handleChange) :

      • Met à jour l'état du texte lorsque l'utilisateur tape dans le champ de saisie.
  3. Méthode Render :

    • Renvoie le JSX de la structure de l'interface utilisateur du composant :

      • Comprend un titre (Tête), une section principale (

        ), et divers paragraphes affichant des UUIDs et un champ de saisie pour l'interaction utilisateur.

      • La fonction generatePdf est liée à un clic de bouton pour déclencher la génération de PDF.
      • Les styles CSS sont définis localement (
        Obtenez votre clé d'essai gratuit de 30 jours instantanément.
        Merci.
        Si vous souhaitez parler à notre équipe de licences :

        Vous avez une question ? Contactez notre équipe de développement.
        Aucune carte de crédit ou création de compte n'est nécessaire