HILFE ZUM KNOTENPUNKT

uuid NPM (Wie es für Entwickler funktioniert)

Einführung

Das UUID (universally unique identifier) 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 für die Erstellung eindeutiger Schlüssel in Datenbanken, Sitzungskennungen und mehr. Später in diesem Artikel werden wir uns auch IronPDF ansehen, ein PDF-Generierungspaket für Node.js von Iron Software. Diese beiden Bibliotheken können verwendet werden, um eindeutige IDs für Datenbanken zu generieren, und die generierte UUID kann zu Archivierungszwecken im PDF-Format gespeichert werden.

Wesentliche Merkmale

  1. RFC4122-Konformität: Das UUID-Paket unterstützt die Erstellung von UUIDs, die RFC4122-konform sind und somit universell einzigartig und standardisiert sind.

  2. Mehrere UUID-Versionen: Es unterstützt verschiedene Versionen von UUIDs, einschließlich:

    • v1: Zeitstempelbasierte UUIDs.

    • v3: Namespace-basierte UUIDs unter Verwendung von MD5-Hashing.

    • v4: Zufällig generierte UUIDs.

    • v5: Namespace-basierte UUIDs unter Verwendung von SHA-1-Hashing.

    • v6: Zeitstempel-basierte UUIDs mit umgeordneten Feldern für verbesserte Sortierung1.
  3. Plattformübergreifende Unterstützung: Das Paket funktioniert in verschiedenen Umgebungen, einschließlich Node.js, React Native und modernen Webbrowsern.

  4. Keine Abhängigkeiten: Es hat einen kleinen Speicherbedarf und keine Abhängigkeiten, was es leichtgewichtig und einfach in Projekte zu integrieren macht.

  5. Kryptographisch stark: Die generierten UUIDs sind kryptographisch stark und gewährleisten hohe Sicherheit.

Einrichtung

Um das Paket uuid zu installieren, verwenden Sie die folgende Befehlszeile:

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

Grundlegende Verwendung

Hier erfahren Sie, wie Sie mit dem uuid-Paket UUID-Strings erzeugen können:

// 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

Alternativ können Sie auch die CommonJS-Syntax verwenden:

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

Erweiterte Funktionen

  1. Namespace-basierte UUIDs: Sie können UUIDs auf der Grundlage eines Namespace und eines Namens erstellen, indem Sie Version 3 oder Version 5 verwenden, wenn Sie uuid am Anfang des Projekts importieren:
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. Validierung und Parsing: Das UUID-Paket bietet auch Funktionen zur Validierung und Analyse von 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

Einführung in IronPDF

uuid NPM (Funktionsweise für Entwickler): Abbildung 1 - IronPDF

IronPDF ist eine beliebte PDF-Generierungsbibliothek, die zum Erstellen, Bearbeiten und Konvertieren von PDF-Dokumenten verwendet wird. Das IronPDF NPM-Paket wurde speziell für Node.js-Anwendungen entwickelt. Im Folgenden finden Sie einige wichtige Funktionen und Details über das NPM-Paket IronPDF:

Wesentliche Merkmale

Konvertierung von HTML in PDF

Konvertieren Sie mühelos HTML-Inhalte in PDF-Dokumente. Diese Funktion ist besonders nützlich für die Erstellung dynamischer PDFs aus Webinhalten.

Konvertierung von URL in PDF

Generieren Sie PDFs direkt aus URLs, so dass Sie den Inhalt von Webseiten erfassen und programmgesteuert als PDF-Dateien speichern können.

PDF-Bearbeitung

Bestehende PDF-Dokumente lassen sich mühelos zusammenführen, aufteilen und manipulieren. IronPDF bietet Funktionen wie das Anhängen von Seiten, das Aufteilen von Dokumenten und vieles mehr.

PDF-Sicherheit

Sichern Sie Ihre PDF-Dokumente, indem Sie sie mit Passwörtern verschlüsseln oder mit digitalen Signaturen versehen. IronPDF bietet Optionen zum Schutz Ihrer vertraulichen Dokumente vor unbefugtem Zugriff.

Hochwertiger Output

Erstellen Sie hochwertige PDF-Dokumente mit präzisem Rendering von Text, Bildern und Formatierungen. IronPDF stellt sicher, dass die von Ihnen generierten PDF-Dateien dem ursprünglichen Inhalt treu bleiben.

Plattformübergreifende Kompatibilität

IronPDF ist mit verschiedenen Plattformen kompatibel, darunter Windows, Linux und macOS, und eignet sich daher für eine breite Palette von Entwicklungsumgebungen.

Einfache Integration

