[]
Updated 3/06/2026.
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.
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)
npm install -g denodeno --versionmkdir dspdf-deno-demo
cd dspdf-deno-demonpm i @mescius/ds-pdfdeno-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);deno run --allow-read --allow-write deno-pdf-example.tsAfter 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.
dspdf-deno-demo/
├── node_modules/
├── deno-pdf-example.ts
├── package.json
├── package-lock.json