12

We're using Fast Reports to create reports but we're not very happy with the quality of the PDFs it creates. I know we can plug in other PDF components instead of the one that comes with FastReports so my question is

What good PDF components are there out there (Free or Commercial) for Delphi? Ideally it should not require any dlls.

Edit: I bought Gnostice in the end as it had the FastReports integration, source available and a fairly good reputation. I did however find an issue (after I had bought it) with exporting multipage reports from FastReports to PDF where the component leaks memory and corrupts the output. I've reported it to Gnostice so I guess we'll see how good their support is in the next few days...

Edit 2: Gnostice came back with a fix that rectifies the memory leak and the corrupted output.

mjn
  • 36,362
  • 28
  • 176
  • 378
Marius
  • 2,494
  • 6
  • 31
  • 41

8 Answers8

8

Use our SynPDF unit. Among its features, you can use a true TCanvas to create the PDF, and embed True Type fonts subsets. It's one of the few libraries handling Arabic languages and such (via the UniScribe API). It's fully Unicode ready, and very fast.

And it's FREE and OpenSource! Works from Delphi 6 up to Delphi XE.

http://blog.synopse.info/?q=pdf

Arnaud Bouchez
  • 42,305
  • 3
  • 71
  • 159
  • 1
    There is [some post on our forum about FastReport support](http://synopse.info/forum/viewtopic.php?pid=4763). Latest 1.18 revision of SynPDF [allows huge content generation](http://synopse.info/fossil/fdiff?v1=a2c95bad4bf1e765&v2=5bc50157c1a02715). I tested it with more than 200,000 pages of text or images - pretty fast and using a low level of memory. – Arnaud Bouchez May 10 '13 at 14:04
  • Just been playing with this and it's a great free solution! – Alasdair Stark Oct 21 '13 at 13:41
  • The library is still evolving. 64 Bit support, XE6 support, enhanced metafile rendering, encryption, smaller pdf size... – Arnaud Bouchez Jul 09 '14 at 13:57
5

We are using Gnostice and are very pleased with it. It allows us to print our ReportBuilder reports to PDF, HTML, XML, Excel, Gif, ...


Some minor issues we have come accross working with the component

  1. Somewhere deep in the bowels of the component, Application.Processmessages get's called. You have to make sure your code handles reëntrance.
  2. We had to set Preferences.UseImagesAsResources of the TgtDocSettings component to True to resolve AV's when printing to anything else but PDF.
  3. Probably due to the way we use the component but the first printed page was always Portrait. We had to add a call to gtRBExportInterface.Engine.Settings.Page.Orientation to set the orientation to landscape if needed.
Lieven Keersmaekers
  • 57,207
  • 13
  • 112
  • 146
2

We use wPDF. We don't generate pdf-files directly thought - we generate different reports, and 'print' them to pdf as an alternative to printer.

Vegar
  • 12,828
  • 16
  • 85
  • 151
2

PowerPDF is free and opensource (LGPL). its realy small but effective!

PowerPDF

coding Bott
  • 4,287
  • 1
  • 27
  • 44
1

Here are some (All Commercial) I came across when looking for something similar:

I found that the freely available ones LibHaru, PoDoFo weren't up to scratch for my requirements unfortunately.

QAZ
  • 4,870
  • 6
  • 36
  • 50
1

I've been using wPDF with QuickReports / QRDesign. Basically by converting the report to a metafile then producing the pdf from that. It also claims to have Fast Report support.

Alister
  • 6,527
  • 4
  • 46
  • 70
0

IIPDFLib by llionsoft at: www.llion.net

Delphi library llPDFLib 3.6

llPDFLib is pure Object Pascal library to create PDF documents. This library doesn't use any DLL or external third-party software to generate PDF files. Library includes TPDFDocument component with properties and methods like Delphi's TPrinter but is designed to generate a PDF file.

Features:

  • Real Canvas.Handle (HDC)
  • Unicode support
  • Acroforms (buttons, radiobuttons, checkboxes, comboboxes, text input fields)
  • Watermarks
  • Thumbnail
  • JavaScript
  • vEncryption (40 and 128 bit)
  • Outlines (with support russian, turkish, baltic, east europe, greek, CJK languages)
  • Compression
  • Image compression(Jpeg, Flate, CCITT 3, CCITT 3 (2D), CCITT 4)
  • Hyperlink
  • Annotation(with support russian, turkish, baltic, east europe, greek, CJK languages)
  • Embedding True Type fonts (TTF and TTC)
  • Emulation of the Underline and StrikeOut font style
  • Present output into Stream for work with CGI/ISAPI applications
  • Filters for QReport,FastReport and Report Builder.
  • Set of the components for work with DBGrids
  • True Type font subset

It costs $299 US, but you get what you pay for.

alt text
(source: llion.net)

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
lkessler
  • 19,819
  • 36
  • 132
  • 203
0

There are 2 ways to create PDF reports using eDocEngine. Either you use a report builder component (like QuickReport, Rave etc) and then use the eDocEngine interface to save the contents as PDF.

The other way is to programmtically use TgtPDFDocument class and then settings it's properties and collections. This gives much finer control over features like watermarks, permissions, password security etc.

Hemant
  • 19,486
  • 24
  • 91
  • 127