uuid NPM(開發者的使用方法)
UUID (通用唯一識別碼)套件是一個流行的 NPM(Node 套件管理器)函式庫,用於在JavaScript應用程式中產生通用唯一識別碼 (UUID)。 UUID 可用於在資料庫中建立唯一鍵、會話識別碼等等。 本文稍後也將介紹Iron Software出品的 PDF 產生Node.js套件IronPDF 。 這兩個庫都可以用來產生資料庫的唯一ID,產生的UUID可以以PDF格式存儲,用於存檔。
主要特點
- RFC4122 合規性: UUID 套件支援建立符合 RFC4122 的 UUID,確保它們具有普遍唯一性和標準化。
支援多種 UUID 版本:它支援多種 UUID 版本,包括:
- v1:基於時間戳記的 UUID。
- v3:基於命名空間的 UUID,使用 MD5 哈希演算法。
- v4:隨機產生的 UUID。
- v5:使用 SHA-1 哈希的基於命名空間的 UUID。
- v6:基於時間戳記的 UUID,欄位重新排序以改善排序1 。
3.跨平台支援:該軟體包可在不同的環境中運行,包括Node.js、React Native 和現代 Web 瀏覽器。 4.零依賴:它佔用空間小,沒有依賴項,因此重量輕,易於整合到專案中。 5.加密強度高:產生的 UUID 具有加密強度,確保高安全性。
安裝
若要安裝 uuid 軟體包,請使用下列任一命令:
npm install uuidnpm install uuid或者
yarn add uuidyarn add uuid基本用法
以下是如何使用 uuid 套件產生 UUID 字串:
// Imp或者t syntax f或者 uuid library
imp或者t { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'// Imp或者t syntax f或者 uuid library
imp或者t { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'或者,使用 CommonJS 語法:
// Imp或者t 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'// Imp或者t 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'進階功能
1.基於命名空間的 UUID:您可以使用版本 3 或版本 5 基於命名空間和名稱建立 UUID:
imp或者t { 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'imp或者t { 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'2.驗證和解析: UUID 套件還提供了用於驗證和解析 UUID 的函數:
imp或者t { 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 ]imp或者t { 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 ]IronPDF簡介

IronPDF是一個流行的 PDF 生成庫,用於生成、編輯和轉換 PDF 文件。 IronPDF NPM 套件是專門為Node.js應用程式設計的。 以下是IronPDF NPM 套件的一些主要功能和詳細資訊:
主要特點
HTML 轉 PDF
輕鬆將HTML內容轉換為PDF文件。 此功能對於從網頁內容產生動態 PDF 特別有用。
URL 轉 PDF
直接從 URL 產生 PDF,讓您可以捕獲網頁內容並以程式設計方式將其儲存為 PDF 檔案。
PDF 處理
輕鬆合併、分割和操作現有 PDF 文件。 IronPDF提供諸如追加頁面、分割文件等功能。
PDF 安全性
使用密碼加密或套用數位簽章來保護您的 PDF 文件。 IronPDF提供多種選項,保護您的敏感文件免受未經授權的存取。
高品質輸出
產生高品質的 PDF 文檔,精確呈現文字、圖像和格式。 IronPDF可確保您產生的 PDF 檔案與原始內容一致。
跨平台相容性
IronPDF與包括 Windows、Linux 和 macOS 在內的各種平台相容,使其適用於各種開發環境。
簡單集成
使用IronPDF的 npm 包,即可輕鬆整合到您的Node.js應用程式中。 該 API 文件齊全,可以輕鬆地將 PDF 生成功能整合到您的專案中。
安裝
若要安裝IronPDF NPM 包,請使用下列命令:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64使用IronPDF產生 PDF 文件並使用 UUID NPM 包
UUID 可以在應用程式的許多地方使用。 它是應用程式中一個非常基礎的組成部分。 UUID 可用作加密資料的金鑰,這些金鑰可以儲存在 PDF 文件中以進行存檔。 下面我們將看到一個範例,其中我們產生不同版本的 UUID 並將它們記錄在 PDF 文件中,使用IronPDF。
安裝依賴項:首先,使用以下命令建立一個新的 Next.js 專案(如果還沒有建立的話)。 請參考這裡。
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"接下來,導航到您的專案目錄:
cd uuid-pdfcd uuid-pdf安裝所需軟體包:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidyarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid建立 PDF
現在,讓我們建立一個使用IronPDF產生 PDF 的簡單範例。
PDF 產生 API:第一步是建立後端 API 來產生 PDF 文件。 由於IronPDF只能在伺服器端運行,我們需要建立一個 API,以便在使用者想要產生 PDF 時呼叫。 在路徑 pages/api/pdf.js 處建立文件,並新增以下內容。
IronPDF需要許可證密鑰,您可以從許可證頁面獲取並將其放入以下程式碼中。
// pages/api/pdf.js
imp或者t { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
imp或者t { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
exp或者t 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 f或者 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 (err或者) {
console.err或者("Err或者 generating PDF:", err或者);
res.status(500).end();
}
}// pages/api/pdf.js
imp或者t { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
imp或者t { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
exp或者t 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 f或者 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 (err或者) {
console.err或者("Err或者 generating PDF:", err或者);
res.status(500).end();
}
}現在修改 index.js 程式碼如下,以使用 UUID 和IronPDF。
imp或者t Head from "next/head";
imp或者t styles from "../styles/Home.module.css";
imp或者t React, { useState } from "react";
imp或者t { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
exp或者t default function Home() {
const [text, setText] = useState("");
// Generate UUIDs f或者 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 (err或者) {
console.err或者("Err或者 generating PDF:", err或者);
}
};
// 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: b或者der-box;
}
`}</style>
</div>
);
}imp或者t Head from "next/head";
imp或者t styles from "../styles/Home.module.css";
imp或者t React, { useState } from "react";
imp或者t { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
exp或者t default function Home() {
const [text, setText] = useState("");
// Generate UUIDs f或者 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 (err或者) {
console.err或者("Err或者 generating PDF:", err或者);
}
};
// 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: b或者der-box;
}
`}</style>
</div>
);
}程式碼解釋
1.導入和初始設定:
Head來自next/head: 用於修改 HTML 文件的<head>以設定標題和網站圖示。styles從../styles/Home.module.css: 為元件匯入本機 CSS 樣式。React,useState: React hooks 用於狀態管理。uuidv4,uuidv5,uuidValidate: 從 UUID 套件導入的用於 UUID 產生、驗證和解析的函數。
2.組件功能:
-狀態管理:
- `useState`: 管理使用者輸入 UUID 的文字輸入欄位的狀態。
- `text`: 狀態變量,保存輸入欄位的目前值。UUID 產生:
uuidv4(): 產生隨機 UUID 版本 4。MY_NAMESPACE和uuidv5('IronPDF', MY_NAMESPACE): 根據給定的命名空間產生 UUID 版本 5。
PDF 產生(
generatePdf功能):- 使用
fetch呼叫 API 端點 (/api/pdf-uuid),並附有查詢參數 (v4,v5,c)。 - 將回應下載為 blob,為其建立 URL,並產生下載連結(
<a>元素)。 - 將連結新增至 DOM 中,點擊該連結開始下載,然後將其從 DOM 移除。
-事件處理(
handleChange函數):- 當使用者在輸入欄位中輸入內容時,更新
text狀態。
- 使用
3.渲染方法:
- 傳回元件 UI 結構的 JSX:
- 包括標題(
<main>)以及顯示 UUID 和使用者互動輸入欄位的各種段落。 generatePdf函數綁定到按鈕點擊以觸發 PDF 生成。
- 包括標題(
- CSS 樣式使用 Next.js 的 styled-jsx 在本地 (
<style jsx>) 和全域 (<style jsx global>) 定義。
輸出


IronPDF許可
IronPDF需要許可證密鑰才能運作。 IronPDF npm 提供免費試用許可證金鑰,使用戶能夠在購買前體驗其豐富的功能。
請在此輸入許可證密鑰:
imp或者t { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";imp或者t { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";結論
UUID NPM 套件是一個強大且多功能的工具,用於在JavaScript應用程式中產生唯一識別碼。 它支援多種 UUID 版本、跨平台相容性和加密強度,使其成為需要唯一識別碼的開發人員必不可少的程式庫。
IronPDF使Node.js開發人員能夠提升其應用程式中的 PDF 處理能力,提供無與倫比的功能、可靠性和效能。 透過利用 IronPDF 的高級 PDF 產生、轉換和操作功能,開發人員可以簡化文件工作流程,增強使用者體驗,並自信地滿足各種業務需求。
使用IronPDF ,即可在Node.js專案中充分發揮 PDF 處理的潛力,輕鬆交付專業級文件解決方案。 另一方面,UUID NPM 套件可用於在每次需要加密資料時產生唯一 ID。 這些密鑰可以使用IronPDF儲存在 PDF 文件中進行存檔。








