Configuration

Converter Options

The ConverterOptions interface provides configuration options to customize the conversion behavior.

Interface Definition

interface ConverterOptions {
  fileName?: string;
  forceExtension?: string;
  url?: string;
  ocr?: boolean | OCROptions;
}

Options

fileName

Example:

const buffer = readFileSync('./document.pdf');
const markdown = await convertToMarkdown(buffer, {
  fileName: 'document.pdf'
});

forceExtension

Example:

// Force treat as PDF even if detection fails
const markdown = await convertToMarkdown(buffer, {
  forceExtension: '.pdf'
});

Supported Extensions:


url

Example:

// Convert YouTube page
const markdown = await convertToMarkdown(htmlBuffer, {
  url: 'https://www.youtube.com/watch?v=...'
});

// Convert Bing search results
const markdown = await convertToMarkdown(htmlBuffer, {
  url: 'https://www.bing.com/search?q=...'
});

ocr

Example:

const markdown = await convertToMarkdown("scan.pdf", {
  ocr: {
    provider: "handler",
    pdfMode: "auto",
    handler: async (buffer, context) => myOcr(buffer, context),
  },
});

See Type Definitions for OCROptions, OCRHandler, and OCRHandlerContext.

Usage Examples

Combining Options

You can combine multiple options:

const markdown = await convertToMarkdown(buffer, {
  fileName: 'document.pdf',
  forceExtension: '.pdf',
});

Buffer with Format Detection

When working with buffers without extension information:

const buffer = getSomeBuffer();
const markdown = await convertToMarkdown(buffer, {
  fileName: 'unknown-file.pdf'  // Helps detect it's a PDF
});

Web Content Conversion

For web-scraped content:

const htmlContent = await fetchWebPage(url);
const markdown = await convertToMarkdown(htmlContent, {
  url: url  // Enables special handling for known sites
});

Default Behavior

When no options are provided:

See Also