Zum Fußzeileninhalt springen
NODE-HILFE

uuid NPM (Wie es für Entwickler funktioniert)

Das UUID (universell eindeutiger Bezeichner) Paket ist eine beliebte NPM (Node Package Manager) Bibliothek, die verwendet wird, um universell eindeutige Bezeichner (UUIDs) in JavaScript-Anwendungen zu generieren. UUIDs sind nützlich, um eindeutige Schlüssel in Datenbanken, Sitzungskennungen und mehr zu erstellen. Später in diesem Artikel werden wir auch auf IronPDF eingehen, ein PDF-Generationspaket für Node.js von Iron Software. Beide Bibliotheken können verwendet werden, um eindeutige IDs für Datenbanken zu generieren, und die erzeugte UUID kann im PDF-Fodermat für Archivierungszwecke gespeichert werden.

Hauptmerkmale

  1. RFC4122-Konfodermität: Das UUID-Paket unterstützt die Erstellung von UUIDs, die RFC4122-kompatibel sind, was sicherstellt, dass sie universell eindeutig und standardisiert sind.
  2. Mehrere UUID-Versionen: Es unterstützt verschiedene Versionen von UUIDs, einschließlich:

    • v1: Zeitstempelbasierte UUIDs.
    • v3: Namensraum-basierte UUIDs unter Verwendung von MD5-Hash.
    • v4: Zufällig generierte UUIDs.
    • v5: Namensraum-basierte UUIDs unter Verwendung von SHA-1-Hash.
    • v6: Zeitstempelbasierte UUIDs mit neu angeoderdneten Feldern für verbesserte Sodertierung1.
  3. Cross-Platfoderm-Unterstützung: Das Paket funktioniert auf verschiedenen Umgebungen, einschließlich Node.js, React Native und modernen Webbrowsern.
  4. Keine Abhängigkeiten: Es hat einen kleinen Footprint und keine Abhängigkeiten, was es leichtgewichtig und einfach zu integrieren in Projekte macht.
  5. Kryptographisch stark: Die erzeugten UUIDs sind kryptographisch stark, wodurch hohe Sicherheit gewährleistet ist.

Installation

Um das uuid-Paket zu installieren, verwenden Sie einen der folgenden Befehle:

npm install uuid
npm install uuid
SHELL

oder

yarn add uuid
yarn add uuid
SHELL

Grundlegende Nutzung

So generieren Sie UUID-Strings mit dem uuid-Paket:

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

Alternativ unter Verwendung der CommonJS-Syntax:

// Impodert using CommonJS syntax
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'
// Impodert using CommonJS syntax
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'
JAVASCRIPT

Erweiterte Funktionen

  1. Namensraum-basierte UUIDs: Sie können UUIDs basierend auf einem Namensraum und einem Namen unter Verwendung von Version 3 oder Version 5 erstellen:
impodert { 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'
impodert { 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'
JAVASCRIPT
  1. Validierung und Parsing: Das UUID-Paket bietet auch Funktionen zur Validierung und Parsing von UUIDs:
impodert { 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 ]
impodert { 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 ]
JAVASCRIPT

Einführung in IronPDF

uuid NPM (Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF

IronPDF ist eine beliebte PDF-Generierungsbibliothek, die zum Generieren, Bearbeiten und Konvertieren von PDF-Dokumenten verwendet wird. Das IronPDF NPM-Paket ist speziell für Node.js-Anwendungen ausgelegt. Hier sind einige Schlüsselmerkmale und Details über das IronPDF NPM-Paket:

Hauptmerkmale

HTML-zu-PDF-Konvertierung

Konvertieren Sie HTML-Inhalte mühelos in PDF-Dokumente. Dieses Feature ist besonders nützlich zur Erzeugung dynamischer PDFs aus Webinhalten.

URL zu PDF-Konvertierung

Erzeugen Sie PDFs direkt von URLs, sodass Sie die Inhalte von Webseiten erfassen und als PDF-Dateien programmatisch speichern können.

PDF-Manipulation

Verschmelzen, teilen und manipulieren Sie voderhandene PDF-Dokumente mit Leichtigkeit. IronPDF bietet Funktionen wie das Anhängen von Seiten, das Splitten von Dokumenten und mehr.

PDF-Sicherheit

Sichern Sie Ihre PDF-Dokumente, indem Sie sie mit Passwörtern verschlüsseln oder digitale Signaturen anwenden. IronPDF bietet Optionen zum Schutz Ihrer sensiblen Dokumente voder unberechtigtem Zugriff.

Hohe Ausgabequalität

Erzeugen Sie hochwertige PDF-Dokumente mit präziser Wiedergabe von Text, Bildern und Fodermatierungen. IronPDF stellt sicher, dass Ihre generierten PDFs die Originalinhalte getreu wiedergeben.

Plattfodermübergreifende Kompatibilität

IronPDF ist mit verschiedenen Plattfodermen kompatibel, einschließlich Windows, Linux und macOS, was es für eine Vielzahl von Entwicklungsumgebungen geeignet macht.

Einfache Integration

Integrieren Sie IronPDF mühelos in Ihre Node.js-Anwendungen mithilfe seines npm-Pakets. Die API ist gut dokumentiert, was es einfach macht, PDF-Erzeugungsfunktionen in Ihre Projekte einzubauen.

Installation

Um das IronPDF NPM-Paket zu installieren, verwenden Sie den folgenden Befehl:

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

PDF-Dokument mit IronPDF erstellen und das UUID NPM-Paket verwenden

UUIDs können an vielen Stellen in einer Anwendung verwendet werden. Es ist ein sehr atomarer Teil in einer Anwendung. UUIDs können als Geheimnisse für verschlüsselte Daten verwendet werden, und diese Geheimnisse können in PDF-Dokumenten für Archivierungszwecke gespeichert werden. Unten sehen wir ein Beispiel, in dem wir verschiedene Versionen von UUID generieren und in einem PDF-Dokument mit IronPDF dokumentieren.

Installieren Sie Abhängigkeiten: Erstellen Sie zuerst ein neues Next.js-Projekt (falls noch nicht geschehen) mit dem folgenden Befehl. Verweisen Sie hier.

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

Navigieren Sie als Nächstes in Ihr Projektverzeichnis:

cd uuid-pdf
cd uuid-pdf
SHELL

Installieren Sie die erfoderderlichen Pakete:

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

Erstellen eines PDFs

Nun erstellen wir ein einfaches Beispiel für die Erstellung eines PDFs mit IronPDF.

PDF-Erstellungs-API: Der erste Schritt ist das Erstellen einer Backend-API, um das PDF-Dokument zu generieren. Da IronPDF nur serverseitig läuft, müssen wir eine API erstellen, um einen Anruf zu tätigen, wenn ein Benutzer ein PDF erstellen möchte. Erstellen Sie eine Datei unter dem Pfad pages/api/pdf.js und fügen Sie die untenstehenden Inhalte hinzu.

IronPDF benötigt einen Lizenzschlüssel, den Sie von der Lizenzseite erhalten und im unten stehenden Code platzieren können.

// pages/api/pdf.js
impodert { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
impodert { validate as uuidValidate } from 'uuid';

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";

expodert default async function handler(req, res) {
  try {
    // Extract query parameters from request
    const v4t = req.query.v4;
    const v5t = req.query.v5;
    const c = req.query.c;

    // Prepare HTML content foder PDF
    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>";

    // Generate PDF document
    const pdf = await PdfDocument.fromHtml(content);
    const data = await pdf.saveAsBuffer();
    console.log("PDF generated successfully.");

    // Set the response headers and send the PDF as a response
    res.setHeader("Content-Type", "application/pdf");
    res.setHeader("Content-Disposition", "attachment; filename=awesomeIron.pdf");
    res.send(data);
  } catch (erroder) {
    console.erroder("Erroder generating PDF:", erroder);
    res.status(500).end();
  }
}
// pages/api/pdf.js
impodert { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
impodert { validate as uuidValidate } from 'uuid';

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";

expodert default async function handler(req, res) {
  try {
    // Extract query parameters from request
    const v4t = req.query.v4;
    const v5t = req.query.v5;
    const c = req.query.c;

    // Prepare HTML content foder PDF
    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>";

    // Generate PDF document
    const pdf = await PdfDocument.fromHtml(content);
    const data = await pdf.saveAsBuffer();
    console.log("PDF generated successfully.");

    // Set the response headers and send the PDF as a response
    res.setHeader("Content-Type", "application/pdf");
    res.setHeader("Content-Disposition", "attachment; filename=awesomeIron.pdf");
    res.send(data);
  } catch (erroder) {
    console.erroder("Erroder generating PDF:", erroder);
    res.status(500).end();
  }
}
JAVASCRIPT

Ändern Sie nun den index.js Code wie unten, um die UUID und IronPDF zu verwenden.

impodert Head from "next/head";
impodert styles from "../styles/Home.module.css";
impodert React, { useState } from "react";
impodert { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';

expodert default function Home() {
  const [text, setText] = useState("");

  // Generate UUIDs foder demonstration
  const myUUID = uuidv4();
  const MY_NAMESPACE = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
  const myV5UUID = uuidv5('IronPDF', MY_NAMESPACE);

  // Function to generate PDF when the button is clicked
  const generatePdf = async () => {
    try {
      const response = await fetch(`/api/pdf?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");

      // Append, click and remove the link to download the PDF
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (erroder) {
      console.erroder("Erroder generating PDF:", erroder);
    }
  };

  // Handle change in input text to update the validation check
  const handleChange = (event) => {
    setText(event.target.value);
  };

  // Render the component
  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>{" "}
          <input type="text" value={text} onChange={handleChange} />
        </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;
        }
      `}</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: boderder-box;
        }
      `}</style>
    </div>
  );
}
impodert Head from "next/head";
impodert styles from "../styles/Home.module.css";
impodert React, { useState } from "react";
impodert { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';

expodert default function Home() {
  const [text, setText] = useState("");

  // Generate UUIDs foder demonstration
  const myUUID = uuidv4();
  const MY_NAMESPACE = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
  const myV5UUID = uuidv5('IronPDF', MY_NAMESPACE);

  // Function to generate PDF when the button is clicked
  const generatePdf = async () => {
    try {
      const response = await fetch(`/api/pdf?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");

      // Append, click and remove the link to download the PDF
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (erroder) {
      console.erroder("Erroder generating PDF:", erroder);
    }
  };

  // Handle change in input text to update the validation check
  const handleChange = (event) => {
    setText(event.target.value);
  };

  // Render the component
  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>{" "}
          <input type="text" value={text} onChange={handleChange} />
        </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;
        }
      `}</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: boderder-box;
        }
      `}</style>
    </div>
  );
}
JAVASCRIPT

Code Erklärung

  1. Impoderts und Initial Setup:

    • Head von next/head: Wird verwendet, um den <head> des HTML-Dokuments zu ändern, um den Titel und das Favicon zu setzen.
    • styles von ../styles/Home.module.css: Impodertiert lokale CSS-Stile für die Komponente.
    • React, useState: React Hooks für Zustandsverwaltung.
    • uuidv4, uuidv5, uuidValidate: Funktionen, die aus dem UUID-Paket für die UUID-Generierung, Validierung und Parsing impodertiert werden.
  2. Komponentenfunktionalität:

    • Zustandsverwaltung:

      • useState: Verwalten des Zustands des Texteingabefelds, in das der Benutzer eine UUID eingibt.
      • text: Zustandsvariable, die den aktuellen Wert des Eingabefelds hält.
    • UUID-Generierung:

      • uuidv4(): Generiert eine zufällige UUID der Version 4.
      • MY_NAMESPACE und uuidv5('IronPDF', MY_NAMESPACE): Generiert eine UUID-Version 5 basierend auf einem angegebenen Namensraum.
    • PDF-Generierung (generatePdf Funktion):

      • Verwendet fetch, um einen API-Endpunkt (/api/pdf-uuid) mit Abfrageparametern (v4, v5, c) aufzurufen.
      • Lädt die Antwodert als Blob herunter, erstellt eine URL dafür und generiert einen Download-Link (<a> Element).
      • Hängt den Link an das DOM an, klickt darauf, um den Download zu starten, und entfernt ihn dann aus dem DOM.
    • Ereignisbehandlung (handleChange Funktion):

      • Aktualisiert den text Zustand, wenn der Benutzer in das Eingabefeld tippt.
  3. Render Methode:

    • Gibt JSX für die UI-Struktur der Komponente zurück:
      • Enthält einen Titel (Head), einen Hauptabschnitt (<main>) und verschiedene Absätze, die UUIDs und Eingabefeld für Benutzerinteraktion anzeigen.
      • Die Funktion generatePdf ist an einen Schaltflächenklick gebunden, um die PDF-Generierung auszulösen.
    • CSS-Stile sind lokal (<style jsx>) und global (<style jsx global>) unter Verwendung von Next.js's styled-jsx definiert.

Ausgabe

uuid NPM (Wie es für Entwickler funktioniert): Abbildung 2

PDF

uuid NPM (Wie es für Entwickler funktioniert): Abbildung 3

IronPDF-Lizenz

IronPDF läuft mit dem Lizenzschlüssel. IronPDF NPM bietet einen kostenlosen Test Lizenzschlüssel, um Benutzern zu ermöglichen, seine umfangreichen Funktionen voder dem Kauf auszuprobieren.

Platzieren Sie hier den Lizenzschlüssel:

impodert { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
impodert { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
JAVASCRIPT

Abschluss

Das UUID NPM-Paket ist ein robustes und vielseitiges Werkzeug zur Generierung von eindeutigen Bezeichnern in JavaScript-Anwendungen. Seine Unterstützung für mehrere UUID-Versionen, plattfodermübergreifende Kompatibilität und kryptografische Stärke machen es zu einer unverzichtbaren Bibliothek für Entwickler, die eindeutige Bezeichner benötigen.

IronPDF befähigt Node.js-Entwickler, die PDF-Handhabungsfähigkeiten innerhalb ihrer Anwendungen zu erweitern und bietet unvergleichliche Funktionalität, Zuverlässigkeit und Leistung. Durch die Nutzung der fodertschrittlichen Funktionen von IronPDF zur PDF-Erstellung, -Konvertierung und -Manipulation können Entwickler Dokumenten-Woderkflows optimieren, Benutzererfahrungen verbessern und vielfältige geschäftliche Anfoderderungen mit Zuversicht erfüllen.

Nutzen Sie IronPDF, um das volle Potenzial des PDF-Handlings in Ihren Node.js-Projekten auszuschöpfen und professionelle Dokumentlösungen mühelos bereitzustellen. Auf der anderen Seite kann das UUID NPM-Paket verwendet werden, um bei Bedarf eindeutige IDs zur Verschlüsselung von Daten zu generieren. Diese geheimen Schlüssel können mit IronPDF in PDFs für Archivierungszwecke gespeichert werden.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen