HILFE ZUM KNOTENPUNKT

uuid NPM (Wie es für Entwickler funktioniert)

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

DieUUID (universell eindeutige Kennung) paket ist ein beliebtes NPM(Node-Paketmanager) bibliothek zur Erzeugung eindeutiger Bezeichner(UUIDs) in JavaScript-Anwendungen. 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 mit folgenden Themen befassenIronPDF ein Node.js-Paket zur PDF-Erzeugung vonIron 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 mit RFC4122 übereinstimmen, um sicherzustellen, dass sie universell eindeutig und standardisiert sind.

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

    • v1: Zeitstempel-basierte UUIDs.

    • v3: Namensraumbasierte UUIDs mit MD5-Hashing.

    • v4: Zufällig generierte UUIDs.

    • v5: Namensraumbasierte UUIDs mit SHA-1-Hashing.

    • v6: Zeitstempelbasierte UUIDs mit neu geordneten Feldern für bessere Sortierung1.
  3. Plattformübergreifende Unterstützung: Das Paket funktioniert in verschiedenen Umgebungen, einschließlich Node.js, React Native und modernen Webbrowsern.

  4. Null Abhängigkeiten: Es hat einen kleinen Fußabdruck und keine Abhängigkeiten, was es leicht und einfach in Projekte zu integrieren macht.

  5. Kryptografisch stark: Die erzeugten UUIDs sind kryptografisch 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

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'
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'
JAVASCRIPT

Erweiterte Funktionen

  1. Namensraum-basierte UUIDs: Sie können UUIDs auf der Grundlage eines Namensraums und eines Namens mit Version 3 oder Version 5 erstellen, 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'
JAVASCRIPT
  1. Validierung und Parsing: Das UUID-Paket bietet auch Funktionen zum Validieren und Parsen 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 ]
JAVASCRIPT

Einführung in IronPDF

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

IronPDF ist eine beliebte Bibliothek zur PDF-Erzeugung, 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

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 es noch nicht getan haben) mit Hilfe des folgenden Befehls: Siehehier.

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

Navigieren Sie dann zu Ihrem Projektverzeichnis:

cd uuid-pdf

Installieren Sie die erforderlichen Pakete:

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

Eine PDF-Datei erstellen

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

PDF-Erzeugungs-API: Der erste Schritt besteht darin, eine Backend-API zu erstellen, um das PDF-Dokument zu generieren. 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 benötigt einen Lizenzschlüssel, den Sie von derlizenzseite und fügen Sie ihn in den unten stehenden Code ein.

// 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();
    }
  }
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>
  );
}
JAVASCRIPT

Code Erläuterung

  1. Einfuhr und Ersteinrichtung:

    • Kopf vom nächsten/Kopf: Dient zur Änderung der des HTML-Dokuments, 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:

  3. Rendermethode: