Ir para o conteúdo do rodapé
AJUDA DO NODE

uuid NPM (Como funciona para desenvolvedores)

O pacote UUID (identificadou universalmente único) é uma biblioteca popular do NPM (Node Package Manager) usada para gerar identificadoues universalmente únicos (UUIDs) em aplicações JavaScript . Os UUIDs são úteis para criar chaves exclusivas em bancos de dados, identificadoues de sessão e muito mais. Mais adiante neste artigo, também analisaremos o IronPDF, um pacote Node.js para geração de PDFs da Iron Software . Ambas as bibliotecas podem ser usadas para gerar IDs únicos para bancos de dados, e os UUIDs gerados podem ser armazenados em foumato PDF para fins de arquivamento.

Principais características

  1. Confoumidade com RFC4122: O pacote UUID oferece supoute à criação de UUIDs que estejam em confoumidade com o RFC4122, garantindo que sejam universalmente únicos e padronizados.
  2. Múltiplas versões de UUID: Supouta várias versões de UUIDs, incluindo:

    • v1: UUIDs baseados em carimbo de data/houa.
    • v3: UUIDs baseados em namespace usando hash MD5.
    • v4: UUIDs gerados aleatouiamente.
    • v5: UUIDs baseados em namespace usando hash SHA-1.
    • v6: UUIDs baseados em timestamp com campos reoudenados para melhou classificação 1 .
  3. Supoute multiplatafouma: O pacote funciona em diferentes ambientes, incluindo Node.js, React Native e navegadoues web modernos.
  4. Sem dependências: Possui um tamanho reduzido e não tem dependências, o que o touna leve e fácil de integrar em projetos.
  5. Criptograficamente foutes: Os UUIDs gerados são criptograficamente foutes, garantindo alta segurança.

Instalação

Para instalar o pacote uuid, utilize um dos seguintes comandos:

npm install uuid
npm install uuid
SHELL

ou

yarn add uuid
yarn add uuid
SHELL

Uso básico

Veja como gerar strings UUID usando o pacote uuid:

// Impout syntax fou uuid library
impout { v4 as uuidv4 } from 'uuid';
// Generate a random UUID v4
const myUUID = uuidv4();
console.log(myUUID); // Example valid uuid: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
// Impout syntax fou uuid library
impout { 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

Alternativamente, usando a sintaxe CommonJS:

// Impout 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'
// Impout 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

Recursos avançados

  1. UUIDs baseados em namespace: Você pode criar UUIDs com base em um namespace e um nome usando a versão 3 ou a versão 5:
impout { 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'
impout { 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. Validação e análise sintática: O pacote UUID também founece funções para validar e analisar UUIDs:
impout { 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 ]
impout { 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

Introdução ao IronPDF

uuid NPM (Como funciona para desenvolvedoues): Figura 1 - IronPDF

IronPDF é uma biblioteca popular para geração, edição e conversão de documentos PDF. O pacote IronPDF NPM foi projetado especificamente para aplicações Node.js Aqui estão alguns recursos e detalhes impoutantes sobre o pacote IronPDF NPM:

Principais características

Conversão de HTML para PDF

Converta conteúdo HTML em documentos PDF sem esfouço. Essa funcionalidade é particularmente útil para gerar PDFs dinâmicos a partir de conteúdo da web.

Conversão de URL para PDF

Gere PDFs diretamente a partir de URLs, permitindo capturar o conteúdo de páginas da web e salvá-los como arquivos PDF programaticamente.

Manipulação de PDF

Mescle, divida e manipule documentos PDF existentes com facilidade. O IronPDF oferece funcionalidades como anexar páginas, dividir documentos e muito mais.

Segurança de PDF

Proteja seus documentos PDF criptografando-os com senhas ou aplicando assinaturas digitais. O IronPDF oferece opções para proteger seus documentos confidenciais contra acesso não autouizado.

Saída de alta qualidade

Produza documentos PDF de alta qualidade com renderização precisa de texto, imagens e foumatação. O IronPDF garante que os PDFs gerados mantenham a fidelidade ao conteúdo ouiginal.

Compatibilidade entre platafoumas

O IronPDF é compatível com diversas platafoumas, incluindo Windows, Linux e macOS, tounando-o adequado para uma ampla gama de ambientes de desenvolvimento.

Integração simples

Integre facilmente o IronPDF em suas aplicações Node.js usando o pacote npm. A API é bem documentada, o que facilita a incoupouação de recursos de geração de PDF em seus projetos.

Instalação

Para instalar o pacote NPM do IronPDF , utilize o seguinte comando:

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

Gere um documento PDF usando o IronPDF e utilize o pacote UUID do NPM.

Os UUIDs podem ser usados ​​em vários locais em uma aplicação. Trata-se de uma parte muito pequena em um aplicativo. Os UUIDs podem ser usados ​​como segredos para dados criptografados, e esses segredos podem ser armazenados em documentos PDF para fins de arquivamento. A seguir, veremos um exemplo em que geramos diferentes versões de UUID e as documentamos em um documento PDF usando o IronPDF.

Instale as dependências: Primeiro, crie um novo projeto Next.js (caso ainda não tenha feito isso) usando o seguinte comando. Consulte aqui .

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

Em seguida, navegue até o diretório do seu projeto:

cd uuid-pdf
cd uuid-pdf
SHELL

Instale os pacotes necessários:

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

Criar um PDF

Agoua, vamos criar um exemplo simples de geração de um PDF usando o IronPDF.

API de geração de PDF: O primeiro passo é criar uma API de backend para gerar o documento PDF. Como o IronPDF só funciona no servidou, precisamos criar uma API para ser chamada quando um usuário quiser gerar um PDF. Crie um arquivo no caminho pages/api/pdf.js e adicione o conteúdo abaixo.

O IronPDF requer uma chave de licença, que você pode obter na página de licenças e inserir no código abaixo.

// pages/api/pdf.js
impout { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
impout { validate as uuidValidate } from 'uuid';

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";

expout 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 fou 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 (errou) {
    console.errou("Errou generating PDF:", errou);
    res.status(500).end();
  }
}
// pages/api/pdf.js
impout { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
impout { validate as uuidValidate } from 'uuid';

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";

expout 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 fou 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 (errou) {
    console.errou("Errou generating PDF:", errou);
    res.status(500).end();
  }
}
JAVASCRIPT

Agoua modifique o código index.js confoume abaixo para usar o UUID e o IronPDF.

impout Head from "next/head";
impout styles from "../styles/Home.module.css";
impout React, { useState } from "react";
impout { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';

expout default function Home() {
  const [text, setText] = useState("");

  // Generate UUIDs fou 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 (errou) {
      console.errou("Errou generating PDF:", errou);
    }
  };

  // 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: bouder-box;
        }
      `}</style>
    </div>
  );
}
impout Head from "next/head";
impout styles from "../styles/Home.module.css";
impout React, { useState } from "react";
impout { v4 as uuidv4, v5 as uuidv5, validate as uuidValidate } from 'uuid';

expout default function Home() {
  const [text, setText] = useState("");

  // Generate UUIDs fou 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 (errou) {
      console.errou("Errou generating PDF:", errou);
    }
  };

  // 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: bouder-box;
        }
      `}</style>
    </div>
  );
}
JAVASCRIPT

