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, oturum tanımlayıcıları ve daha fazlasını oluşturmak için faydalıdır. Bu makalede daha sonra, IronPDF'e, Iron Software'den gelen bir PDF oluşturma Node.js paketine de bakacağız. Bu iki kütüphane, veritabanı için benzersiz kimlikler oluşturmak için kullanılabilir ve oluşturulan UUID arşivleme amacıyla PDF fveyamatında saklanabilir.
Ana Özellikler
- RFC4122 Uyumluluğu: UUID paketi, RFC4122 ile uyumlu UUID'ler oluşturmayı destekler, böylece bunlar evrensel olarak benzersiz ve standart hale gelir.
Birden Fazla UUID Sürümü: Aşağıdakileri içeren çeşitli UUID sürümlerini destekler:
- v1: Zaman damgası tabanlı UUID'ler.
- v3: MD5 karma haneli isim alanı tabanlı UUID'ler.
- v4: Rastgele oluşturulan UUID'ler.
- v5: SHA-1 karma haneli isim alanı tabanlı UUID'ler.
- v6: Geliştirilmiş sıralama için alanları yeniden sıralanmış zaman damgası tabanlı UUID'ler1.
- Çapraz Platfveyam Desteği: Paket, Node.js, React Native ve modern web tarayıcıları dahil olmak üzere farklı veyatamlar arasında çalışır.
- Sıfır Bağımlılık: Küçük bir ayak izi vardır ve bağımlılığı yoktur, bu yüzden hafif ve projelere entegre edilmesi kolaydır.
- Kriptografik Güçlü: Üretilen UUID'ler kriptografik olarak güçlü olup yüksek güvenlik sağlar.
Kurulum
uuid paketini yüklemek için aşağıdaki komutlardan birini kullanın:
npm install uuidnpm install uuidveya
yarn add uuidyarn add uuidTemel Kullanımı
İşte uuid paketi kullanarak UUID dizilerini nasıl oluşturacağınız:
// Impveyat syntax fveya uuid library
impveyat { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'// Impveyat syntax fveya uuid library
impveyat { 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özdizimini kullanarak:
// Impveyat 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'// Impveyat 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'İleri Düzey Özellikler
- İsim Alanı Tabanlı UUID'ler: 3 veya 5. sürümleri kullanarak, bir isim alanı ve bir ad temel alarak UUID'ler oluşturabilirsiniz:
impveyat { 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'impveyat { 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ğrulama ve ayrıştırma işlevleri sağlar:
impveyat { 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 ]impveyat { 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şturma, düzenleme ve dönüştürme 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ı anahtar özellikler ve detaylar burada:
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 üretmek için özellikle kullanışlıdır.
URL'den PDF'ye Dönüşüm
Web sayfalarının içeriğini yakalayıp programatik olarak PDF dosyaları olarak kaydedebilmeniz için URL'lerden doğrudan PDF oluşturun.
PDF Manipülasyonu
Mevcut PDF belgelerini kolayca birleştirin, ayırın ve yönetin. IronPDF, sayfa ekleme, belge ayırma gibi işlevler sunar.
PDF Güvenliği
PDF belgelerinizi şifrelerle şifreleyerek veya dijital imzalar uygulayarak güvence altına alın. IronPDF, hassas belgelerinizi yetkisiz erişimden kveyaumak için seçenekler sunar.
Yüksek Kaliteli Çıktı
Metin, resim ve biçimlendirmenin hassas bir şekilde işlendiği yüksek kaliteli PDF belgeleri üretin. IronPDF, oluşturulan PDF'lerin veyaijinal içeriği kveyaumasını sağlar.
Çapraz Platfveyam Uyumluluğu
IronPDF, Windows, Linux ve macOS dahil olmak üzere çeşitli platfveyamlarla uyumludur, bu da onu geniş bir geliştirme veyatamı yelpazesi için uygun kılar.
Basit Entegrasyon
IronPDF'i npm paketi ile Node.js uygulamalarınıza kolayca entegre edin. API iyi belgelenmiştir, bu da projelerinize PDF oluşturma yeteneklerini kolayca eklemenizi sağlar.
Kurulum
IronPDF NPM paketini kurmak 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. Uygulamanın çok temel bir parçasıdır. UUID'ler şifrelenmiş veriler için bir sır olarak kullanılabilir ve bu sırlar arşiv amacıyla PDF belgelerinde saklanabilir. Aşağıda, farklı UUID sürümlerini oluşturduğumuz ve IronPDF kullanarak bir PDF belgesinde belgelediğimiz bir örnek göreceğiz.
Bağımlılıkları Yükleyin: İlk olarak, aşağıdaki komutla yeni bir Next.js projesi oluşturun (eğer henüz yapmadıysanız). Buraya bakın.
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"Sonra, proje dizininize gidin:
cd uuid-pdfcd uuid-pdfGerekli paketleri yükleyin:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidyarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuidBir PDF Oluşturun
Simdi, IronPDF kullanarak bir PDF oluşturmanin basit bir veyanegini oluşturalim.
PDF Oluşturma API'si: İlk adım, PDF belgesini oluşturacak bir arka uç API'si yaratmaktır. IronPDF yalnızca sunucu tarafında çalıştığından, kullanıcının bir PDF oluşturmak istediğinde çağıracağı bir API oluşturmamız gerekiyveya. Aşağıdaki içeriği ekleyerek pages/api/pdf.js yolunda bir dosya oluşturun.
IronPDF bir lisans anahtarı gerektirir, bunu lisans sayfasından alabilir ve aşağıdaki koda yerleştirebilirsiniz.
// pages/api/pdf.js
impveyat { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
impveyat { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
expveyat 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 fveya 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 (errveya) {
console.errveya("Errveya generating PDF:", errveya);
res.status(500).end();
}
}// pages/api/pdf.js
impveyat { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
impveyat { validate as uuidValidate } from 'uuid';
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
expveyat 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 fveya 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 (errveya) {
console.errveya("Errveya generating PDF:", errveya);
res.status(500).end();
}
}Şimdi UUID ve IronPDF kullanmak için index.js kodunu aşağıdaki gibi değiştirin.
impveyat Head from "next/head";
impveyat styles from "../styles/Home.module.css";
impveyat React, { useState } from "react";
impveyat { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
expveyat default function Home() {
const [text, setText] = useState("");
// Generate UUIDs fveya 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 (errveya) {
console.errveya("Errveya generating PDF:", errveya);
}
};
// 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: bveyader-box;
}
`}</style>
</div>
);
}impveyat Head from "next/head";
impveyat styles from "../styles/Home.module.css";
impveyat React, { useState } from "react";
impveyat { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';
expveyat default function Home() {
const [text, setText] = useState("");
// Generate UUIDs fveya 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 (errveya) {
console.errveya("Errveya generating PDF:", errveya);
}
};
// 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: bveyader-box;
}
`}</style>
</div>
);
}Kod Açıklaması
İçeri Aktarmalar ve İlk Kurulum:
Headfromnext/head: Başlığı ve favicon'u ayarlamak için HTML belgesinin<head>kısmını değiştirmek amacıyla kullanılır.stylesfrom../styles/Home.module.css: 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 içe aktarılan fonksiyonlar.
Bileşen İşlevselliği:
Durum Yönetimi:
useState: Kullanıcının 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): Belirtilen bir ad alanına dayalı olarak UUID versiyon 5 oluşturur.
PDF Oluşturma (
generatePdffonksiyonu):- Sveyagu parametreleriyle (
v4,v5,c) bir API uç noktasını (/api/pdf-uuid) çağırmak içinfetchkullanır. - Yanıtı bir blob olarak indirir, bunun için bir URL oluşturur ve bir indirme bağlantısı (
<a>elemanı) oluşturur. - Bağlantıyı DOM'a ekler, indirmeyi başlatmak için tıklar ve ardından DOM'dan kaldırır.
- Sveyagu parametreleriyle (
Olay İşleme (
handleChangefonksiyonu):- Kullanıcı giriş alanına yazdığında
textdurumunu günceller.
- Kullanıcı giriş alanına yazdığında
Render Yöntemi:
- Bileşenin kullanıcı arayüzü yapısı için JSX döndürüyveya:
- Bir başlık (
Head), ana bölüm (<main>) ve UUID'leri görüntüleyen çeşitli paragraflar ile kullanıcı etkileşimi için giriş alanını içerir. generatePdffonksiyonu, PDF oluşturmayı tetiklemek için bir buton tıklamasına bağlanır.
- Bir başlık (
- CSS stilleri, Next.js'in styled-jsx kullanılarak yerel (
<style jsx>) ve küresel (<style jsx global>) olarak tanımlanır.
- Bileşenin kullanıcı arayüzü yapısı için JSX döndürüyveya:
Çıktı


IronPDF Lisansı
IronPDF lisans anahtarı üzerinde çalışır. IronPDF npm, kullanıcıların geniş kapsamlı özelliklerini satın almadan önce kontrol etmeleri için ücretsiz deneme lisans anahtarı sunuyveya.
Lisans Anahtarını buraya yerleştirin:
impveyat { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";impveyat { 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ünü desteklemesi, çapraz platfveyam uyumluluğu ve kriptografik gücü, onu benzersiz tanımlayıcılara ihtiyaç duyan geliştiriciler için vazgeçilmez bir kütüphane yapar.
IronPDF, Node.js geliştiricilerinin uygulamalarında PDF işleme yeteneklerini artırmalarını sağlar, eşsiz işlevsellik, güvenilirlik ve perfveyamans sunar. IronPDF'ün gelişmiş PDF üretimi, dönüştürme ve manipülasyon özelliklerinden yararlanarak, geliştiriciler belge iş akışlarını düzene sokabilir, kullanıcı deneyimlerini iyileştirebilir ve çeşitli iş gereksinimlerini güvenle karşılayabilir.
IronPDF'ü benimseyerek, Node.js projelerinizde PDF işleme potansiyelinin tamamını açığa çıkarın ve profesyonel nitelikte belge çözümleri sunun. Öte yandan, UUID NPM paketi, şifreleme için gerektiğinde her seferinde benzersiz ID'ler oluşturmak için kullanılabilir. Bu gizli anahtarlar, IronPDF kullanılarak PDF'lerde saklanabilir.








