wPDF – universal PDF creator VCL

wPDF V5 is our PDF creation component for VCL applications (Delphi and C++Builder). Even though the standard version comes with a DLL, it is possible to order DCU files to include is a PDF engine directly into your application without the need to distribute to further DLL. wPDF is successful since 2001 and used in various OEM products. Internally wPDF is working as EMF (Windows metafile) to PDF conversion routine. Because of this technology the product is very versatile: it can be used with several other reporting solutions, last but not least, report builder and fast report. Especially powerful is it when connected to WPTools. Here you get fast WYSIWYG PDF creation, which makes it possible to send all print output first to a PDF. This makes sense to create a protocol for all print outputs, for example to allow it to repeat certain print jobs. (If you use our product WPViewPDF, you can include the PDF preview directly into your program and start the print from there) with the output from WPTools, several text attributes, such as hyperlinks embedded JPEG data, bookmarks and outlines will be taken directly into the PDF document. With wPDF there is also a native canvas property of the type TCanvas. This also contains the property handle of type HDC. With this handle you can use Windows GDI commands.

wPDF, is a powerful PDF maker which has been available since July 2001, has been specially optimized for greater compatibility with most drawing commands commonly found in Windows applications. Unlike many competing products it deals not only with “Canvas” methods, but also with GDI API calls which require a device handle as parameter (Canvas.Handle).

wPDF is a Delphi PDF VCL which can be also used with C++Builder (or Turbo C++). In case you need a PDF NET solution or a PDF ActiveX please check out our product wPDFControl.

wPDF 4 supports Delphi 4,5,6,7, 2005-Win32, 2006-Win32, 2007-Win32, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10, 10.1, 10.2, 10.3, 10.4, 11, 12 (XE2 and later: 32 and also 64 bit),

With wPDF you now have everything you need to export from
* WPTools 4
* WPTools 5
* WPTools 6
* WPTools 7
* WPTools 8
* WPTools 9.x
* ReportBuilder™
* RichView
* ACE-Reporter™
* WPForm
* QuickReport
* FastReport 2
* FastReport 3
* DeveloperExpress™ Printing System.
Ready-to-use sample code and filter interfaces are included. (Read more …)

wPDF converts enhanced metafiles to PDF while preserving the vector and text information. This results in small PDF files which can be printed at high resolution, thus making wPDF superior to other solutions which convert embedded metafiles into bitmaps. wPDF supports the usual PDF features, including compression and 128 bit encryption and it was the first Delphi library to allow embedding of font subsets to reduce file size even further.

  • Support for standard brush styles (hatching)
  • new: Support for pen styles (dash, dot and custom)
  • TransparentBlt
  • Automatic reuse of the same image data. This way, when you export a document which often uses a logo the PDF file will be significantly smaller!
  • Creation of PDF/A compliant PDF files (with added enhanced (in V5) meta data and PDF tagging when you use it with WPTools 9.3). The PDF/A export has been checked and improved for Version 3.20.
  • Support of CID fonts (known as “unicode” support)
  • Binary Data embedding: You can store the document source which was used to create a PDF file within this PDF file. When you use WPTools for the PDF creation you can store the RTF source document inside of the created PDF data, the user only has to click on an icon to extract this document. This can be a great feature if you use it to embed programming examples within your programming manual!
  • Support for type3 fonts to create very small PDF files, even with Asian fonts
  • Embed PNG images including transparency mask
  • Add data to the XMP metadata (i.e. ZUGFerd data for electronic invoices)
  • Add copyright information
  • Enhanced possibility to create annotations and fields.


You will find a demo (exe and vcl) in the download section.

Our highly popular reporting tool List & Label has been using the PDF technology developed by WPCubed since 2003. We chose wPDF because, among other things, we needed a fast and effective conversion of our rendering commands. The conversion has been kept up to date throughout the years and we have always gotten quick responses and good solutions from WPCubed, so we are more than happy to work with them. In 2015 we integrated wPDF V4 into version 21 of List & Label in order to be able to offer our global customers enhanced support for special characters with Type3 font embedding. (Note: The Standard License does not allow the use within a development tool.)– Jochen Bartlau, combit GmbH


Before we released Help & Manual Version 3 we tested more than a dozen PDF tools. …. We finally went with wPDF from WPTools. It meets all our requirements, is very reliable, extremely fast and integrates nicely into the program. If you need to create PDF files natively, wPDF is the best tool you can buy for money.” – EC Software


Since Version 1 until the current Version 6 we use in this application [Scan2PDF] the PDF components of WPCubed. Already end of 2000, when we compared several PDF components, the ones of WPTools prooved to be ideal. Easy integration and high stability of the components was not only been told, but also provided. The service of WPCubed was and is excellent.” –  Metier 2000


Alan C Moore reviewed Version 1 in Delphi Informant May 2002: “This library includes excellent integration with the company’s other fine libraries, WPForm and WPTools… Conclusion: I’ve enjoyed working with these components, and I recommend them highly.”

Example: Print 4 metafiles to one page

  WPPDFPrinter1.StartPage( width, height, resolution, resresolution, 0);
  WPPDFPrinter1.Canvas.StretchDraw( Rect1, Image1.Picture.Graphic );
  WPPDFPrinter1.Canvas.StretchDraw( Rect2, Image2.Picture.Graphic );
  WPPDFPrinter1.Canvas.StretchDraw( Rect3, Image3.Picture.Graphic );
  WPPDFPrinter1.Canvas.StretchDraw( Rect4, Image4.Picture.Graphic );