---
description: Capacitor plugin for seamless printing on Android and iOS. Supports base64, files, HTML, PDFs, and web views.
title: Capacitor Printer Plugin for Android, iOS & Web - Capawesome
image: https://capawesome.io/docs/assets/images/social/sdks/capacitor/printer.png
---

<!doctype html> 

[Skip to content ](#capacitor-printer-plugin) 

[🖥️ Introducing the **Capacitor Electron Platform** — build desktop apps for macOS, Windows, and Linux. Free & open source. ](/blog/announcing-the-capacitor-electron-platform/) 

* [ SDKs ](/docs/sdks/)
* [ Formbricks ](/docs/sdks/capacitor/formbricks/)
* [ Geocoder ](/docs/sdks/capacitor/geocoder/)
* [ Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [ Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [ Gyroscope ](/docs/sdks/capacitor/gyroscope/)
* [ Haptics ](/docs/sdks/capacitor/haptics/)
* [ Home Indicator ](/docs/sdks/capacitor/home-indicator/)
* [ In-App Browser ](/docs/sdks/capacitor/in-app-browser/)
* [ Install Referrer ](/docs/sdks/capacitor/install-referrer/)
* [ Intercom ](/docs/sdks/capacitor/intercom/)
* [ Intune ](/docs/sdks/capacitor/intune/)
* [ Keep Awake ](/docs/sdks/capacitor/keep-awake/)
* [ libSQL ](/docs/sdks/capacitor/libsql/)
* [ Light Sensor ](/docs/sdks/capacitor/light-sensor/)
* [ Live Update ](/docs/sdks/capacitor/live-update/)
* [ Localization ](/docs/sdks/capacitor/localization/)
* [ Mail Composer ](/docs/sdks/capacitor/mail-composer/)
* [ Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [ Maps Launcher ](/docs/sdks/capacitor/maps-launcher/)
* [ Media Session ](/docs/sdks/capacitor/media-session/)
* [ ML Kit ](/docs/sdks/capacitor/mlkit/)
* [ Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [ Network ](/docs/sdks/capacitor/network/)
* [ NFC ](/docs/sdks/capacitor/nfc/)
* [ Node.js ](/docs/sdks/capacitor/nodejs/)
* [ OAuth ](/docs/sdks/capacitor/oauth/)
* [ Passkeys ](/docs/sdks/capacitor/passkeys/)
* [ Password Autofill ](/docs/sdks/capacitor/password-autofill/)
* [ PDF Generator ](/docs/sdks/capacitor/pdf-generator/)
* [ PDF Viewer ](/docs/sdks/capacitor/pdf-viewer/)
* [ Pedometer ](/docs/sdks/capacitor/pedometer/)
* [ Permissions ](/docs/sdks/capacitor/permissions/)
* [ Phone Dialer ](/docs/sdks/capacitor/phone-dialer/)
* [ Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [ Photo Manipulator ](/docs/sdks/capacitor/photo-manipulator/)
* [ PixLive ](/docs/sdks/capacitor/pixlive/)
* [ PostHog ](/docs/sdks/capacitor/posthog/)
* Printer [ Printer ](/docs/sdks/capacitor/printer/)
* [ Configuration ](#configuration)
* [ Usage ](#usage)
* [ API ](#api)
* [ Type Aliases ](#type-aliases)
* [ FAQ ](#faq)
* [ Related Plugins ](#related-plugins)
* [ Newsletter ](#newsletter)
* [ Changelog ](#changelog)
* [ Breaking Changes ](#breaking-changes)
* [ License ](#license)
* [ Privacy Screen ](/docs/sdks/capacitor/privacy-screen/)
* [ Proximity Sensor ](/docs/sdks/capacitor/proximity-sensor/)
* [ Purchases ](/docs/sdks/capacitor/purchases/)
* [ RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [ Root Detection ](/docs/sdks/capacitor/root-detection/)
* [ Screen Brightness ](/docs/sdks/capacitor/screen-brightness/)
* [ Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [ Screen Reader ](/docs/sdks/capacitor/screen-reader/)
* [ Screenshot ](/docs/sdks/capacitor/screenshot/)
* [ Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [ Settings Launcher ](/docs/sdks/capacitor/settings-launcher/)
* [ Shake ](/docs/sdks/capacitor/shake/)
* [ Silent Mode ](/docs/sdks/capacitor/silent-mode/)
* [ SIM ](/docs/sdks/capacitor/sim/)
* [ SMS Composer ](/docs/sdks/capacitor/sms-composer/)
* [ Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [ Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [ Share Target ](/docs/sdks/capacitor/share-target/)
* [ Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [ SQLite ](/docs/sdks/capacitor/sqlite/)
* [ Superwall ](/docs/sdks/capacitor/superwall/)
* [ System WebView ](/docs/sdks/capacitor/system-webview/)
* [ Tauri ](/docs/sdks/capacitor/tauri/)
* [ Text Interaction ](/docs/sdks/capacitor/text-interaction/)
* [ Text Zoom ](/docs/sdks/capacitor/text-zoom/)
* [ Thermal State ](/docs/sdks/capacitor/thermal-state/)
* [ Toast ](/docs/sdks/capacitor/toast/)
* [ Torch ](/docs/sdks/capacitor/torch/)
* [ Vault ](/docs/sdks/capacitor/vault/)
* [ Volume ](/docs/sdks/capacitor/volume/)
* [ Wallet ](/docs/sdks/capacitor/wallet/)
* [ Wifi ](/docs/sdks/capacitor/wifi/)
* [ YouTube Player ](/docs/sdks/capacitor/youtube-player/)
* [ Zip ](/docs/sdks/capacitor/zip/)
* [ Cordova ](/docs/sdks/cordova/)
* [ Cloud ](/docs/cloud/)
* [ Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [ Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [ FAQ ](/docs/cloud/live-updates/faq/)
* [ Native Builds ](/docs/cloud/native-builds/)
* [ Set Up Environments ](/docs/cloud/native-builds/environments/)
* [ Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [ Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [ Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [ Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [ Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [ Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [ Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [ Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [ Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [ Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [ Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [ Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [ FAQ ](/docs/cloud/native-builds/faq/)
* [ App Store Publishing ](/docs/cloud/app-store-publishing/)
* [ Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [ Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [ Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [ FAQ ](/docs/cloud/app-store-publishing/faq/)
* [ Automations ](/docs/cloud/automations/)
* [ Reference ](/docs/cloud/automations/reference/)
* [ Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [ FAQ ](/docs/cloud/automations/faq/)
* [ Assist ](/docs/cloud/assist/)
* [ CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [ Webhooks ](/docs/cloud/webhooks/)
* [ Integrations ](/docs/cloud/integrations/)
* Account
* [ Organization ](/docs/cloud/organizations/)
* [ Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [ Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [ Billing ](/docs/cloud/organizations/billing/)
* [ License Keys ](/docs/cloud/license-keys/)
* [ AI ](/docs/ai/)
* [ Insiders ](/docs/insiders/)
* [ Billing & Plans ](/docs/insiders/billing-and-plans/)
* [ FAQ ](/docs/insiders/faq/)
* [ License ](https://capawesome.io/legal/eula/)
* [ Support ](/docs/support/)
* [ Contributing ](/docs/contributing/)
* Contributing code
* [ Code of Conduct ](/docs/contributing/code-of-conduct/)
* [ Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [ Blog ](/blog/)
* Categories

* [ Configuration ](#configuration)
* [ Usage ](#usage)
* [ API ](#api)
* [ Type Aliases ](#type-aliases)
* [ FAQ ](#faq)
* [ Related Plugins ](#related-plugins)
* [ Newsletter ](#newsletter)
* [ Changelog ](#changelog)
* [ Breaking Changes ](#breaking-changes)
* [ License ](#license)

# Capacitor Printer Plugin[¶](#capacitor-printer-plugin "Permanent link")

Capacitor plugin for seamless printing on Android and iOS. Supports base64, files, HTML, PDFs, and web views.

[ ![Deliver Live Updates to your Capacitor app with Capawesome Cloud](../../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://cloud.capawesome.io/) 

## Features[¶](#features "Permanent link")

The Capacitor Printer plugin is one of the most complete printing solutions for Capacitor apps. Here are some of the key features:

* 🖥️ **Cross-platform**: Supports Android, iOS and Web.
* 🖨️ **Base64 Printer**: Print base64 encoded files.
* 🖨️ **File Printer**: Print files from the device.
* 🖨️ **HTML Printer**: Print custom HTML content.
* 🖨️ **PDF Printer**: Print PDF files.
* 🖨️ **Web View Printer**: Print web view content.
* ⚔️ **Battle-Tested**: Used in more than 100 projects.
* 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.
* 🔁 **Up-to-date**: Always supports the latest Capacitor version.
* ⭐️ **Support**: Priority support from the Capawesome Team.
* ✨ **Handcrafted**: Built from the ground up with care and expertise, not forked or AI-generated.

Missing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!

## Use Cases[¶](#use-cases "Permanent link")

The Printer plugin is typically used whenever an app needs to send content to a printer, for example:

* **Receipts and invoices**: Print HTML-formatted receipts or invoices directly from your app.
* **Documents**: Print PDF documents or other files stored on the device.
* **Server-generated content**: Print documents received from an API as base64 encoded data.
* **Reports and summaries**: Print the current web view content, customized with a print style sheet.

## Compatibility[¶](#compatibility "Permanent link")

| Plugin Version | Capacitor Version | Status         |
| -------------- | ----------------- | -------------- |
| 8.x.x          | \>=8.x.x          | Active support |
| 7.x.x          | 7.x.x             | Deprecated     |
| 6.x.x          | 6.x.x             | Deprecated     |

## Demo[¶](#demo "Permanent link")

A working example can be found [here](https://github.com/robingenz/capacitor-plugin-demo).

| Android                                                                                                                                         | iOS                                                                                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| ![Android Demo](../../../assets/external/github.com/capawesome-team/capacitor-plugins/assets/13857929/7de4bcb3-aa59-43bc-a882-2796964be539.gif) | ![iOS Demo](../../../assets/external/github.com/capawesome-team/capacitor-plugins/assets/13857929/d796d9f0-32c1-4d5c-b38f-ab46509a5eda.gif) |

## Guides[¶](#guides "Permanent link")

* [Exploring the Capacitor Printer API](https://capawesome.io/blog/exploring-the-capacitor-printer-api/)

## Installation[¶](#installation "Permanent link")

This plugin is only available to [Capawesome Insiders](https://capawesome.io/insiders/). First, make sure you have the Capawesome npm registry set up. You can do this by running the following commands:

`[](#%5F%5Fcodelineno-0-1)npm config set @capawesome-team:registry https://npm.registry.capawesome.io
[](#%5F%5Fcodelineno-0-2)npm config set //npm.registry.capawesome.io/:_authToken <YOUR_LICENSE_KEY>
`

**Attention**: Replace `<YOUR_LICENSE_KEY>` with the license key you received from Polar. If you don't have a license key yet, you can get one by becoming a [Capawesome Insider](https://capawesome.io/insiders/).

Next, you can use our **AI-Assisted Setup** to install the plugin. Add the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:

`[](#%5F%5Fcodelineno-1-1)npx skills add capawesome-team/skills --skill capacitor-plugins
`

Then use the following prompt:

`` [](#%5F%5Fcodelineno-2-1)Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome-team/capacitor-printer` plugin in my project.
 ``

If you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:

`[](#%5F%5Fcodelineno-3-1)npm install @capawesome-team/capacitor-printer
[](#%5F%5Fcodelineno-3-2)npx cap sync
`

### Android[¶](#android "Permanent link")

#### Proguard[¶](#proguard "Permanent link")

If you are using Proguard, you need to add the following rules to your `proguard-rules.pro` file:

`[](#%5F%5Fcodelineno-4-1)-keep class io.capawesome.capacitorjs.plugins.** { *; }
`

#### Variables[¶](#variables "Permanent link")

If needed, you can define the following project variable in your app’s `variables.gradle` file to change the default version of the dependency:

* `$androidxDocumentFileVersion` version of `androidx.documentfile:documentfile` (default: `1.1.0`)
* `$androidxPrintVersion` version of `androidx.print:print` (default: `1.1.0`)

This can be useful if you encounter dependency conflicts with other plugins in your project.

## Configuration[¶](#configuration "Permanent link")

No configuration required for this plugin.

## Usage[¶](#usage "Permanent link")

The following examples show how to print a file from the device, a base64 encoded file, custom HTML content, a PDF document, and the web view content.

### Print a file from the device[¶](#print-a-file-from-the-device "Permanent link")

Present the printing user interface to print a file stored on the device, for example a file the user previously downloaded. Only available on Android and iOS:

`[](#%5F%5Fcodelineno-5-1)import { Printer } from '@capawesome-team/capacitor-printer';
[](#%5F%5Fcodelineno-5-2)
[](#%5F%5Fcodelineno-5-3)const printFile = async () => {
[](#%5F%5Fcodelineno-5-4)  await Printer.printFile({
[](#%5F%5Fcodelineno-5-5)    mimeType: 'application/pdf',
[](#%5F%5Fcodelineno-5-6)    path: 'content://com.android.providers.downloads.documents/document/msf%3A1000000485',
[](#%5F%5Fcodelineno-5-7)  });
[](#%5F%5Fcodelineno-5-8)};
`

### Print a base64 encoded file[¶](#print-a-base64-encoded-file "Permanent link")

Print a file that is only available as a base64 encoded string, for example a document received from an API. Note that large files can lead to app crashes, so it's recommended to use the `printFile(...)` method instead whenever possible. Only available on Android and iOS:

`[](#%5F%5Fcodelineno-6-1)import { Printer } from '@capawesome-team/capacitor-printer';
[](#%5F%5Fcodelineno-6-2)
[](#%5F%5Fcodelineno-6-3)const printBase64 = async () => {
[](#%5F%5Fcodelineno-6-4)  await Printer.printBase64({
[](#%5F%5Fcodelineno-6-5)    name: 'My Document',
[](#%5F%5Fcodelineno-6-6)    data: 'JVBERi0...',
[](#%5F%5Fcodelineno-6-7)  });
[](#%5F%5Fcodelineno-6-8)};
`

### Print custom HTML content[¶](#print-custom-html-content "Permanent link")

Print custom HTML content, for example a receipt or invoice rendered by your app. Only available on Android and iOS:

`[](#%5F%5Fcodelineno-7-1)import { Printer } from '@capawesome-team/capacitor-printer';
[](#%5F%5Fcodelineno-7-2)
[](#%5F%5Fcodelineno-7-3)const printHtml = async () => {
[](#%5F%5Fcodelineno-7-4)  await Printer.printHtml({
[](#%5F%5Fcodelineno-7-5)    name: 'My Document',
[](#%5F%5Fcodelineno-7-6)    html: '<h1>Hello World</h1>',
[](#%5F%5Fcodelineno-7-7)  });
[](#%5F%5Fcodelineno-7-8)};
`

### Print a PDF document[¶](#print-a-pdf-document "Permanent link")

Print a PDF document stored on the device. Only available on Android and iOS:

`[](#%5F%5Fcodelineno-8-1)import { Printer } from '@capawesome-team/capacitor-printer';
[](#%5F%5Fcodelineno-8-2)
[](#%5F%5Fcodelineno-8-3)const printPdf = async () => {
[](#%5F%5Fcodelineno-8-4)  await Printer.printPdf({
[](#%5F%5Fcodelineno-8-5)    name: 'My Document',
[](#%5F%5Fcodelineno-8-6)    path: 'content://com.android.providers.downloads.documents/document/msf%3A1000000485',
[](#%5F%5Fcodelineno-8-7)  });
[](#%5F%5Fcodelineno-8-8)};
`

### Print the web view content[¶](#print-the-web-view-content "Permanent link")

Print the current content of the web view. You can use a [print style sheet](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS%5Fmedia%5Fqueries/Printing) to customize the print output:

`[](#%5F%5Fcodelineno-9-1)import { Printer } from '@capawesome-team/capacitor-printer';
[](#%5F%5Fcodelineno-9-2)
[](#%5F%5Fcodelineno-9-3)const printWebView = async () => {
[](#%5F%5Fcodelineno-9-4)  await Printer.printWebView({
[](#%5F%5Fcodelineno-9-5)    name: 'My Document',
[](#%5F%5Fcodelineno-9-6)  });
[](#%5F%5Fcodelineno-9-7)};
`

## API[¶](#api "Permanent link")

* [printBase64(...)](#printbase64)
* [printFile(...)](#printfile)
* [printHtml(...)](#printhtml)
* [printPdf(...)](#printpdf)
* [printWebView(...)](#printwebview)
* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)

### printBase64(...)[¶](#printbase64 "Permanent link")

`[](#%5F%5Fcodelineno-10-1)printBase64(options: PrintBase64Options) => Promise<void>
`

Present the printing user interface to print files encoded as base64 strings.

**Attention**: Large files can lead to app crashes. It's therefore recommended to use the `printFile` method instead.

Only available on Android and iOS.

| Param       | Type                                      |
| ----------- | ----------------------------------------- |
| **options** | [PrintBase64Options](#printbase64options) |

**Since:** 7.1.0

---

### printFile(...)[¶](#printfile "Permanent link")

`[](#%5F%5Fcodelineno-11-1)printFile(options: PrintFileOptions) => Promise<void>
`

Present the printing user interface to print files.

Only available on Android and iOS.

| Param       | Type                                  |
| ----------- | ------------------------------------- |
| **options** | [PrintFileOptions](#printfileoptions) |

**Since:** 7.1.0

---

### printHtml(...)[¶](#printhtml "Permanent link")

`[](#%5F%5Fcodelineno-12-1)printHtml(options: PrintHtmlOptions) => Promise<void>
`

Present the printing user interface to print a html document.

Only available on Android and iOS.

| Param       | Type                                  |
| ----------- | ------------------------------------- |
| **options** | [PrintHtmlOptions](#printhtmloptions) |

**Since:** 5.0.0

---

### printPdf(...)[¶](#printpdf "Permanent link")

`[](#%5F%5Fcodelineno-13-1)printPdf(options: PrintPdfOptions) => Promise<void>
`

Present the printing user interface to print a pdf document.

Only available on Android and iOS.

| Param       | Type                                |
| ----------- | ----------------------------------- |
| **options** | [PrintPdfOptions](#printpdfoptions) |

**Since:** 5.1.0

---

### printWebView(...)[¶](#printwebview "Permanent link")

`[](#%5F%5Fcodelineno-14-1)printWebView(options?: PrintOptions | undefined) => Promise<void>
`

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

You can use a print style sheet to customize the print output (see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS\_media\_queries/Printing).

| Param       | Type                          |
| ----------- | ----------------------------- |
| **options** | [PrintOptions](#printoptions) |

**Since:** 5.0.0

---

### Interfaces[¶](#interfaces "Permanent link")

#### PrintBase64Options[¶](#printbase64options "Permanent link")

| Prop         | Type   | Description                                                                                                                                   | Since |
| ------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **data**     | string | A valid base 64 encoded string.                                                                                                               | 7.1.0 |
| **mimeType** | string | The mime type of the data. The following mime types are supported: application/pdf, image/gif, image/heic, image/heif, image/jpeg, image/png. | 7.1.0 |

#### PrintFileOptions[¶](#printfileoptions "Permanent link")

| Prop         | Type   | Description                                           | Since |
| ------------ | ------ | ----------------------------------------------------- | ----- |
| **mimeType** | string | The mime type of the file. Only available on Android. | 7.1.0 |
| **path**     | string | The path to the file.                                 | 7.1.0 |

#### PrintHtmlOptions[¶](#printhtmloptions "Permanent link")

| Prop     | Type   | Description                | Since |
| -------- | ------ | -------------------------- | ----- |
| **html** | string | The HTML content to print. | 5.0.0 |

#### PrintPdfOptions[¶](#printpdfoptions "Permanent link")

| Prop     | Type   | Description                                 | Since |
| -------- | ------ | ------------------------------------------- | ----- |
| **path** | string | The path to the pdf document on the device. | 5.1.0 |

#### PrintOptions[¶](#printoptions "Permanent link")

| Prop     | Type   | Description                | Default    | Since |
| -------- | ------ | -------------------------- | ---------- | ----- |
| **name** | string | The name of the print job. | 'Document' | 5.0.0 |

### Type Aliases[¶](#type-aliases "Permanent link")

#### PrintWebViewOptions[¶](#printwebviewoptions "Permanent link")

`[PrintOptions](#printoptions)`

## FAQ[¶](#faq "Permanent link")

### Can I print on the web?[¶](#can-i-print-on-the-web "Permanent link")

On the web, only the `printWebView(...)` method is available, which prints the current web view content. The `printBase64(...)`, `printFile(...)`, `printHtml(...)` and `printPdf(...)` methods are only available on Android and iOS.

### Why does my app crash when printing large base64 files?[¶](#why-does-my-app-crash-when-printing-large-base64-files "Permanent link")

The `printBase64(...)` method loads the entire file into memory, which can lead to app crashes for large files. It's therefore recommended to use the `printFile(...)` method instead, which prints the file directly from its path on the device.

### Which file types can I print?[¶](#which-file-types-can-i-print "Permanent link")

The `printBase64(...)` method supports the mime types `application/pdf`, `image/gif`, `image/heic`, `image/heif`, `image/jpeg`, and `image/png`. In addition, you can print arbitrary files from the device with `printFile(...)`, PDF documents with `printPdf(...)`, custom HTML content with `printHtml(...)`, and the current web view content with `printWebView(...)`.

### How can I customize the print output of the web view?[¶](#how-can-i-customize-the-print-output-of-the-web-view "Permanent link")

You can use a print style sheet to customize how the web view content is printed, for example to hide navigation elements or adjust the layout. Check out the [MDN documentation on printing](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS%5Fmedia%5Fqueries/Printing) for more information.

### Can I use this plugin with Ionic, React, Vue or Angular?[¶](#can-i-use-this-plugin-with-ionic-react-vue-or-angular "Permanent link")

Yes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.

## Related Plugins[¶](#related-plugins "Permanent link")

* [PDF Generator](https://capawesome.io/docs/sdks/capacitor/pdf-generator/): Generate paginated PDF files from HTML content or URLs.
* [PDF Viewer](https://capawesome.io/docs/sdks/capacitor/pdf-viewer/): Display PDF documents in a fullscreen native viewer.
* [File Picker](https://capawesome.io/docs/sdks/capacitor/file-picker/): Let the user select a file to print from the device's file system.

## Newsletter[¶](#newsletter "Permanent link")

Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).

## Changelog[¶](#changelog "Permanent link")

See [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/printer/CHANGELOG.md).

## Breaking Changes[¶](#breaking-changes "Permanent link")

See [BREAKING.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/printer/BREAKING.md).

## License[¶](#license "Permanent link")

See [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/printer/LICENSE).

July 8, 2026 

Back to top

```json
{"@context": "https://schema.org", "@graph": [{"@type": "TechArticle", "@id": "https://capawesome.io/docs/sdks/capacitor/printer/#article", "headline": "Capacitor Printer Plugin for Android, iOS & Web", "name": "Capacitor Printer Plugin for Android, iOS & Web", "description": "Capacitor plugin for seamless printing on Android and iOS. Supports base64, files, HTML, PDFs, and web views.", "inLanguage": "en", "url": "https://capawesome.io/docs/sdks/capacitor/printer/", "mainEntityOfPage": "https://capawesome.io/docs/sdks/capacitor/printer/", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "about": {"@id": "https://capawesome.io/docs/sdks/capacitor/printer/#software"}}, {"@type": "SoftwareSourceCode", "@id": "https://capawesome.io/docs/sdks/capacitor/printer/#software", "name": "Capacitor Printer Plugin for Android, iOS & Web", "description": "Capacitor plugin for seamless printing on Android and iOS. Supports base64, files, HTML, PDFs, and web views.", "url": "https://capawesome.io/docs/sdks/capacitor/printer/", "programmingLanguage": "TypeScript", "runtimePlatform": "Capacitor", "codeRepository": "https://github.com/capawesome-team", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}}]}
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Can I print on the web?", "acceptedAnswer": {"@type": "Answer", "text": "On the web, only the printWebView(...) method is available, which prints the current web view content. The printBase64(...), printFile(...), printHtml(...) and printPdf(...) methods are only available on Android and iOS."}}, {"@type": "Question", "name": "Why does my app crash when printing large base64 files?", "acceptedAnswer": {"@type": "Answer", "text": "The printBase64(...) method loads the entire file into memory, which can lead to app crashes for large files. It's therefore recommended to use the printFile(...) method instead, which prints the file directly from its path on the device."}}, {"@type": "Question", "name": "Which file types can I print?", "acceptedAnswer": {"@type": "Answer", "text": "The printBase64(...) method supports the mime types application/pdf, image/gif, image/heic, image/heif, image/jpeg, and image/png. In addition, you can print arbitrary files from the device with printFile(...), PDF documents with printPdf(...), custom HTML content with printHtml(...), and the current web view content with printWebView(...)."}}, {"@type": "Question", "name": "How can I customize the print output of the web view?", "acceptedAnswer": {"@type": "Answer", "text": "You can use a print style sheet to customize how the web view content is printed, for example to hide navigation elements or adjust the layout. Check out the MDN documentation on printing for more information."}}, {"@type": "Question", "name": "Can I use this plugin with Ionic, React, Vue or Angular?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects."}}], "url": "https://capawesome.io/docs/sdks/capacitor/printer/"}
```