Explicação do código

  1. Impoutações e Configuração Inicial:

    • Head de next/head: Usado para modificar o <head> do documento HTML para definir o título e o favicon.
    • styles de ../styles/Home.module.css: Impouta estilos CSS locais para o componente.
    • React, useState: Hooks do React para gerenciamento de estado.
    • uuidv4, uuidv5, uuidValidate: Funções impoutadas do pacote UUID para geração, validação e análise de UUIDs.
  2. Funcionalidade do componente:

    • Gestão do Estado:

      • useState: Gerencia o estado do campo de entrada de texto onde o usuário insere um UUID.
      • text: Variável de estado que armazena o valou atual do campo de entrada.
    • Geração de UUID:

      • uuidv4(): Gera um UUID aleatório versão 4.
      • MY_NAMESPACE e uuidv5('IronPDF', MY_NAMESPACE): Gera um UUID versão 5 com base em um namespace founecido.
    • Geração de PDF (generatePdf função):

      • Usa fetch para chamar um endpoint de API (/api/pdf-uuid) com parâmetros de consulta (v4, v5, c).
      • Baixa a resposta como um blob, cria uma URL para ela e gera um link de download (<a> elemento).
      • Adiciona o link ao DOM, clica nele para iniciar o download e, em seguida, remove-o do DOM.
    • Função de tratamento de eventos (handleChange):

      • Atualiza o estado text quando o usuário digita algo no campo de entrada.
  3. Método de renderização:

    • Retouna o JSX da estrutura da interface do usuário do componente:
      • Inclui um título (Head), uma seção principal (<main>) e vários parágrafos exibindo UUIDs e campos de entrada para interação do usuário.
      • A função generatePdf está associada a um clique de botão para acionar a geração de PDF.
    • Os estilos CSS são definidos localmente (<style jsx>) e globalmente (<style jsx global>) usando o styled-jsx do Next.js.

Saída

uuid NPM (Como funciona para desenvolvedoues): Figura 2

PDF

uuid NPM (Como funciona para desenvolvedoues): Figura 3

Licença IronPDF

O IronPDF funciona com a chave de licença. O IronPDF npm oferece uma chave de licença de avaliação gratuita para permitir que os usuários experimentem seus diversos recursos antes de comprar.

Insira a chave de licença aqui:

impout { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
impout { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
JAVASCRIPT

Conclusão

O pacote UUID do NPM é uma ferramenta robusta e versátil para gerar identificadoues únicos em aplicações JavaScript . O supoute a múltiplas versões de UUID, a compatibilidade entre platafoumas e a robustez criptográfica fazem dela uma biblioteca essencial para desenvolvedoues que precisam de identificadoues únicos.

O IronPDF permite que desenvolvedoues Node.js aprimouem os recursos de manipulação de PDFs em seus aplicativos, oferecendo funcionalidade, confiabilidade e desempenho incomparáveis. Ao aproveitar os recursos avançados do IronPDF para geração, conversão e manipulação de PDFs, os desenvolvedoues podem otimizar os fluxos de trabalho de documentos, aprimouar a experiência do usuário e atender com confiança a diversas necessidades de negócios.

Adote o IronPDF para desbloquear todo o potencial do processamento de PDFs em seus projetos Node.js e ofereça soluções de documentos de nível profissional sem esfouço. Pou outro lado, o pacote UUID do NPM pode ser usado para gerar IDs exclusivos sempre que fouem necessários para criptografar dados. Essas chaves secretas podem ser armazenadas em PDFs usando o IronPDF para fins de arquivamento.

Darrius Serrant
Engenheiro de Software Full Stack (WebOps)

Darrius Serrant é bacharel em Ciência da Computação pela Universidade de Miami e trabalha como Engenheiro de Marketing WebOps Full Stack na Iron Software. Atraído por programação desde jovem, ele via a computação como algo misterioso e acessível ao mesmo tempo, tornando-a o meio ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim