Feature Requests & Feedback

Phase 5 - Media and typography reliability
This phase focuses on reliable fonts, charts, SVGs and images in exported PDFs while retaining explicit quality controls and predictable cleanup. ### Planned work Improve font readiness - Wait for required fonts through the Font Loading API before measuring and rendering. - Add a custom TTF/OTF font registry for selectable-text output, documenting supported font formats and limitations. Capture charts consistently - Freeze/snapshot chart canvases for export. - Keep export replacements isolated and restore temporary resources after success, failure or cancellation. Define SVG rendering behavior - Define when to preserve SVG content and when to rasterize it. - Document fidelity differences and fallback behavior across renderers. Optimize image processing - Add automatic image optimization with explicit image-quality controls. - Extend and verify repeated-image caching to avoid redundant work. Reuse repeated document assets - Extend repeated-watermark caching. - Expose or refine static-footer reuse metrics. - Build on existing reuse paths rather than duplicating them. Verify reliability and recovery - Document CORS failures and recovery paths. - Confirm all staging replacements are restored. - Cover representative fonts, images, charts and SVGs with focused regression tests and browser verification. ### Primary goals Reduce missing fonts, images and charts in exported documents. Make typography and media behavior predictable across supported render modes. Reduce repeated asset processing without silently sacrificing quality. Preserve backward compatibility and reliable cleanup. ### Completion criteria CORS failure behavior is documented, all staging replacements are restored, and image-quality controls are explicit. Feature-specific regression and browser results are recorded before marking the phase complete. Status: Planned
2
Phase 4 - Smart page-break intelligence and advanced pagination controls
This phase focuses on making pagination smarter and more predictable for complex documents without breaking the existing public API. Planned work: Add smart split controls Add data-pdf-split="avoid" Keep a block together when it fits on one page Avoid awkward page breaks inside important sections Preserve existing behavior when the attribute is not used Add container-aware splitting Add data-pdf-split="container" Allow large containers to split across pages intelligently Preserve child structure where possible Avoid unnecessary blank space Add explicit page-break controls Add break-before support Add break-after support Keep compatibility with existing html2pdf__page-break behavior Make page-break rules consistent across supported render modes Handle oversized elements safely Detect elements larger than a single PDF page Prevent infinite pagination loops Fall back to safe splitting when a block cannot fit on one page Keep generation recoverable for extreme layouts Improve table pagination Support repeated table headers across pages Reduce broken rows where possible Improve long-table readability Keep behavior predictable for large datasets Add pagination diagnostics Add an optional pagination debug overlay Show detected page boundaries Highlight forced and automatic breaks Help developers understand why content moved to a new page Add page-break diagnostic events and metadata Expose useful pagination information for debugging Report split decisions when diagnostics are enabled Keep diagnostics opt-in Avoid changing generated PDF output by default Expand regression and stress coverage Add unit tests for new pagination rules Add browser E2E coverage Test portrait and landscape layouts Test long documents and stress presets Verify existing users are not affected Primary goals: improve pagination quality reduce awkward content splitting improve long-document reliability improve table handling give developers more control over page breaks make pagination easier to debug preserve backward compatibility avoid unnecessary runtime overhead when advanced pagination features are not used This phase should be implemented incrementally with regression tests after each step. Status: Planned
2
Phase 1 - Reliability, compatibility and playground foundation
This phase focuses on strengthening vue-pdf-export without breaking the existing public API. Planned work: Fix selectable-text Print properly - Repair Print behavior in renderMode="text" - Keep Canvas-mode Print working - Improve browser E2E coverage for Print Introduce a unified generation result and timing foundation - Add a common internal result model - Preserve the current GeneratePdfResult API - Prepare the package for richer output and telemetry later Expose total generation time in the playground - Add overall generation duration - Add stage-level timing - Add per-page timing instrumentation - Surface useful performance information without changing generated PDFs by default Expose stress-test page-count presets in the playground - 5 - 10 - 25 - 50 - 100 - 200 - 500 - 1000 - Custom page count / multiplier - Include safe warnings for heavy and extreme tests - Preserve cancellation and recovery Add package-manager consumer compatibility fixtures - npm - pnpm - Yarn - Yarn Plug'n'Play - Bun - Verify install, TypeScript resolution, production build, CSS import, and runtime PDF generation Add Nuxt 3 and Nuxt 4 SSR compatibility fixtures - Ensure package imports do not crash during SSR - Audit browser-only globals and imports - Add explicit Nuxt integration guidance - Add <ClientOnly> integration blueprint - Keep actual PDF generation browser-side Add data-pdf-ignore - Allow developers to exclude elements from generated PDFs - Apply exclusion only in the export/staging copy - Avoid permanently mutating the live application DOM Add page/body styling APIs - Page background color - Body background color - Page CSS/classes - Body CSS/classes - Per-page style customization - Keep behavior predictable across Canvas and selectable-text rendering modes Primary goals: improve reliability improve browser compatibility improve package-manager compatibility improve Nuxt SSR safety improve playground diagnostics add low-risk customization features avoid breaking existing users This phase should be implemented incrementally with regression tests after each step.
1