JSPM

eml-to-pdf-converter

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q21164F
  • License MIT

Convert EML email files to PDF format with attachments support

Package Exports

  • eml-to-pdf-converter
  • eml-to-pdf-converter/convert.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eml-to-pdf-converter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

EML to PDF Converter

A Node.js package that converts EML email files to PDF format with full attachments support.

Features

  • Converts EML files to PDF format
  • Preserves email metadata (subject, sender, receiver, date)
  • Handles HTML and plain text email content
  • Merges PDF attachments directly into the output PDF
  • Provides both programmatic API and CLI interface
  • Generates clean, formatted PDFs with email headers and content

Installation

As a dependency in your project:

npm install eml-to-pdf-converter

As a global CLI tool:

npm install -g eml-to-pdf-converter

Usage

Command Line Interface (CLI)

Convert a single EML file:

eml-to-pdf email.eml
eml-to-pdf email.eml output.pdf

Convert all EML files in a directory:

eml-to-pdf ./emails/
eml-to-pdf ./emails/ ./output/

Show help:

eml-to-pdf --help

Programmatic API

const { convertEmlToPdf, generateOutputFilename } = require('eml-to-pdf-converter');

// Convert a single file
async function convertFile() {
  const outputPath = await generateOutputFilename('email.eml');
  await convertEmlToPdf('email.eml', outputPath);
  console.log('Conversion completed!');
}

convertFile();

Output

The converter generates a single PDF file for each email with:

  • Email headers (subject, sender, receiver, date)
  • Formatted email content (HTML or plain text)
  • Merged PDF attachments (when present)

Files are saved with descriptive names in the format: yyyy_mm_dd_hh_mm_ss_sender_to_receiver.pdf

Dependencies

  • mailparser - For parsing EML files
  • pdfkit - For PDF generation
  • pdf-lib - For merging PDF attachments
  • fs-extra - Enhanced file system operations

Notes

  • HTML content is processed with basic formatting preservation
  • PDF attachments are automatically merged into the main PDF
  • Non-PDF attachments are listed in the PDF but not included
  • Works with Node.js version 14 and higher