Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
PDF Print Preview for Odoo — A build-to-order Odoo extension that renders any QWeb PDF report inside the browser so users can — 1/1Vista previa ilustrativa

A build-to-order Odoo extension that renders any QWeb PDF report inside the browser so users can preview,

page through, and print without first saving a file.

ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.

¿Qué es PDF Print Preview for Odoo?

A build-to-order Odoo extension that renders any QWeb PDF report inside the browser so users can preview, page through, and print without first saving a file. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Características clave

Override of the `ir.actions.report` action flow so `qweb-pdf` reports open an in-browser preview dialog instead of an immediate file download
OWL client component embedding a `pdf.js` viewer with page navigation, zoom, fit-to-width, and thumbnail rail
Preview bytes fetched from Odoo's own `/report/pdf/<report_name>/<ids>` controller, so the preview is byte-identical to the printed and downloaded output
Print button that targets only the document iframe, bypassing the browser's whole-page print dialog
Per-report `preview_before_print` boolean added to `ir.model.report` and surfaced in the report form view via inheriting XML
Fallback path that preserves Odoo's legacy direct-download behavior for reports left un-flagged
Reuses `IrActionsReport._render_qweb_pdf` and the existing wkhtmltopdf pipeline — no second rendering engine, no preview/print drift
Access enforced through `ir.model.access.csv` plus record rules so users can only preview documents they are already entitled to open
Optional automated action / `mail.thread` log entry recording who previewed which document and when for audit
Streaming-friendly custom controller option for large multi-hundred-page PDFs to avoid memory spikes
Works from list-view multi-select print, form-view Print menus, and the cog/action menu
Multi-company aware: preview respects `company_id` context and record rules on batched documents
Framework-level implementation compatible with both Community and Enterprise, including Studio-defined reports
Pinned `__manifest__.py` with correct series dependency and clean `depends` so upgrades stay predictable across Odoo 17.0/18.0/19.0

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

Every Odoo team hits the same friction with reports. A user clicks Print on an invoice, delivery slip, or sales order, Odoo streams back a PDF, and the browser immediately drops it into the Downloads folder or hands it to a plugin the user has to hunt through. Just to confirm the right template rendered — correct company logo, tax lines, page breaks — someone opens the file manager, launches a viewer, checks, then deletes a file they never wanted. Multiply that across hundreds of documents a day and you get cluttered download folders, misprinted batches, and support tickets that begin with "the layout looks wrong." Odoo core has no in-browser preview surface for QWeb reports: ir.actions.report is wired to return the binary as an attachment or stream, and the standard report controller has no viewer step in between.

We build a focused extension that inserts a real preview stage in front of that download. Technically, we override the report action flow so a report_type of qweb-pdf opens an in-browser viewer dialog — an OWL component embedding a pdf.js canvas — instead of triggering an immediate file save. The component calls the existing /report/pdf/<report_name>/<ids> controller (or a thin custom controller we add for streaming) via the standard JSON-RPC action service, receives the rendered bytes, and paints them page-by-page with zoom, page navigation, fit-to-width, and a Print button that targets only the document iframe. Because we reuse Odoo's own IrActionsReport._render_qweb_pdf and wkhtmltopdf pipeline, the preview is byte-identical to what the printer or the eventual download would produce — no second rendering engine, no drift between "preview" and "real" output.

