All Blog Posts  |  Next Post  |  Previous Post

Introducing a native VCL PDF Viewer for Delphi


Wednesday, April 5, 2023

TMS VCL UI Pack TMS Software Delphi  Components


We are proud to announce version 12 of the TMS VCL UI Pack with a lot of new and improved features. In v12, we added a new TDBAdvMultiEditButton component, a couple of new features to TCurvyPanel as well as some improvements in high DPI handling in TAdvStringGrid. We also fixed an important issue with SVG class registration and the way SVG is picked up at designtime. Last but not least, v12 introduces a brand new component: TAdvPDFViewer: a native high performance PDF Viewer component for VCL. 

Native Windows PDF Viewer

TMS Software Delphi  Components


  • Load & View PDF documents
  • Optional thumbnail list
  • Optional header, footer & page number
  • 3 modes: single page, double page & continuous scrolling
  • Various events for custom drawing
  • Keyboard & mouse interaction
  • Automatically loads PDF files when being dropped

 Introduction video

High Performance

TAdvPDFViewer is built on top of the native Windows APIs for converting a PDF page to an image. This all happens asynchronously, so the main thread of the application is not blocked while the PDF document is loaded. To get started, drop an instance of TAdvPDFViewer on the form and set the FileName property.

procedure TForm1.FormCreate(Sender: TObject);
  AdvPDFViewer1.FileName := 'C:\MyPath\RAD-Studio-Guide-for-Managers.pdf';

TMS Software Delphi  Components

3 different modes

TAdvPDFViewer comes with 3 different display modes: single page, double page & continuous scrolling mode. 

TMS Software Delphi  Components  TMS Software Delphi  Components  TMS Software Delphi  Components


The optional thumbnail list shows each page in a smaller version. To show the thumbnails, set

AdvPDFViewer1.Options.Thumbnails := True;

TMS Software Delphi  Components


Wait no longer, go ahead and download the new TMS VCL UI Pack version 12, explore the new features including the TAdvPDFViewer component.

Pieter Scheldeman


This blog post has received 9 comments.

1. Wednesday, April 5, 2023 at 7:56:10 PM

This is a very good addition to the VCL UIPack. Thank You!

Schachtner Andreas

2. Thursday, April 6, 2023 at 10:44:22 AM

With this component added to ADV VCL UI controls I can remove 3 dll''s from the installation. I have tested and it works fast and flawless. Any thoughts adding zooming to the viewer?

Stephan Hennekens

3. Thursday, April 6, 2023 at 12:13:35 PM

Right now, we have experimented with zooming but didn''t yet find the correct approach for keeping it performant for v1.0 so we left it out. It''s on our todolist for the next version. Thanks for the feedback!

Pieter Scheldeman

4. Thursday, April 6, 2023 at 3:11:14 PM

Excellent addition to VCL UI.
Which windows versions support it? And is it possible to load a pdf from a stream without saving in to a file?

Kounalakis Dimitris

5. Thursday, April 6, 2023 at 4:21:54 PM

Right now, it''s not possible to load a PDF from a stream unfortunately. It supports Windows 10 and newer.

Pieter Scheldeman

6. Wednesday, April 12, 2023 at 11:36:55 AM

Is pdf printing also implemented?
By printing the document and uploading from stream I can change my old PDF management :-)

Monterisi Stefano

7. Wednesday, April 12, 2023 at 3:49:04 PM

A page can exported to image and you could send this image page by page to the printer.
It is a good idea to also support built-in printing. We''ve added this to the list for consideration.

Bruno Fierens

8. Thursday, April 13, 2023 at 4:21:24 PM

The complete management of a PDF cycle (viewing and printing, loading from file and stream ) is essential to replace other solutions; otherwise we cannot use it intensively and professionally because there is always something missing :-)
(Same thing as RemoteDb without native cached updates, for ex.).
Definitely a great component, fast loading and scrolling; I would like to use it in our intensive document applications if and when printing is available;
In this version the occupied memory gradually grows more and more when the document is scrolled; Memory paging should be handled better, if possible.
Excellent start!
Good work!

Monterisi Stefano

9. Saturday, July 29, 2023 at 5:59:05 AM

A rotate function, like pdfium has, would be very useful in support of scanned documents. It only needs to be 90 degrees both CW and CCW. Otherwise it''s very useful. Thank you.

Baxter David

Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.

All Blog Posts  |  Next Post  |  Previous Post