Integrieren Sie IronPDF einfach in Ihre Node.js-Anwendungen mit Hilfe des npm-Pakets. Die API ist gut dokumentiert, so dass es einfach ist, PDF-Generierungsfunktionen in Ihre Projekte einzubinden.

Einrichtung

Um das NPM-Paket IronPDF 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

Erzeugen von PDF-Dokumenten mit IronPDF und Verwendung des NPM-Pakets UUID

UUIDs können an vielen Stellen in einer Anwendung verwendet werden. Sie ist ein sehr wichtiger Bestandteil einer Anwendung. UUIDs können als Geheimzeichen für verschlüsselte Daten verwendet werden, und diese Geheimzeichen können zu Archivierungszwecken in PDF-Dokumenten gespeichert werden. Nachfolgend sehen wir ein Beispiel, in dem wir verschiedene Versionen von UUIDs generieren und sie mit IronPDF in einem PDF-Dokument dokumentieren.

Abhängigkeiten installieren: Erstellen Sie zunächst ein neues Next.js-Projekt (falls Sie dies noch nicht getan haben) mit dem folgenden Befehl: Siehe 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 dann zu Ihrem Projektverzeichnis:

cd uuid-pdf
cd uuid-pdf
SHELL

Installieren Sie die erforderlichen 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

Eine PDF-Datei erstellen

Lassen Sie uns nun ein einfaches Beispiel für die Erstellung einer PDF-Datei mit IronPDF erstellen.

PDF-Generierungs-API: Der erste Schritt besteht darin, eine Backend-API zur Erstellung des PDF-Dokuments zu entwickeln. Da IronPDF nur serverseitig läuft, müssen wir eine API erstellen, die aufgerufen wird, wenn ein Benutzer ein PDF erzeugen möchte. Erstellen Sie eine Datei im Pfad pages/api/pdf.js und fügen Sie den folgenden Inhalt hinzu.

IronPDF erfordert einen Lizenzschlüssel, den Sie von der Lizenzseite erhalten und im folgenden Code platzieren können.

// 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

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

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

Code Erläuterung

  1. Importe und Erstkonfiguration:

    • Next/Head: Wird verwendet, um den

      des HTML-Dokuments zu ändern, um den Titel und das Favicon festzulegen.

    • importiert Stile aus "../styles/Home.module.css": Importiert lokale CSS-Stile für die Komponente.

    • React, useState, useEffect: Wesentliche React-Hooks für die Zustandsverwaltung und Seiteneffekte.
    • uuidv4, uuidv5, uuidValidate, uuidParse: Aus dem UUID-Paket importierte Funktionen zur Erzeugung, Validierung und Analyse von UUIDs.
  2. Komponentenfunktionalität:

    • Zustandsverwaltung:

      • useState: Verwaltet den Status des Texteingabefelds, in das der Benutzer eine UUID eingibt.

      • text: Zustandsvariable, die den aktuellen Wert des Eingabefeldes enthält.
    • UUID-Erzeugung:

      • uuidv4(): Generiert eine zufällige UUID Version 4.

      • MY_NAMESPACE und uuidv5('IronPDF', MY_NAMESPACE): Erzeugt eine UUID Version 5 basierend auf einem gegebenen Namensraum (MY_NAMESPACE).
    • PDF-Erstellung (generatePdf-Funktion):

      • Verwendet fetch, um einen API-Endpunkt (/api/pdf-uuid) mit Abfrageparametern (v4, v5, c) aufzurufen.

      • Lädt die Antwort als Blob herunter, erstellt eine URL dafür und generiert einen Download-Link (-Element).

      • Hängt den Link an das DOM an, klickt ihn an, um den Download zu starten, und entfernt ihn dann aus dem DOM.
    • Ereignisbehandlung (handleChange-Funktion):

      • Aktualisiert den Textstatus, wenn der Benutzer in das Eingabefeld eingibt.
  3. Render-Methode:

    • Gibt JSX für die UI-Struktur der Komponente zurück:

      • Enthält einen Titel (Kopf), einen Hauptabschnitt (

        ) und verschiedene Absätze, die UUIDs und ein Eingabefeld für die Benutzerinteraktion anzeigen.

      • Die generatePdf-Funktion ist an einen Button-Klick gebunden, um die PDF-Erzeugung auszulösen.
      • CSS-Stile werden lokal (
        Holen Sie sich Ihren kostenlosen 30-Tage-Testschlüssel sofort.
        Vielen Dank.
        Wenn Sie mit unserem Lizenzierungsteam sprechen möchten:

        Haben Sie eine Frage? Nehmen Sie Kontakt auf mit unserem Entwicklungsteam.
        Keine Kreditkarte oder Kontoerstellung erforderlich