uuid NPM (Geliştiriciler İçin Nasıl Çalışır)
UUID (evrensel benzersiz tanımlayıcı) paketi, JavaScript uygulamalarında evrensel benzersiz tanımlayıcılar (UUID'ler) oluşturmak için kullanılan popüler bir NPM (Node Package Manager) kütüphanesidir. UUID'ler, veritabanlarında benzersiz anahtarlar oluşturmak, oturum tanımlayıcıları ve daha fazlası için kullanışlıdır. Bu makalede daha sonra, IronPDF'i, Iron Software'den bir PDF oluşturma Node.js paketi olarak inceleyeceğiz. Her iki kütüphane de veritabanları için benzersiz kimlikler oluşturmak için kullanılabilir ve üretilen UUID'ler, arşivleme amaçlarıyla PDF formatında saklanabilir.
Ana Özellikler
- RFC4122 Uyumluluğu: UUID paketi, RFC4122'ye uygun UUID'lerin oluşturulmasını destekler, evrensel benzersiz ve standart hale getirir.
- Birden çok UUID Sürümü: Çeşitli UUID sürümlerini destekler, bunlar dahil:
- v1: Zaman damgası tabanlı UUID'ler.
- v3: MD5 karma işlemi kullanarak ad alanı tabanlı UUID'ler.
- v4: Rastgele oluşturulan UUID'ler.
- v5: SHA-1 karma işlemi kullanarak ad alanı tabanlı UUID'ler.
- v6: Sıralama için alanları yeniden düzenlenmiş zaman damgası tabanlı UUID'ler1.
- Çapraz-Platform Desteği: Paket, Node.js, React Native ve modern web tarayıcıları dahil olmak üzere farklı ortamlarda çalışır.
- Sıfır Bağımlılık: Küçük bir ayak izi vardır ve hiçbir bağımlılığı yoktur, projelere entegre etmeyi hafif ve kolay hale getirir.
- Kriptografik Güçlü: Oluşturulan UUID'ler kriptografik olarak güçlüdür, yüksek güvenlik sağlar.
Kurulum
uuid paketini kurmak için aşağıdaki komutlardan birini kullanın:
npm install uuidnpm install uuidor
yarn add uuidyarn add uuidTemel Kullanım
uuid paketi kullanarak UUID dizelerini nasıl oluşturacağınız aşağıda açıklanmıştır:
// 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'Alternatif olarak, CommonJS söz dizimini kullanarak:
// Import 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'// Import 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'Gelişmiş Özellikler
- Ad Alanı Tabanlı UUID'ler: Version 3 veya version 5 kullanarak bir ad alanına ve bir isme dayalı UUID'ler oluşturabilirsiniz:
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'- Doğrulama ve Ayrıştırma: UUID paketi ayrıca UUID'leri doğrulamak ve ayrıştırmak için fonksiyonlar sağlar:
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 ]IronPDF'ye Giriş

IronPDF, PDF belgeleri oluşturmak, düzenlemek ve dönüştürmek için kullanılan popüler bir PDF oluşturma kütüphanesidir. IronPDF NPM paketi, özellikle Node.js uygulamaları için tasarlanmıştır. IronPDF NPM paketi hakkında bazı önemli özellikler ve ayrıntılar şunlardır:
Ana Özellikler
HTML'den PDF'ye Dönüşüm
HTML içeriğini kolayca PDF belgelerine dönüştürün. Bu özellik, web içeriğinden dinamik PDF'ler oluşturmak için özellikle kullanışlıdır.
URL'den PDF'ye Dönüşüm
URL'lerden doğrudan PDF oluşturarak, web sayfalarının içeriğini yakalayabilir ve bunları programatik olarak PDF dosyaları olarak kaydedebilirsiniz.
PDF Manipülasyonu
Mevcut PDF belgelerini birleşik, parçalara ayırın ve kolayca manipüle edin. IronPDF, sayfaların eklenmesi, belgelerin bölünmesi ve daha fazlası gibi işlevler sunar.
PDF Güvenliği
PDF belgelerinizi parolalarla şifreleyerek veya dijital imzalar uygulayarak güvence altına alın. IronPDF, hassas belgelerinizi yetkisiz erişime karşı koruma seçenekleri sunar.
Yüksek Kaliteli Çıktı
Metin, görseller ve biçimlendirmeyi doğru şekilde render ederek yüksek kaliteli PDF belgeler üretilir. IronPDF, oluşturduğunuz PDF'lerin orijinal içeriğe sadık kalmasını sağlar.
Çapraz Platform Uyumluluğu
IronPDF, Windows, Linux ve macOS dahil olmak üzere çeşitli platformlarla uyumludur ve geniş bir geliştirme ortamı yelpazesine uygundur.
Basit Entegrasyon
IronPDF, npm paketi kullanarak Node.js uygulamalarınıza kolayca entegre edilir. API, iyi belgelenmiştir ve projelerinize PDF oluşturma yeteneklerini entegre etmeyi kolaylaştırır.
Kurulum
IronPDF NPM paketini yüklemek için aşağıdaki komutu kullanın:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64IronPDF ve UUID NPM paketi kullanılarak PDF Belgesi Oluşturma
UUID'ler bir uygulamanın birçok yerinde kullanılabilir. Bu, bir uygulamanın çok atomik bir parçasıdır. UUID'ler şifrelenmiş veriler için gizli olarak kullanılabilir ve bu gizli bilgiler arşivleme amacıyla PDF belgelerinde saklanabilir. Aşağıda, IronPDF kullanarak farklı UUID sürümleri oluşturup bunları bir PDF belgesinde belgelediğimiz bir örnek göreceğiz.
Bağımlılıkları Kurun: İlk olarak, aşağıdaki komutu kullanarak yeni bir Next.js projesi oluşturun (henüz yapmadıysanız). buraya bakınız.
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"Sonrasında, proje dizinine gidin:
cd uuid-pdfcd uuid-pdfGerekli paketleri kurun:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidyarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidPDF Oluşturma
Şimdi, IronPDF kullanarak bir PDF üretmenin basit bir örneğini oluşturalım.
PDF Oluşturma API'si: İlk adım, PDF belgesini oluşturmak için bir arka plan API oluşturmak. IronPDF yalnızca sunucu tarafında çalıştığı için, bir kullanıcının PDF oluşturmak istediğinde çağırabileceği bir API oluşturmamız gerekiyor. Yol pages/api/pdf.js'de bir dosya oluşturun ve aşağıdaki içerikleri ekleyin.
IronPDF bir lisans anahtarı gerektirir, bunu lisans sayfasından alabilir ve aşağıdaki koda yerleştirebilirsiniz.
// pages/api/pdf.js
import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
import { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export 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 for 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 (error) {
console.error("Error generating PDF:", error);
res.status(500).end();
}
}// pages/api/pdf.js
import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
import { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export 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 for 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 (error) {
console.error("Error generating PDF:", error);
res.status(500).end();
}
}Şimdi UUID ve IronPDF kullanmak için index.js kodunu aşağıdaki gibi değiştirin.
import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState } from "react";
import { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
export default function Home() {
const [text, setText] = useState("");
// Generate UUIDs for 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 (error) {
console.error("Error generating PDF:", error);
}
};
// 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: border-box;
}
`}</style>
</div>
);
}import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState } from "react";
import { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
export default function Home() {
const [text, setText] = useState("");
// Generate UUIDs for 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 (error) {
console.error("Error generating PDF:", error);
}
};
// 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: border-box;
}
`}</style>
</div>
);
}Kod Açıklaması
İthalatlar ve İlk Ayarlar:
Headnext/head'den: HTML belgesinin başlık ve favicon'unu ayarlamak için kullandığı kısmı değiştirmek için kullanıldı.styles../styles/Home.module.css'den: Bileşen için yerel CSS stillerini içe aktarır.React,useState: Durum yönetimi için React kancaları.uuidv4,uuidv5,uuidValidate: UUID oluşturma, doğrulama ve ayrıştırma için UUID paketinden ithal edilen fonksiyonlar.
- Bileşen Fonksiyonu:
Durum Yönetimi:
useState: Kullanıcının bir UUID girdiği metin giriş alanının durumunu yönetir.text: Giriş alanının mevcut değerini tutan durum değişkeni.
UUID Oluşturma:
uuidv4(): Rastgele bir UUID versiyon 4 oluşturur.MY_NAMESPACEveuuidv5('IronPDF', MY_NAMESPACE): Verilen bir isim alanına dayalı bir UUID versiyon 5 üretir.
PDF Oluşturma (
generatePdffonksiyonu):- Sorgu parametreleriyle (
v4,v5,c) bir API uç noktası (/api/pdf-uuid) çağırmak içinfetchkullanır. - Yanıtı bir blob olarak indirir, bunun için bir URL oluşturur ve indirmek için bir bağlantı oluşturur (
<a>elemanı).
- Sorgu parametreleriyle (
Bağlantıyı DOM'a ekleyip, tıklayarak indirme işlemini başlatır ve sonra DOM'dan kaldırır.
Olay Yönetimi (
handleChangefonksiyonu):- Kullanıcı giriş alanına yazdığında
textdurumunu günceller.
- Kullanıcı giriş alanına yazdığında
- Yöntemi Yürütme:
- Bileşenin kullanıcı arayüzü yapısını oluşturmak için JSX döndürür:
- Bir başlık (
Head), ana bölüm () ve çeşitli UUID'leri ve kullanıcı etkileşimi için giriş alanlarını gösteren paragrafları içerir. generatePdffonksiyonu, PDF oluşturmayı tetiklemek için bir buton tıklamasına bağlıdır.- CSS stilleri yerel (
) ve küresel () olarak Next.js'in styled-jsx'i kullanılarak tanımlanmıştır.
- CSS stilleri yerel (
- Bir başlık (
Çıktı


IronPDF Lisansı
IronPDF, lisans anahtarı ile çalışır. IronPDF npm, satın alımdan önce geniş özelliklerini kontrol etmelerine olanak tanıyan bir ücretsiz deneme lisans anahtarı sunar.
Lisans Anahtarını buraya yerleştirin:
import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
Sonuç
UUID NPM paketi, JavaScript uygulamalarında benzersiz tanımlayıcılar oluşturmak için sağlam ve çok yönlü bir araçtır. Birden fazla UUID sürümü, çapraz platform uyumluluğu ve kriptografik güçlü yapısı, geliştiricilerin benzersiz kimliklere ihtiyaçları olduğunda vazgeçilmez bir kütüphane haline getirir.
IronPDF, Node.js geliştiricilerini uygulamalarında PDF işleme yeteneklerini artırmakla güçlendirir, benzersiz işlevsellik, güvenilirlik ve performans sunar. IronPDF'in PDF oluşturma, dönüştürme ve işleme için gelişmiş özelliklerinden yararlanarak, geliştiriciler belge iş akışlarını hızlandırabilir, kullanıcı deneyimlerini artırabilir ve çeşitli iş gereksinimlerini güvenle karşılayabilirler.
Node.js projelerinizde PDF işlemlerinin tam potansiyelini açığa çıkarmak ve profesyonel düzeyde belge çözümleri sunmak için IronPDF'i benimseyin. Öte yandan, UUID NPM paketi, veri şifreleme için her zaman benzersiz kimlikler üretmek amacıyla kullanılabilir. Bu gizli anahtarlar, arşivleme amaçlı olarak IronPDF kullanılabilir.







