在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
"(《世界人权宣言》)UUID (全局唯一标识符)包是一个流行的NPM(节点软件包管理器)用于生成通用唯一标识符的库(UUIDs)在 JavaScript 应用程序中。 UUID 在创建数据库中的唯一键、会话标识符等方面非常有用。 稍后在本文中,我们还将探讨IronPDF一个用于生成PDF的Node.js包来自 铁软件(Iron Software). 这两个库都可以用来生成数据库的唯一ID,并且生成的UUID可以以PDF格式存储用于归档目的。
RFC4122 合规性:UUID 包支持创建符合 RFC4122 标准的 UUID,确保它们是通用唯一和标准化的。
多种UUID版本:支持多种UUID版本,包括:
v1:基于时间戳的UUID。
v3:使用MD5哈希的基于命名空间的UUID。
v4:随机生成的UUID。
跨平台支持:该软件包可在不同环境中运行,包括Node.js、React Native和现代网络浏览器。
零依赖:它具有很小的内存占用且没有依赖项,使其轻量且易于集成到项目中。
要安装 uuid 包,请使用以下命令行:
npm install uuid
or
yarn add uuid
npm install uuid
or
yarn add uuid
IRON VB CONVERTER ERROR developers@ironsoftware.com
以下是使用 uuid 包生成 UUID 字符串的方法:
// 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'
// 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'
IRON VB CONVERTER ERROR developers@ironsoftware.com
或者,使用CommonJS语法:
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'
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'
IRON VB CONVERTER ERROR developers@ironsoftware.com
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'
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'
IRON VB CONVERTER ERROR developers@ironsoftware.com
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 ]
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 ]
IRON VB CONVERTER ERROR developers@ironsoftware.com
IronPDF是一个流行的 PDF 生成库,用于生成、编辑和转换 PDF 文档。 IronPDF NPM 软件包专为 Node.js 应用程序设计。 以下是 IronPDF NPM 软件包的一些主要功能和详细信息:
将 HTML 内容轻松转换为 PDF 文档。 此功能特别适用于从网页内容生成动态PDF。
直接从 URL 生成 PDF,允许您捕获网页内容并以编程方式将其保存为 PDF 文件。
轻松合并、拆分和操作现有的PDF文档。 IronPdf 提供附加页面、分割文档等功能。
通过设置密码或应用数字签名来保护您的PDF文档。 IronPDF 提供选项以保护您的敏感文档免受未经授权的访问。
生成高质量的PDF文档,精确渲染文本、图像和格式。 IronPDF 确保您生成的 PDF 保持与原始内容的一致性。
IronPDF兼容多个平台,包括Windows、Linux和macOS,使其适用于广泛的开发环境。
使用其npm软件包轻松将IronPDF集成到您的Node.js应用程序中。 API 文档详实,使将 PDF 生成功能集成到您的项目中变得简单明了。
要安装 IronPDF NPM 软件包,请使用以下命令:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
IRON VB CONVERTER ERROR developers@ironsoftware.com
UUID 可以在应用程序的许多地方使用。 它是应用程序中一个非常基础的部分。 UUID 可以用作加密数据的密钥,并且这些密钥可以存储在 PDF 文档中用于存档目的。 下面,我们将看到一个示例,展示如何使用IronPDF生成不同版本的UUID并将其记录在PDF文档中。
安装依赖项:首先,创建一个新的 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"
IRON VB CONVERTER ERROR developers@ironsoftware.com
接下来,导航到你的项目目录:
cd uuid-pdf
cd uuid-pdf
IRON VB CONVERTER ERROR developers@ironsoftware.com
安装所需的软件包:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid
IRON VB CONVERTER ERROR developers@ironsoftware.com
现在,让我们创建一个使用 IronPDF 生成 PDF 的简单示例。
PDF 生成 API:第一步是创建生成 PDF 文档的后台 API。 由于IronPDF只在服务器端运行,我们需要创建一个API,以便在用户想生成PDF时调用。 在 pages/api/pdf.js 路径下创建一个文件,并添加以下内容。
IronPDF需要许可证密钥,您可以从许可证页面Please provide the content you would like translated into Chinese along with the code where it should be placed.
// 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();
}
}
// 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();
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
现在修改index.js代码如下,以使用UUID和IronPDF。
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>
);
}
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>
);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
导入和初始设置:
next/head:用于修改
HTML 文档中的<head>
元素用于设置标题和网站图标。从"../styles/Home.module.css"导入样式:为组件导入本地CSS样式。
组件功能:
状态管理:
useState:管理用户输入UUID的文本输入字段的状态。
文本:状态变量保存输入字段的当前值。
PDF生成(生成Pdf函数):**
使用fetch调用API端点(/api/pdf-uuid)带查询参数(v4, v5, c).
将响应下载为Blob,创建一个URL,并生成一个下载链接。( 元素).
事件处理(handleChange 函数):**
Render 方法:
返回组件 UI 结构的 JSX:
包含标题(头), 主要部分(
想要免费将IronPDF部署到实际项目中吗?
您的试用密钥应在电子邮件中。试用表格已提交
成功地.
如果不是,请联系
support@ironsoftware.com