[]
        
(Showing Draft Content)

Deno

Updated 3/06/2026.

What is Deno?

Deno is a modern JavaScript/TypeScript runtime created by the original Node.js developer. It features secure by default execution and built-in TypeScript support.

Prerequisites

  • Node.js (version 16 or higher)

  • npm (version 7 or higher)

  • Deno installed

  • A code editor (VS Code recommended)

  • Basic knowledge of JavaScript and modern runtimes (Node.js / Deno)

Installation

Install Deno:

npm install -g deno

Verify installation:

deno --version

Working Example

Step 1 — Create a Project

mkdir dspdf-deno-demo
cd dspdf-deno-demo

Step 2 — Install DsPdfJS

npm i @mescius/ds-pdf

Step 3 — Create deno-pdf-example.tsin the same directory:

// deno-pdf-example.ts
import fs from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { createRequire } from "node:module";
import { Buffer } from "node:buffer";

// Load CommonJS build in ESM
const require = createRequire(import.meta.url);
const { connectDsPdf, DsPdfConfig, ObjectManager, PdfDocument } = require("@mescius/ds-pdf");

// Resolve current directory
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

// Absolute path to WASM
const wasmPath = path.resolve(__dirname, "node_modules/@mescius/ds-pdf/assets/DsPdf.wasm");
DsPdfConfig.wasmUrl = wasmPath;

async function createPdf() {
  console.log("🚀 Starting PDF generation in Deno...");

  const connected = await connectDsPdf();
  if (!connected) throw new Error("Failed to initialize DsPdfJS.");

  const om = new ObjectManager();
  try {
    const doc = new PdfDocument(om);
    const page = doc.newPageContext();

    page.drawText(
      { text: "Hello from Deno + DsPdfJS", fontSize: 18, foreColor: "DarkBlue" },
      50,
      50
    );

    const pdfData = doc.savePdf();
    const buffer = Buffer.from(pdfData.buffer || pdfData);

    fs.writeFileSync("deno-example.pdf", buffer);

    console.log("✅ deno-example.pdf created successfully!");
  } finally {
    om.dispose();
  }
}

createPdf().catch(console.error);

Step 4 — Run the Example

deno run --allow-read --allow-write deno-pdf-example.ts

Expected Result

After execution, you'll see:

🚀 Starting PDF generation in Deno...
✅ deno-example.pdf created successfully!

A PDF file deno-example.pdf will be created in your current directory containing the text "Hello from Deno!" in dark blue.

Project Structure

dspdf-deno-demo/
├── node_modules/
├── deno-pdf-example.ts
├── package.json
├── package-lock.json