Altbilgi içeriğine atla
NODE YARDıM

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

  1. RFC4122 Uyumluluğu: UUID paketi, RFC4122 ile uyumlu UUID'ler oluşturmayı destekler, böylece bunlar evrensel olarak benzersiz ve standart hale gelir.
  2. 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.
  3. Çapraz Platfveyam Desteği: Paket, Node.js, React Native ve modern web tarayıcıları dahil olmak üzere farklı veyatamlar arasında çalışır.
  4. 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.
  5. 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 uuid
npm install uuid
SHELL

veya

yarn add uuid
yarn add uuid
SHELL

Temel 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'
JAVASCRIPT

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'
JAVASCRIPT

İleri Düzey Özellikler

  1. İ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'
JAVASCRIPT
  1. 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 ]
JAVASCRIPT

IronPDF'ye Giriş

uuid NPM (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - IronPDF

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-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
SHELL

IronPDF 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"
SHELL

Sonra, proje dizininize gidin:

cd uuid-pdf
cd uuid-pdf
SHELL

Gerekli paketleri yükleyin:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add uuid
SHELL

Bir 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();
  }
}
JAVASCRIPT

Ş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>
  );
}
JAVASCRIPT

Kod Açıklaması

  1. İçeri Aktarmalar ve İlk Kurulum:

    • Head from next/head: Başlığı ve favicon'u ayarlamak için HTML belgesinin <head> kısmını değiştirmek amacıyla kullanılır.
    • styles from ../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.
  2. 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_NAMESPACE ve uuidv5('IronPDF', MY_NAMESPACE): Belirtilen bir ad alanına dayalı olarak UUID versiyon 5 oluşturur.
    • PDF Oluşturma (generatePdf fonksiyonu):

      • Sveyagu parametreleriyle (v4, v5, c) bir API uç noktasını (/api/pdf-uuid) çağırmak için fetch kullanı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.
    • Olay İşleme (handleChange fonksiyonu):

      • Kullanıcı giriş alanına yazdığında text durumunu günceller.
  3. 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.
      • generatePdf fonksiyonu, PDF oluşturmayı tetiklemek için bir buton tıklamasına bağlanır.
    • CSS stilleri, Next.js'in styled-jsx kullanılarak yerel (<style jsx>) ve küresel (<style jsx global>) olarak tanımlanır.

Çıktı

uuid NPM (Geliştiriciler İçin Nasıl Çalışır): Şekil 2

PDF

uuid NPM (Geliştiriciler İçin Nasıl Çalışır): Şekil 3

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";
JAVASCRIPT

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.

Darrius Serrant
Tam Yığın Yazılım Mühendisi (WebOps)

Darrius Serrant, Miami Üniversitesi'nden Bilgisayar Bilimleri lisans derecesine sahiptir ve Iron Software'de Tam Yığın WebOps Pazarlama Mühendisi olarak çalışmaktadır. Küçük yaşlardan itibaren kodlamaya ilgi duyan Darrius, bilişimi hem gizemli hem de erişilebilir buldu ve onu yaratıcılık ve problem çö...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara