@jackgreen2018/resume-cv-pdf-builder
v1.0.0
Published
A high-performance Resume/CV PDF generator for Node.js and the browser via Rust/WASM. Zero runtime dependencies, professional templates.
Downloads
15
Maintainers
Readme
@jackgreen2018/resume-cv-pdf-builder
A high-performance Resume/CV PDF generator for Node.js and the browser via Rust/WASM. Zero runtime dependencies beyond the WASM binary.
Installation
npm install @jackgreen2018/resume-cv-pdf-builderUsage
import { generateResume } from '@jackgreen2018/resume-cv-pdf-builder';
const pdf = await generateResume({
name: 'Jane Mitchell',
email: '[email protected]',
phone: '+1 (555) 123-4567',
location: 'San Francisco, CA',
summary: 'Senior software engineer with 8+ years of experience.',
experience: [
{
role: 'Senior Software Engineer',
company: 'TechCorp Inc.',
startDate: '2020-03',
endDate: '2024-06',
bullets: ['Led a team of 6 engineers', 'Reduced latency by 40%']
}
],
education: [
{ degree: 'M.S. Computer Science', school: 'Stanford University', year: '2017' }
],
skills: ['JavaScript', 'TypeScript', 'React', 'Node.js', 'AWS']
});
// Save to file or download
const blob = new Blob([pdf], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
// ... trigger downloadAPI
generateResume(data, template?)
Generates a professional resume PDF.
Parameters:
data—ResumeDataInputobject (see types below)template—'modern'(default, only option currently)
Returns: Promise<Uint8Array> — PDF bytes
Types
interface ResumeDataInput {
name: string;
email?: string;
phone?: string;
location?: string;
summary?: string;
experience?: ExperienceEntry[];
education?: EducationEntry[];
skills?: string[];
certifications?: string[];
languages?: string[];
}
interface ExperienceEntry {
role: string;
company: string;
startDate: string;
endDate?: string;
current?: boolean;
bullets?: string[];
}
interface EducationEntry {
degree: string;
school: string;
year?: string;
}Benchmarks
Benchmarked against @jackgreen2018/resume-pdf-engine (pdf-lib based) on Node.js v22:
| Metric | WASM (this package) | pdf-lib | Speedup | |--------|--------------------:|--------:|--------:| | Average time | 0.72ms | 10.94ms | 15.19x | | Min time | 0.14ms | 4.04ms | 28.8x | | Max time | 5.40ms | 41.89ms | 7.8x | | Output size | 2,798 bytes | 4,051 bytes | — |
Benchmark run with a realistic multi-section resume (2 experiences, 2 educations, 7 skills).
Run benchmarks locally:
npm run benchmarkDevelopment
# Build WASM + TypeScript
npm run build
# Run tests
npm test
# Run benchmarks
npm run benchmarkLicense
MIT