The build is configured to your rules rather than a generic toggle. We add a preview_before_print flag on ir.actions.report (surfaced in the report form view via XML) so you decide per report — or per report category — whether Print opens the preview or keeps the legacy direct download. Access is governed through ir.model.access.csv and record rules so users only ever preview documents they are already entitled to see, and an optional automated action can log preview events for audit. Everything ships as a versioned module with a proper __manifest__.py, pinned to your target series, and is tested against Community and Enterprise (the viewer is framework-level, so it works in both; Enterprise's studio-defined reports are supported the same way).

Delivery is build-to-order. After a short scoping call we confirm exactly which reports get the preview, your Odoo version and edition, and any branding or audit requirements, then produce a fixed quotation. Typical delivery is one working week from confirmed scope: we develop against a staging copy, run UAT with your team, and hand over installable source, docs, and a git repository. Pricing starts from $999 (indicative, single-company base scope); the number of report templates in scope, multi-company preview rules, custom streaming controllers for very large PDFs, and edition-specific report handling increase the quoted scope.

lo que obtienes

  • Installable, versioned module source for your Odoo edition and series (17.0 / 18.0 / 19.0)
  • Installation and configuration on your staging environment, including per-report preview flag setup
  • Technical documentation: architecture, controllers, action override, and extension points
  • End-user guide plus a live training session for staff and administrators
  • UAT sign-off on staging with a documented rollback plan before production go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and tagged release
  • Short maintenance/upgrade notes covering how the module tracks future Odoo versions

¿Para quién es esto?

Finance & billing teams

Staff who print or email dozens of invoices, credit notes, and statements daily and need to eyeball the layout — tax lines, totals, company branding — before committing paper or a downloaded file. They want to catch a wrong template before it reaches a customer, not after.

Warehouse & operations users

People running batch prints of delivery slips, picking lists, and labels who currently drown in throwaway PDF downloads. In-browser preview lets them confirm the right documents and page ranges before sending a batch to the printer.

Odoo administrators & internal IT

Admins who own the report configuration and want a controlled, per-report rollout governed by access rules rather than a blunt global setting. They value that the preview reuses Odoo's native rendering so there is nothing new to maintain in parallel.

Document-heavy service firms

Consultancies, agencies, and back-office teams that generate quotations, work orders, and contracts and need a fast look-and-print loop without cluttering shared machines with sensitive downloaded files.

Cómo se compara PDF Print Preview for Odoo

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Fit to your reports & rollout rulesPer-report preview flag, configured to your document set and brandingFully bespoke but you specify and maintain every detailFixed global behavior, little per-report controlNo preview stage at all
Rendering accuracyReuses native `_render_qweb_pdf` — byte-identical to print/downloadDepends on how the developer wires the controllerUsually native pipeline, but varies by vendorRenders directly to download; no in-browser view
Access & securityEnforced via `ir.model.access.csv` + record rules, optional audit logOnly as strong as the build team's disciplineGenerally respects ACLs; audit variesStandard Odoo ACLs, but nothing to preview
Odoo 17/18/19 + Community & EnterpriseBuilt and tested for your exact series and editionWhatever you commission and testDepends on vendor's supported matrixIn-scope by default but lacks the feature
Support & ownershipSupport window + full git repo and source handoverYou own it; you also own all maintenanceVendor support terms vary; source often obfuscatedCovered by your Odoo support, feature absent
Upgrade safetyPinned manifest, tracks native report flow, low-risk upgradesRisk depends on how closely it followed core patternsReliant on vendor keeping pace with new seriesAlways current, but no capability to preserve
Time to valueone working week from confirmed scope, with UAT and rollbackOften longer; full spec-to-delivery cycleInstant install, but generic and untailoredImmediate, yet the gap remains unsolved
Total cost profileFrom $999 indicative; fixed quote after scopingTypically highest — full bespoke developmentLow sticker price, tailoring/support costs laterNo cost, no feature

Preguntas frecuentes sobre PDF Print Preview

How long does delivery take?

This is a build-to-order module. Typical delivery is one working week from confirmed scope. After a scoping call we agree which reports get the preview, your Odoo version and edition, and any audit or branding rules, then build against a staging copy, run UAT with your team, and hand over. Complex multi-company or large-PDF streaming requirements can extend the timeline, which we state in the quotation.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base scope. We do not quote a firm price until a short scoping call, after which you receive a fixed quotation. Drivers that increase scope include the number of report templates in scope, multi-company preview rules, custom streaming controllers for very large PDFs, and edition-specific report handling.

Which Odoo versions and editions do you support?

We build and test for Odoo 17.0, 18.0, and 19.0. The preview is implemented at the framework level (OWL client action plus a report-action override), so it works on both Community and Enterprise, including Studio-defined reports. We pin the module's `__manifest__.py` to your target series.

Is the preview the same as the real printed output?

Yes. The viewer renders the exact bytes produced by Odoo's own `_render_qweb_pdf` / wkhtmltopdf pipeline via the standard `/report/pdf` controller. There is no second rendering engine, so what you preview is identical to what prints and what would download — no drift between preview and final document.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration adjustments, plus a git repository handover so your team owns the source. Beyond the included window we offer ongoing support and version-upgrade work as a separate engagement; because the module tracks Odoo's native report flow, upgrades between series are typically low-risk.

Can we control which reports open the preview?

Yes. We add a `preview_before_print` flag on the report action, surfaced in the report form view, so you enable preview per report or per category. Reports left un-flagged keep Odoo's default direct-download behavior, letting you roll out gradually.

Is document access still secure?

The preview never bypasses Odoo's permission model. It calls the same report controller the user already has rights to, and access is enforced through `ir.model.access.csv` and record rules, so a user can only preview documents they are already entitled to open. An optional audit log records preview events.

Solicitar presupuesto

PDF Print Preview

A build-to-order Odoo extension that renders any QWeb PDF report inside the browser so users can preview, page through, and print without first saving a file. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.

  • Override of the `ir.actions.report` action flow so `qweb-pdf` reports open an in-browser preview dialog instead of an immediate file download
  • OWL client component embedding a `pdf.js` viewer with page navigation, zoom, fit-to-width, and thumbnail rail
  • Preview bytes fetched from Odoo's own `/report/pdf/<report_name>/<ids>` controller, so the preview is byte-identical to the printed and downloaded output
  • Print button that targets only the document iframe, bypassing the browser's whole-page print dialog

Solicitar presupuesto

Cuéntanos tus necesidades de PDF Print Preview y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.