Any good PDF export filter that works with Fast Report?

10,498

Solution 1

The Gnostice support answered my e-mail which I reported that their trial installer didn't work and send me some tips about which could be the problem and I was able to install it.

The company I work for already bought me a license and I already replaced the Fast Report Export Filter, which was a task as simple as droping 2 components on the same Form as the frxReport Object and setting 2 or 3 properties.

Also, to export the report programatically was also 2 lines of code and the information was easily found in their FAQ.

In the end, based on the recomendations and after looking for other options just to find abandoned components which doesn't have any updates for years, the Gnostice eDocEngine was the best solution.

Just hope they make their installer a little more "Programmer Friendly" as if it had complained about the lack of Fast Report's units in the search path I would've been able to at least have an idea of what was going on, instead of just getting an error and blaming them for having a trial installer which didn't work.

After replacing the filter and generating the PDF's using the eDocEngine component, the PDFs now work the same in iOS, OSX and Android.

Solution 2

Fast Report informed that their pdf implementation only support Windows and they can't say when the new implementation that they are working on will be available.

I'm not sure that should be taken literally, considering PDF is supposed to be a cross platform format. It more likely means they don't actually have the time, equipment or expertise to test with those platforms. The PDF export filter that I'm using is the one built into Fast Report! It surely has some bugs, but I managed to work around them. And I think that might also work for you: Start with a simple document that does export properly, start adding features until it brakes, then you know what brakes it and you'll know how to work around the problem.

From my experience, here's what got me into trouble:

  • Rounded corners in the PDF document didn't look like the ones in the Fast Report preview. My fix: Found a combination of settings that made the exported PDF look exactly like the preview document. For me rounded corners were just a cosmetic feature, and with cosmetics there's no "One Look"; The alternative worked just fine. This might actually be fixed in the most recent version, but I didn't bother changing the document to test.
  • Transparency issues and outline issues. When working with the Fast Report editor (and when looking at it's previews) it's easy to overlap objects. You don't see this because of the object opacity. When exporting to PDF overlapped objects somehow managed to "print" outlines, and it obviously looked ugly. My fix: pay closer attention to those objects, make sure they don't overlap or make sure they don't generate outlines if no outlines are supposed to be seen.

Also make sure you test using ADOBE Reader, on any of the given platforms. If it works with the Adobe reader but doesn't work with other readers, there might be a bug in the 3rd party reader!


Edit: Here (link) is a sample PDF document generated by my Fast Reports application. I have no idea what kinds of documents you generate, but in my book that's a mighty complex document. Notice the diagonal line that starts where the table data ends, notice the embedded images (bar code, stamp, signature).

I opened that document on the following mobile devices:

  • iPad, running iOS: The document renders 90% ok. Images are not rendered at all, but they're not important to my document (and that's very likely a problem with the iOS reader). All the fancy colored lines and rounded corners are properly rendered. Some text is not properly rendered, and I'm pretty sure that didn't render because the "box" that contains it is too small for the contents. That most likely happens because I didn't embed the TTF fonts into the PDF and the Apple font on iOS didn't perfectly match the Microsoft font that was used on Windows.
  • Samsung Galaxy S2, running Android 2.3: The document renders 100% correctly.
  • Samsung Something(??), running Windows Mobile 6.5 and the FoxReader: The document is totally gibberish: pictures showed up but the spacing between letters was messed so bad it's impossible to read. I blame the reader, it's not Acrobat and it probably wanted to be "smart". And it broke it's teeth in my text encoding, because my text is not English.

About the PDF format: A document is "PDF" if it conforms to the standard, here's some Wikipedia info on that. In theory a PDF document should render exactly the same way any way you look at it, but there are forces at play that might work against this:

  • Not all readers are "Adobe Acrobat". In theory they're all compatible, in practice they're most like not 100% compatible.
  • PDFs that don't embed fonts depend on the fonts available on the host system. If they're not the exact same fonts there's trouble ahead, because they might have slightly differing sizes. Since we're talking about PDF's that were generated on Windows and opened on iOS or Android, those are obviously different platforms and they're guaranteed to use different fonts (because fonts are licensed, and I doubt Microsoft will licence it's fonts to Apple. I also doubt Apple would want Microsoft fonts). One possible solution is embedding fonts, but that makes your PDF files significantly larger.

Solution 3

AFAIK you can export your Fast Report pages as metafiles (i.e. vectorial Windows format, which is in fact a raw serialization of GDI commands).

Then you could be able to render those metafiles into PDF using our Open Source SynPDF library. It works from Delphi 5 up to XE, is Unicode ready, can embed true type fonts, and even create PDF/A files.

It is also able to export metafiles included in reports as vectorial pictures (and not bitmaps), and could therefore highly increase the pdf quality and at the same time shrink its size.

See for instance how it can be used for QuickReport. A similar technical should be used with Fast Report.

Share:
10,498
rag
Author by

rag

Just a developer wannabe.

Updated on June 04, 2022

Comments

  • rag
    rag almost 2 years

    I recently discovered that the PDFs exported by the Fast Report's PDF export filter aren't displayed correctly in Mac OSX, iOS and Android devices.

    Fast Report informed that their pdf implementation only support Windows and they can't say when the new implementation that they are working on will be available.

    I also tried to use the Gnostice export filter, but their demo installer didn't work in Delphi XE and when I contacted them, they took 15 days to send me some attached dcus which also didn't work. So I'm searching for another option.

    If you know or use a PDF export filter which works with Fast Report, please let me know.


    November 2015: Fast Report now have PDF/A support, with this option enabled the PDFs are fine on all platforms.


    October 2014 - Fast Report 5 still seems to generate "Windows-only" PDF. A production-ready solution for this problem would be a benefit for cross-platform developers, given that Fast Report is the report generator bundled with Delphi.

    Here is a fresh example generated with the Fast Report 5 demo, displayed with Adobe Reader 11 on Android 4.4:

    enter image description here

    And on Windows:

    enter image description here

  • Cosmin Prund
    Cosmin Prund over 12 years
    That's something the End User does, when the Software doesn't have a proper "Export as PDF" function. Giving this advice equals giving up: I the developer can't fix, but you the user can spend some money on a PDF "printer" and solve your problem.
  • Daniel Maurić
    Daniel Maurić about 12 years
    Just to confirm that I've implemented FastReport export filter using SynPdf and it works great.
  • Emil Jeřábek
    Emil Jeřábek about 12 years
    The Gnostice-created PDFs I receive from our institute's airline ticket agent only work on Windows (that is, they don't open properly in Linux, we have no Macs to test), because of font-embedding issues. So if you are aiming for cross-platform usability, this is not the right option.
  • Emil Jeřábek
    Emil Jeřábek about 12 years
    The user does not need to spend any money, there are free PDF printers available.
  • crazy_in_love
    crazy_in_love over 11 years
    @danielmaurić - care to share?
  • Daniel Maurić
    Daniel Maurić over 11 years
    @Leonardo Herrera - I just posted the unit in the SynPDF forum, synopse.info/forum/viewtopic.php?pid=4763#p4763
  • yms
    yms about 11 years
    For cross-platform issues with fonts, it might be better to use only standard PDF fonts, those will probably work everywhere.
  • mjn
    mjn over 9 years
    Now three years later, is eDocEngine still doing its job well (or even better)?
  • Peter O.
    Peter O. over 9 years
    @Cosmin Prund: Your sample PDF link might be broken.
  • mjn
    mjn over 9 years
    This does not help in cases where the reports have to be emailed or otherweise (web download) provided to external users who are not using the Delphi app
  • Sir Rufo
    Sir Rufo over 9 years
    @mji This was the only working workaround for me at the end. The generated pdf had to be imported into QuarkXpress on a Mac and FR pdfs killed the QXP process. It takes some dirty tricks to get an unattended pdf generating solution with the pdf printer (pdfFactory) but the result was a perfect rendered pdf used for offset printing.