Nuxt 3 Integration
Learn how to set up Vue Print It in your Nuxt 3 application using client-side plugins.Installation
Install the package in your Nuxt 3 project:Setup
The
.client.ts suffix is crucial - it ensures the plugin only runs on the client side, which is necessary for printing functionality.import { createVuePrintIt } from 'vue-print-it'
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(createVuePrintIt({
// Global configuration for your Nuxt app
windowTitle: 'Nuxt Print Document',
preserveStyles: true,
autoClose: true,
timeout: 1500,
specs: { width: 1024, height: 768 },
globalMethodName: '$nuxtPrint' // Optional: Nuxt-specific method name
}))
})
Usage
Using Global Method
Access the print function through the Nuxt app context:Using the Composable
For more flexibility, use theusePrint composable:
With Custom Method Name
If you configured a custom method name:Advanced Examples
Dynamic Route-Based Printing
Print content with route-specific configuration:Print with Loading State
Show feedback during the print process:Server-Side Rendered Content
Print SSR content with proper styling:Configuration Options
Plugin Configuration
Configure global defaults in your plugin file:Runtime Configuration
Override defaults for specific print operations:Best Practices
Client-Only Components
Wrap print functionality in<ClientOnly> if needed:
Composable Pattern
Create a custom composable for reusable print logic:TypeScript Support
Add type definitions for the global method:Troubleshooting
Plugin Not Loading
Ensure your plugin file has the.client.ts suffix:
SSR Errors
If you encounter SSR errors, wrap print functionality in client checks:Styles Not Preserved
Make surepreserveStyles: true is set in your plugin configuration.
Next Steps
Configuration
Explore all configuration options
Usage Guides
See more usage examples