フッターコンテンツにスキップ
ノードヘルプ

Chartjs Node.js は、強力で多岐にわたる JavaScript ライブラリであり、開発者が美しいチャートやグラフを簡単に作成できるツールです。

UUID(ユニバーサルユニーク識別子)パッケージは、JavaScriptアプリケーションでユニバーサルユニーク識別子(UUID)を生成するために使用される人気のあるNPM(Node Package Manager)ライブラリです。 UUIDは、データベースでのユニークキーの作成、セッション識別子などに役立ちます。 この記事の後半で、IronPDFIron SoftwareからのPDF生成Node.jsパッケージについても見ていきます。 これら両方のライブラリはデータベースのために一意のIDを生成するために使用することができ、生成されたUUIDはアーカイブ目的でPDF形式で保存できます。

主要な特徴

  1. RFC4122 準拠: UUID パッケージは、RFC4122 に準拠した UUID の作成をサポートし、UUID が普遍的に一意で標準化されていることを保証します。 2.複数の UUID バージョン:次のようなさまざまなバージョンの UUID をサポートします。

    • v1:タイムスタンプベースの UUID。
    • v3: MD5 ハッシュを使用する名前空間ベースの UUID。
    • v4:ランダムに生成された UUID。
    • v5: SHA-1 ハッシュを使用する名前空間ベースの UUID。
    • v6:ソートの改善のためにフィールドの順序が変更されたタイムスタンプベースの UUID 1

3.クロスプラットフォーム サポート:このパッケージは、 Node.js、React Native、最新の Web ブラウザーなど、さまざまな環境で動作します。 4.依存性ゼロ:フットプリントが小さく依存性がないため、軽量でプロジェクトに簡単に統合できます。 5.暗号的に強力:生成された UUID は暗号的に強力であり、高いセキュリティが保証されます。

インストール

uuidパッケージをインストールするには、以下のコマンドのいずれかを使用してください。

npm install uuid
npm install uuid
SHELL

or

yarn add uuid
yarn add uuid
SHELL

基本的な使用法

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

またはCommonJS構文を使用します。

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

高度な機能

1.名前空間ベースの UUID:バージョン 3 またはバージョン 5 を使用して、名前空間と名前に基づいて UUID を作成できます。

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

2.検証と解析: UUID パッケージは、UUID を検証および解析する関数も提供します。

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

IronPDFの紹介

uuid NPM (開発者向けの仕組み): 図 1 - IronPDF

IronPDFは、PDFドキュメントの生成、編集、変換に使用される人気のPDF生成ライブラリです。 IronPDF NPMパッケージは、特にNode.jsアプリケーション向けに設計されています。 以下に、IronPDF NPMパッケージの主な機能と詳細を示します。

主要な特徴

HTMLからPDFへの変換

HTMLコンテンツを簡単にPDFドキュメントに変換します。 この機能は、動的なPDFをウェブコンテンツから生成するのに特に便利です。

URLからPDFへの変換

URLから直接PDFを生成し、ウェブページのコンテンツをプログラム的にキャプチャしてPDFファイルとして保存することができます。

PDF操作

既存のPDFドキュメントを簡単にマージ、分割、および操作します。 IronPDFは、ページの追加やドキュメントの分割などの機能を提供します。

PDFのセキュリティ

パスワードで暗号化したりデジタル署名を適用したりしてPDFドキュメントを保護します。 IronPDFは、機密文書の不正アクセスから保護するためのオプションを提供します。

高品質出力

テキスト、画像、およびフォーマットの正確なレンダリングを備えた高品質のPDFドキュメントを作成します。 IronPDFは、生成されたPDFが元のコンテンツの忠実度を保つことを保証します。

クロスプラットフォーム互換性

IronPDFは、Windows、Linux、macOSを含む様々なプラットフォームと互換性があり、幅広い開発環境に適しています。

シンプルな統合

npmパッケージを使用してNode.jsアプリケーションにIronPDFを簡単に統合します。 APIは十分に文書化されており、プロジェクトにPDF生成機能を組み込むのが簡単です。

インストール

IronPDF NPMパッケージをインストールするには、次のコマンドを使用してください。

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

IronPDFとUUID NPMパッケージを使用してPDFドキュメントを生成

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

次に、プロジェクトディレクトリに移動します。

cd uuid-pdf
cd uuid-pdf
SHELL

必要なパッケージをインストールします。

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

PDFを作成する

では、IronPDFを使用してPDFを生成する簡単な例を作成しましょう。

PDF 生成 API:最初のステップは、PDF ドキュメントを生成するためのバックエンド API を作成することです。 IronPDFはサーバー側でのみ実行されるため、ユーザーがPDFを生成したいときに呼び出すAPIを作成する必要があります。 パスpages/api/pdf.jsにファイルを作成し、以下の内容を追加します。

IronPDFはライセンスキーを必要とします。ライセンスページから入手し、以下のコードに配置してください。

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

次に、UUIDとIronPDFを使用するためにindex.jsコードを以下のように修正します。

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

コードの説明

  1. インポートと初期設定:

    • Head from next/head: HTMLドキュメントの<head>を変更して、タイトルとファビコンを設定します。
    • styles from ../styles/Home.module.css: コンポーネントのためにローカルCSSスタイルをインポートします。
    • React, useState: 状態管理のためのReactフック。
    • uuidv4, uuidv5, uuidValidate: UUIDの生成、検証、解析のためにUUIDパッケージからインポートされた関数。
  2. コンポーネント機能:

    • ステート管理:

      • useState: ユーザーがUUIDを入力するテキスト入力フィールドの状態を管理します。
      • text: 入力フィールドの現在の値を保持する状態変数。
    • UUID生成:

      • uuidv4(): ランダムなUUIDバージョン4を生成します。
      • uuidv5('IronPDF', MY_NAMESPACE): 指定された名前空間に基づいてUUIDバージョン5を生成します。
    • PDF生成 (generatePdf関数):

      • クエリパラメータ (v4, v5, c) とともにAPIエンドポイント (/api/pdf-uuid) を呼び出すためにfetchを使用します。
      • 応答をblobとしてダウンロードし、そのためのURLを作成し、ダウンロードリンク (<a>要素) を生成します。
      • リンクをDOMに追加し、クリックしてダウンロードを開始し、その後DOMから削除します。
    • イベントハンドリング (handleChange関数):

      • ユーザーが入力フィールドに入力するとtext状態が更新されます。
  3. レンダーメソッド:

    • コンポーネントのUI構造のためのJSXを返します:
      • タイトル (Head)、メインセクション (
        )、およびUUIDとユーザーの対話入力フィールドを表示するさまざまな段落を含みます。
      • generatePdf関数は、PDF生成をトリガーするためのボタンクリックにバインドされています。
    • CSSスタイルは、Next.jsのstyled-jsxを使用してローカル (
      お困りですか 弊社の営業チームが喜んでお手伝いいたします。
      Enterpriseトライアルをお試しください
青い丸で囲まれたキー
無料の30日間トライアルキーをすぐに入手してください。
bullet_checkedクレジットカードやアカウントの作成は不要です。
  • ロゴ Aetna
  • ロゴ NASA
  • ロゴ GE
  • ロゴ ポルシェ
  • ロゴ USDA
  • ロゴ カタール
IronPDFを試した数百万人のエンジニアに加わろう

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね