Skip to content

Repository files navigation

@rdlabo/capacitor-printer

npm version License: MIT

Print files or the current web view from a Capacitor app.

This plugin wraps the native printing UI on iOS and Android. You can print a local file (for example, a PDF generated in your app) or the content of the current web view.

Full documentation: https://docs.rdlabo.dev/projects/capacitor-printer

Documentation: Read the full documentation

Install

npm install @rdlabo/capacitor-printer
npx cap sync

Usage

See PDF to print a file and Web to print the current WebView.

Print a file

import { Printer } from '@rdlabo/capacitor-printer';

const printPdf = async (filePath: string) => {
  try {
    await Printer.printFile({
      path: filePath,
      mimeType: 'application/pdf',
    });
  } finally {
    // The source file can be deleted once the promise settles.
  }
};

Print the current web view

import { Printer } from '@rdlabo/capacitor-printer';

const printPage = async () => {
  await Printer.printWebView({ name: 'My Receipt' });
};

When to use

Use this plugin when your app needs to present the system print dialog, such as:

  • Printing a receipt or invoice as PDF.
  • Printing a report generated in the app.
  • Printing the contents of the current page.

Platform notes

  • iOS and Android: printFile and printWebView are both supported.
  • Web: Not supported because browsers already provide window.print().

API

printFile(...)

printFile(options: PrintFileOptions) => Promise<void>

Present the printing user interface to print a file.

The promise settles after the operating system no longer needs the source file, so the file can be safely deleted in a finally block.

Only available on Android and iOS.

Param Type
options PrintFileOptions

printWebView(...)

printWebView(options?: PrintOptions | undefined) => Promise<void>

Present the printing user interface to print the web view content.

Param Type
options PrintOptions

Interfaces

PrintFileOptions

Prop Type Description
path string The path to the file. Android supports file paths, file:// URLs, and content:// URLs. iOS supports file paths and local file:// URLs.
mimeType string The MIME type of the file. Only used on Android.

PrintOptions

Prop Type Description Default
name string The name of the print job. 'Document'

Type Aliases

PrintWebViewOptions

PrintOptions

Maintainers

License

This project is licensed under the MIT License.

Releases

Sponsor this project

Packages

Used by

Contributors

Languages