Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. PDF Preview Before Print v 19.0
  4. Sales Conditions FAQ

PDF Preview Before Print

by Naim OUDAYET https://www.oudayet.com
Odoo
v 19.0 Third Party 34
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 121
Technical Name no_pdf_preview_print
LicenseLGPL-3
Websitehttps://www.oudayet.com
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 121
Technical Name no_pdf_preview_print
LicenseLGPL-3
Websitehttps://www.oudayet.com
Versions 16.0 17.0 18.0 19.0

PDF Preview Before Print

A full-screen preview dialog for every Odoo PDF report - print, download, or close after a quick review

Odoo 19 FREE Zero Config

Print First, Look Later?

In standard Odoo, clicking Print downloads the PDF immediately. Wrong template, blank page, or batch error - you only find out after the file is on disk or the paper is in the tray.

Without this module

๐Ÿ’พ

Click Print -> PDF lands in your Downloads folder. No second chance to spot a mistake before it's already saved or printed.

With this module

๐Ÿ‘

A clean dialog opens first. Scroll the PDF, then choose Print, Download, or Close - with one keystroke if you prefer.

Four Things It Does Well

Lightweight, focused, no configuration.

๐Ÿ—Ž
Full-Screen Preview

An OWL Dialog renders the full PDF in an iframe. Scroll multi-page documents without leaving Odoo.

๐Ÿ–จ
Print from Preview

One click or press P to send the PDF straight to the system print dialog. No round-trip via Downloads.

โฌ‡๏ธ
Download from Preview

Press D or click Download to save the PDF only after confirming the content looks right.

โŒจ
Keyboard Shortcuts

P Print ยท D Download ยท Esc Close. Power users never need the mouse.

Works on single records and batch (list view multi-select) - no extra config.

Real-World Scenarios

Invoice review before send

Accounting prints an invoice to mail. The preview catches the wrong template, a missing logo, or a stale tax line - before the customer ever sees it.

Payslip QA

HR previews each payslip before download. Spotting a blank page or a wrong period saves a hand-written apology email later.

Batch print sanity check

Selecting 30 quotations from list view? Preview shows the merged PDF in one scroll - so a missing record or mis-rendered page never makes it to the printer.

Custom report development

Building a custom QWeb report? Iterate without 30 stray PDFs piling up in your Downloads folder. Close the dialog and try again.

How It Works

1
Click Print

Use Odoo's normal Print button on any record or list-view selection. No new menu, no special action.

2
Preview Opens

A full-screen OWL dialog appears with the PDF rendered in an iframe. The download is paused.

3
You Decide

Print (P), Download (D), or Close (Esc). The original action only fires when you say so.

Installation

Two steps. No Python dependencies, no database changes, no configuration.

Step 1 - addons path

Drop the module in
cp -r no_pdf_preview_print /path/to/addons/

Place the no_pdf_preview_print folder in any directory listed in your Odoo addons_path.

Step 2 - in Odoo

Install the module

Apps menu โ†’ remove the Apps filter โ†’ search "PDF Preview Before Print" โ†’ Install. From the next print onwards, every QWeb PDF report opens in a preview dialog.

Works With Every QWeb PDF Report

No allow-list. No per-report setup. The handler intercepts every qweb-pdf action.

Invoices
Quotations
Purchase Orders
Delivery Slips
Payslips
Any Custom Report

Non-PDF report types (XLSX, CSV, HTML, text) are not intercepted - the handler returns false and Odoo's default behaviour resumes.

What This Module Doesn't Do

Honest scope. Here's what's out of reach.

โœ—  Non-PDF reports

XLSX, CSV, HTML, and text reports pass through unchanged. The handler only catches qweb-pdf.

โœ—  Email-attached reports

When Odoo attaches a report to an outgoing email, no UI is involved - the preview only fires for interactive Print actions.

โœ—  Per-user opt-out

The preview applies to all users. There's no per-user toggle to bypass it (a power user can still hit D immediately).

โœ—  PDF editing or annotation

This is a viewer, not an editor. Use a real PDF tool if you need to mark-up, sign, or comment on the document.

โš   Browser pop-up blockers

The dialog itself is in-app, but the print step calls iframe.contentWindow.print(). Aggressive browser settings can block the system print prompt - D always works as a fallback.

โš   Mobile-browser PDF rendering

Inline iframe PDF rendering varies by mobile browser. On limited platforms the user can still tap Download to fetch the file.

๐Ÿ›ก A Note on Iframe PDF Rendering

The preview is rendered by the browser's built-in PDF viewer inside an iframe. Behaviour - zoom, scroll, print button, font fallbacks - therefore depends on the browser, not on Odoo. Chrome, Edge, and Firefox on desktop all render Odoo's QWeb PDFs reliably. On Safari and most mobile browsers, the in-page viewer is more limited; the module always offers a Download fallback so the user can open the file in their system PDF reader instead. If your fleet is locked down with strict iframe or pop-up policies, test once before rolling out company-wide.

FAQ

Does this slow down PDF generation?

No. The PDF is rendered exactly once by Odoo's normal pipeline; the dialog just shows it before the download fires. The only added cost is the iframe load - a few hundred milliseconds at most.

Can I disable the preview for one report?

The handler is global per Odoo session. There's no per-report opt-out today; if you need one report to skip the preview, fork the handler in your custom module and check action.report_name.

Does it work with batch printing from list view?

Yes. The handler reads active_ids from the action context, so multi-record batches render as a single merged PDF in the same preview dialog.

What about Odoo 16 / 17 / 18?

This branch targets Odoo 19. The handler hooks into the v19 "ir.actions.report handlers" registry, which differs across versions. Earlier-version branches will follow if there's demand.

Does it conflict with PDF Password Protection?

No. PDF Password Protection encrypts the rendered PDF server-side; this module only affects the client-side download UX. Stack them freely.

Will this break with future Odoo updates?

It hooks the public "ir.actions.report handlers" registry. As long as that registry exists in the same form, the module will keep working. Each version branch ships its own JS test suite to catch regressions.

Technical Details

Module
no_pdf_preview_print
Version
19.0.1.0.0
Depends on
web
Python deps
None (pure frontend)
License
LGPL-3 (Free / Open Source)
Mechanism
OWL Dialog + handler in ir.actions.report handlers registry
Test coverage
Hoot/QUnit JS suite (dialog + service) + HttpCase wrapper

PDF Preview Before Print - Free, open source, Odoo 19
ยฉ Naim OUDAYET - LGPL-3 License

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal โ€ข Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with