Embed fonts in pptx files
npm install pptx-embed-fontsbash
npm install pptx-embed-fonts
or
yarn add pptx-embed-fonts
or
pnpm add pptx-embed-fonts
`
🚀 Quick Start
$3
`typescript
import PPTXEmbedFonts from "pptx-embed-fonts";
// Create instance
const embedFonts = new PPTXEmbedFonts();
// Load PPTX file
const pptxBuffer = await fetch("presentation.pptx").then((r) =>
r.arrayBuffer()
);
await embedFonts.load(pptxBuffer);
// Add font
const fontBuffer = await fetch("font.ttf").then((r) => r.arrayBuffer());
await embedFonts.addFontFromTTF("MyFont", fontBuffer);
const result = await embedFonts.save();
`
$3

`typescript
import pptxgenjs from "pptxgenjs";
import { withPPTXEmbedFonts } from "pptx-embed-fonts/pptxgenjs";
// Create enhanced version of pptxgenjs
const EnhancedPPTXGenJS = withPPTXEmbedFonts(pptxgenjs);
const pptx = new EnhancedPPTXGenJS();
// Add font
const fontBuffer = await fetch("font.ttf").then((r) => r.arrayBuffer());
await pptx.addFont({
fontFace: "MyFont",
fontFile: fontBuffer,
fontType: "ttf",
});
// Create slide content
const slide = pptx.addSlide();
slide.addText("Hello World", {
fontFace: "MyFont",
fontSize: 24,
});
// Automatically embed fonts when exporting
const pptxFile = await pptx.writeFile({
fileName: "example.pptx",
});
`
📚 API Reference
$3
#### Constructor
`typescript
new PPTXEmbedFonts(zip?: JSZip)
`
#### Methods
##### load(fileBuffer: ArrayBuffer): Promise
Load PPTX file buffer
##### loadZip(zip: JSZip): Promise
Load JSZip instance
##### addFontFromTTF(fontName: string, ttfFile: ArrayBuffer): Promise
Add TTF format font
##### addFontFromOTF(fontName: string, otfFile: ArrayBuffer): Promise
Add OTF format font
##### addFontFromEOT(fontName: string, eotFile: ArrayBuffer): Promise
Add EOT format font
##### addFontFromWOFF(fontName: string, woffFile: ArrayBuffer): Promise
Add WOFF format font
##### getFontInfo(fontBuffer: ArrayBuffer): any
Get font information
##### updateFiles(): Promise
Update font-related configurations in PPTX file
##### save(): Promise
Save and return the updated file
$3
#### Parameters
- pptxgen: typeof pptxgenjs - pptxgenjs class
#### Return Value
Enhanced version of pptxgenjs class with the following additional methods:
##### addFont(options): Promise
`typescript
interface AddFontOptions {
fontFace: string;
fontFile: ArrayBuffer;
fontType: "ttf" | "eot" | "woff" | "otf";
}
`
##### getFontInfo(fontFile: ArrayBuffer): any`