Printing and Saving PDFs From Web Apps

Printing and Saving PDFs from Java Web Apps

Printing from a browser looks trivial — until you try it. A modern web UI is built around a scrolling viewport, virtualized lists, fixed drawers and other overlays that the user never thinks about, but that a printer happily reproduces on A4. This post walks through the four options I reach for when a Vaadin app needs to produce paper (or PDFs), with runnable snippets taken from the companion wwcd demo project and notes on when each approach earns its keep.

Subscribe to our newsletter

Be the first to learn about new Vaadin resources and tips

The Definitive Guide to Modernizing Java Swing Applications in 2026

Java Swing has been the workhorse of enterprise desktop applications for more than two decades. It powered internal tools, financial platforms, logistics systems, and ERP front-ends across industries where reliability mattered more than aesthetics. And for a long time, that bargain held. It no ...
How to style vaadin components for the Aura and Lumo themes.

How To Style Vaadin Components for Both Aura and Lumo

By default, Vaadin components are rendered with minimal base styles. These provide a neutral foundation—useful when you want to build a custom theme from scratch or create a look that differs from the built-in options. Vaadin comes with two main themes: Lumo and Aura. Lumo is the original theme, ...
Vaadin 2026 Community Survey

Vaadin 2026 Community Survey: What Java Developers Told Us

We asked our customers and community how they use Vaadin,, what they value most, and what we need to do better. Here’s what we learned from the 2026 survey, even the parts that made us question what we thought we knew. 691 Respondents 98% Use for Work 71% Are Developers Key Findings at a Nutshell ...
Vaadin 24 Extended Maintenance

Vaadin 24 Free Maintenance Ends June 16 — Choose Your Path Forward

Vaadin 25.1 is now available and makes for a strong, forward-looking upgrade. It is the first big release in the 25-series that makes it an attractive next step for teams building on the Vaadin platform. With the June 16, 2026 maintenance deadline for Vaadin 24 approaching, this is a good moment to ...
CSS Performance Optimizations for Vaadin Grid

CSS Performance Optimizations for Grid

Optimizing CSS is rarely something you need to worry about in a typical application since browsers already handle it well. But when you are developing components like Vaadin Grid, that should be capable of rendering thousands of DOM elements at once, CSS optimizations can make a real difference. In ...
embedding Vaadin components in Angular

Embedding Vaadin Components in Angular

We recently made a study for new people experiencing using Vaadin for the first time. When finding people who are doing Java web development, many are currently working on Angular applications. The study was very successful and many liked the “Vaadin way”, but we were left with an open question ...
Vaadin 25.1 is here!

Vaadin 25.1: Free Copilot and production-ready Signals

Vaadin 25.1 is the first feature release in the 25.x line, and it brings several important upgrades for Java developers. Vaadin Copilot is now free for everyone with a Vaadin.com account. Signals moves from preview to production-ready, giving you a reactive state management model in plain Java. And ...

How we built an accessible dashboard component

When you think about business applications, two UI patterns probably come to mind: CRUD (create, read, update and delete) views consisting of an item listing and a form for editing, and dashboards. While CRUDs are probably where users spend most of their time, the dashboard is usually what they see ...