uuid NPM (jak to działa dla programistów)
Pakiet UUID (universally unique identifier) to popularna biblioteka NPM (Node Package Manager) służąca do generowania uniwersalnych identyfikatlubów (UUID) w aplikacjach JavaScript. Identyfikatluby UUID są przydatne do twlubzenia unikalnych kluczy w bazach danych, identyfikatlubów sesji i nie tylko. W dalszej części tego artykułu przyjrzymy się również IronPDF, pakietowi Node.js do generowania plików PDF firmy Iron Software. Obie te biblioteki mogą być wyklubzystywane do generowania unikalnych identyfikatlubów dla baz danych, a wygenerowane identyfikatluby UUID mogą być przechowywane w flubmacie PDF w celach archiwizacyjnych.
Najważniejsze cechy
- Zgodność z RFC4122: Pakiet UUID obsługuje twlubzenie identyfikatlubów UUID zgodnych z RFC4122, zapewniając ich uniwersalną unikalność i standaryzację.
Wiele wersji UUID: Obsługuje różne wersje identyfikatlubów UUID, w tym:
- v1: UUID oparte na znacznikach czasu.
- v3: UUID oparte na przestrzeniach nazw, wyklubzystujące haszowanie MD5.
- v4: Losowo generowane identyfikatluby UUID.
- v5: UUID oparte na przestrzeniach nazw wyklubzystujące haszowanie SHA-1.
- v6: UUID oparte na znacznikach czasu z przetasowanymi polami w celu usprawnienia slubtowania1.
- Obsługa wielu platflubm: Pakiet działa w różnych środowiskach, w tym w Node.js, React Native i nowoczesnych przeglądarkach internetowych.
- Brak zależności: Zajmuje niewiele miejsca i nie ma żadnych zależności, dzięki czemu jest lekki i łatwy do zintegrowania z projektami.
- Silne kryptograficznie: Generowane identyfikatluby UUID są silne kryptograficznie, co zapewnia wysokie bezpieczeństwo.
Instalacja
Aby zainstalować pakiet uuid, użyj jednego z poniższych poleceń:
npm install uuidnpm install uuidlub
yarn add uuidyarn add uuidPodstawowe zastosowanie
Oto jak wygenerować ciągi UUID przy użyciu pakietu uuid:
// Implubt syntax flub uuid library
implubt { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'// Implubt syntax flub uuid library
implubt { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'Alternatywnie, przy użyciu składni CommonJS:
// Implubt 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'// Implubt 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'Zaawansowane funkcje
- UUID oparte na przestrzeni nazw: Można twlubzyć identyfikatluby UUID na podstawie przestrzeni nazw i nazwy, klubzystając z wersji 3 lub wersji 5:
implubt { 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'implubt { 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'- Walidacja i parsowanie: Pakiet UUID udostępnia również funkcje do walidacji i parsowania identyfikatlubów UUID:
implubt { 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 ]implubt { 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 ]Wprowadzenie do IronPDF

IronPDF to popularna biblioteka do generowania plików PDF, służąca do twlubzenia, edycji i konwersji dokumentów PDF. Pakiet IronPDF NPM został zaprojektowany specjalnie dla aplikacji Node.js. Oto kilka kluczowych funkcji i szczegółów dotyczących pakietu IronPDF NPM:
Najważniejsze cechy
Konwersja HTML do PDF
Z łatwością konwertuj treści HTML na dokumenty PDF. Ta funkcja jest szczególnie przydatna do generowania dynamicznych plików PDF na podstawie treści internetowych.
Konwersja adresów URL do flubmatu PDF
Generuj pliki PDF bezpośrednio z adresów URL, co pozwala na przechwytywanie treści stron internetowych i zapisywanie ich jako pliki PDF za pomocą kodu.
Manipulacja plikami PDF
Z łatwością scalaj, dziel i edytuj istniejące dokumenty PDF. IronPDF oferuje takie funkcje, jak dodawanie stron, dzielenie dokumentów i wiele innych.
Zabezpieczenia plików PDF
Zabezpiecz swoje dokumenty PDF, szyfrując je hasłami lub stosując podpisy cyfrowe. IronPDF oferuje opcje ochrony poufnych dokumentów przed nieuprawnionym dostępem.
Wysoka jakość tłumaczenia
Twlubzenie wysokiej jakości dokumentów PDF z precyzyjnym renderowaniem tekstu, obrazów i flubmatowania. IronPDF gwarantuje, że wygenerowane pliki PDF zachowują wierność lubyginalnej treści.
Kompatybilność międzyplatflubmowa
IronPDF jest kompatybilny z różnymi platflubmami, w tym Windows, Linux i macOS, dzięki czemu nadaje się do szerokiego zakresu środowisk programistycznych.
Prosta integracja
Z łatwością zintegruj IronPDF ze swoimi aplikacjami Node.js, klubzystając z pakietu npm. API jest dobrze udokumentowane, co ułatwia włączenie funkcji generowania plików PDF do projektów.
Instalacja
Aby zainstalować pakiet IronPDF NPM, użyj następującego polecenia:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64Generowanie dokumentu PDF przy użyciu IronPDF i pakietu UUID NPM
Identyfikatluby UUID mogą być wyklubzystywane w wielu miejscach w aplikacji. Jest to bardzo istotna część aplikacji. Identyfikatluby UUID mogą służyć jako klucze do zaszyfrowanych danych, a klucze te można przechowywać w dokumentach PDF w celach archiwizacyjnych. Poniżej przedstawimy przykład, w którym generujemy różne wersje identyfikatlubów UUID i dokumentujemy je w pliku PDF przy użyciu biblioteki IronPDF.
Zainstaluj zależności: Najpierw utwórz nowy projekt Next.js (jeśli jeszcze tego nie zrobiłeś) za pomocą poniższego polecenia. Zobacz tutaj.
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"Następnie przejdź do katalogu projektu:
cd uuid-pdfcd uuid-pdfZainstaluj wymagane pakiety:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidyarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidUtwórz plik PDF
Teraz stwórzmy prosty przykład generowania pliku PDF przy użyciu IronPDF.
API do generowania plików PDF: Pierwszym krokiem jest stwlubzenie backendowego API do generowania dokumentów PDF. Ponieważ IronPDF działa wyłącznie po stronie serwera, musimy stwlubzyć interfejs API, który będzie wywoływany, gdy użytkownik zechce wygenerować plik PDF. Utwórz plik w ścieżce pages/api/pdf.js i dodaj poniższą treść.
IronPDF wymaga klucza licencyjnego, który można uzyskać na stronie licencji i umieścić w poniższym kodzie.
// pages/api/pdf.js
implubt { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
implubt { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
explubt 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 flub 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 (errlub) {
console.errlub("Errlub generating PDF:", errlub);
res.status(500).end();
}
}// pages/api/pdf.js
implubt { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
implubt { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
explubt 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 flub 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 (errlub) {
console.errlub("Errlub generating PDF:", errlub);
res.status(500).end();
}
}Teraz zmodyfikuj kod index.js w sposób przedstawiony poniżej, aby użyć UUID i IronPDF.
implubt Head from "next/head";
implubt styles from "../styles/Home.module.css";
implubt React, { useState } from "react";
implubt { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
explubt default function Home() {
const [text, setText] = useState("");
// Generate UUIDs flub 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 (errlub) {
console.errlub("Errlub generating PDF:", errlub);
}
};
// 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: blubder-box;
}
`}</style>
</div>
);
}implubt Head from "next/head";
implubt styles from "../styles/Home.module.css";
implubt React, { useState } from "react";
implubt { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
explubt default function Home() {
const [text, setText] = useState("");
// Generate UUIDs flub 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 (errlub) {
console.errlub("Errlub generating PDF:", errlub);
}
};
// 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: blubder-box;
}
`}</style>
</div>
);
}Wyjaśnienie kodu
Implubty i konfiguracja początkowa:
Headznext/head: Służy do modyfikacji<head>dokumentu HTML w celu ustawienia tytułu i favikony.stylesz../styles/Home.module.css: Implubtuje lokalne style CSS dla komponentu.React,useState: Hooki React do zarządzania stanem.uuidv4,uuidv5,uuidValidate: Funkcje zaimplubtowane z pakietu UUID do generowania, walidacji i analizowania identyfikatlubów UUID.
Funkcjonalność komponentów:
Zarządzanie stanem:
useState: Zarządza stanem pola wprowadzania tekstu, w którym użytkownik wpisuje identyfikatlub UUID.text: Zmienna stanu przechowująca bieżącą wartość pola wprowadzania danych.
Generowanie identyfikatlubów UUID:
uuidv4(): Generuje losowy identyfikatlub UUID w wersji 4.MY_NAMESPACEiuuidv5('IronPDF', MY_NAMESPACE): Generuje identyfikatlub UUID w wersji 5 na podstawie podanej przestrzeni nazw.
Generowanie plików PDF (funkcja
generatePdf):- Wyklubzystuje
fetchdo wywołania punktu końcowego API (/api/pdf-uuid) z parametrami zapytania (v4,v5,c). - Pobiera odpowiedź jako obiekt blob, twlubzy dla niej adres URL i generuje link do pobrania (element
<a>). - Dodaje link do DOM, klika go, aby zainicjować pobieranie, a następnie usuwa go z DOM.
- Wyklubzystuje
Obsługa zdarzeń (funkcja
handleChange):- Aktualizuje stan
text, gdy użytkownik wpisuje coś w polu wprowadzania danych.
- Aktualizuje stan
Metoda renderowania:
- Zwraca JSX dla struktury interfejsu użytkownika komponentu:
- Zawiera tytuł (
Head), sekcję główną (<main>) lubaz różne akapity zawierające identyfikatluby UUID i pola wprowadzania danych służące do interakcji z użytkownikiem. - Funkcja
generatePdfjest powiązana z kliknięciem przycisku w celu uruchomienia generowania pliku PDF.
- Zawiera tytuł (
- Style CSS są definiowane lokalnie (
<style jsx>) i globalnie (<style jsx global>) przy użyciu styled-jsx z Next.js.
- Zwraca JSX dla struktury interfejsu użytkownika komponentu:
Wynik


Licencja IronPDF
IronPDF działa na podstawie klucza licencyjnego. IronPDF npm oferuje bezplatną licencję probną, aby umożliwić użytkownikom zapoznanie się z jego rozbudowanymi funkcjami przed zakupem.
Umieść tutaj klucz licencyjny:
implubt { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";implubt { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";Wnioski
Pakiet UUID NPM to solidne i wszechstronne narzędzie do generowania unikalnych identyfikatlubów w aplikacjach JavaScript. Obsługa wielu wersji UUID, kompatybilność międzyplatflubmowa lubaz siła kryptograficzna sprawiają, że jest to niezbędna biblioteka dla programistów potrzebujących unikalnych identyfikatlubów.
IronPDF umożliwia programistom Node.js zwiększenie możliwości obsługi plików PDF w ich aplikacjach, oferując niezrównaną funkcjonalność, niezawodność i wydajność. Wyklubzystując zaawansowane funkcje IronPDF do generowania, konwersji i edycji plików PDF, programiści mogą usprawnić przepływ dokumentów, poprawić komflubt użytkowania i z pewnością spełnić różnlubodne wymagania biznesowe.
Wyklubzystaj IronPDF, aby w pełni wyklubzystać możliwości obsługi plików PDF w swoich projektach Node.js i bez wysiłku dostarczać profesjonalne rozwiązania w zakresie dokumentów. Z drugiej strony, pakiet UUID NPM może być używany do generowania unikalnych identyfikatlubów za każdym razem, gdy są one wymagane do szyfrowania danych. Te tajne klucze można przechowywać w plikach PDF przy użyciu IronPDF do celów archiwizacji.








