在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
袠薪褎芯褉屑邪褑懈芯薪薪褘泄 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。
v5:使用 SHA-1 哈希的基于命名空间的 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 文档中用于存档目的。下面,我们将看到一个示例,其中我们生成不同版本的 UUID,并使用 IronPDF 将它们记录在 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:第一步是创建一个后端 API 来生成 PDF 文档。由于 IronPDF 仅在服务器端运行,我们需要创建一个用户想要生成 PDF 时调用的 API。在路径 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
导入和初始设置:
状态管理:
UUID生成:
uuidv4(): 生成一个随机的UUID版本4。
使用 fetch
调用 API 端点 (/api/pdf-uuid) 带查询参数 (v4, v5, c)* 将响应下载为 Blob,创建其 URL,并生成下载链接 ( 元素).
* 将链接附加到DOM,点击它以启动下载,然后从DOM中删除它。
事件处理 (handleChange 函数):
Render 方法:
generatePdf函数绑定到按钮点击事件以触发PDF生成。
想要免费将IronPDF部署到实际项目中吗?
您的试用密钥应在电子邮件中。试用表格已提交
成功地.
如果不是,请联系
support@ironsoftware.com