For Delphi • FireMonkey (FMX)

One report. Windows, macOS, Linux, iOS & Android. Zero dependencies.

FmxReports
(.frp)

One human-readable report file — design it once, render it everywhere.

// From your dataset to a PDF — pure Delphi:
ReportEngine1.SetVariable('Company', 'Acme Trading Co.');
ReportEngine1.SetDataSource('customers', QryCustomers);

ReportEngine1.ExportPDF('invoice.frp', 'invoice.pdf');  // vector PDF
ReportEngine1.Preview('invoice.frp');                   // paged preview
ReportEngine1.PrintReport('invoice.frp');               // default printer
✓ invoice.pdf — vector, selectable text, Windows & Android

FmxPdfTools is a complete banded report generator & PDF engine written 100% in Delphi on FireMonkey. Design once in the visual editor and render true vector PDFs — selectable text, live barcodes & QR, master/detail data — with no DLLs, no GhostScript, no print server.

5platforms, one .frp
13+report elements
30+expression functions
6designer languages

Everything you need to ship professional reports

A full reporting stack — engine, designer and PDF producer — in a single Delphi package.

📱

One report, two platforms

Author a single .frp and deploy it to Windows desktop and Android apps without changes. No platform-specific formats, no parallel maintenance.

📄

True vector PDF

Real vector primitives with embedded fonts — text stays selectable, searchable and crisp at any zoom, barcodes stay scannable, files stay small.

📦

Zero dependencies

No GhostScript, no Acrobat, no PDF driver, no reporting server, no native DLLs. Everything compiles into your executable. Deployment is trivial.

🎨

Visual designer included

A full WYSIWYG editor ships with the component: drag & drop, property inspector, snap guides, live preview — in 6 languages. Ship it to your users too.

📊

Serious data reporting

Master/Detail/Sub-detail (3-level), multi-level grouping, aggregates (SUM/AVG/COUNT/MIN/MAX), auto-growing data-bound tables with automatic page breaks.

🧮

Full element toolbox

Labels, fields, shapes, RTF rich-text memos, images, barcodes (Code 128/39, EAN, UPC, ITF), QR codes, tables and flowing sub-reports — all in the box.

Σ

Real expression engine

Inline [expressions] with 30+ math, string, date, conditional & aggregate functions, report variables {Name} and system tokens like [PageNo].

🖨

Professional print control

Smart printer logic: embed a printer in the report, override per call, and fall back to the default if the requested printer is missing.

🔍

Modern paged preview

Page-by-page, scrollable and zoomable preview that renders only visible pages — even huge reports open instantly — with Print and Save-as-PDF.

Three components, one palette tab

Install the package and the FmxPdfTools tab appears in the IDE.

TReportEngine

The heart of the product. Loads .frp reports, binds data & variables, and renders to PDF, on-screen preview or printer. This is the component you script against.

TPDFDrawing

The Android PDF rendering back-end, built on Android's native JPdfDocument. Drop one on the form and assign it to ReportEngine.PDFDrawing for mobile.

TRptDataSet

A design-time data-binding helper. Point it at any TFDQuery/TDataSet, name it, and the engine auto-discovers it — the designer sees your fields.

Platform capability matrix

The same .frp drives every column.

CapabilityWindowsmacOS / LinuxAndroid
Vector PDF export (ExportPDF)
PDF via ShowReport / ShowReports
On-screen paged preview (Preview)
Direct printing (PrintReport)
Visual designer (OpenDesigner)

On Android, reports are produced as PDF (then shared / opened / printed through the OS) via the native JPdfDocument back-end.

From dataset to PDF in minutes

Clean, scriptable API. Reports are human-readable JSON (.frp) — diff- and version-control-friendly.

ReportEngine1.SetVariable('Company', 'Acme Trading Co.');
ReportEngine1.SetDataSource('customers', QryCustomers);

ReportEngine1.Preview('customers.frp');                      // paged, zoomable
ReportEngine1.ExportPDF('customers.frp', 'cust.pdf');        // vector PDF
ReportEngine1.PrintReport('customers.frp', 'HP LaserJet 1020');
ReportEngine1.PDFDrawing := PDFDrawing1;        // Android back-end
ReportEngine1.SetDataSource('customers', FDQuery1);
ReportEngine1.ShowReport('customers.frp',
  TPath.Combine(TPath.GetDocumentsPath, 'customers.pdf'));
// Cover + summary + detail merged into one document
ReportEngine1.ExportPDF(
  TArray<string>.Create('cover.frp', 'summary.frp', 'detail.frp'),
  'quarterly_pack.pdf');

A complete visual report designer — in the box

Professional WYSIWYG editing. Design reports without a single line of code, then ship the designer to your end-users too.

FmxPdfTools visual report designer with band layout, element palette and property inspector
The designer: band layout (Title, PageHeader, MasterData, Detail, Sub-detail, Group, Summary), element palette, property inspector and data tree — switchable across 6 UI languages.
Selecting datasets and browsing fields in the designer data tree
Pick your datasets and drag real fields from the live Data Tree.
Built-in paged, zoomable report preview
Built-in paged, zoomable preview — print or save to PDF directly.

How to design a report in 5 steps

  1. 1

    Open the designer

    Call ReportEngine.OpenDesigner('report.frp', Self). Passing your form lets the engine publish your TRptDataSet fields straight into the Data Tree.

  2. 2

    Set up the page & bands

    Choose page size, margins and grid, then add the bands you need — Title, Page Header/Footer, Master/Detail/Sub-detail, Group Header/Footer and Summary.

  3. 3

    Drop elements & bind fields

    Drag labels, tables, images, barcodes, QR codes and RTF memos from the palette. Drag a field from the Data Tree onto a band to bind it, or type [Field] directly.

  4. 4

    Add expressions & groups

    Use [expressions] and aggregates like [SUM(Total)], set a GroupCondition for grouping, and place group totals in the Group Footer.

  5. 5

    Preview, save & render

    Hit Preview to check it live, save the .frp, and render from your app with ExportPDF, Preview, PrintReport or ShowReport (Android).

Simple, honest pricing

Full source code included. No subscriptions, no per-app royalties.

Full source code

FmxPdfTools

$25

One-time payment - full source code - 1 year of updates

  • Complete Delphi source code — no DCU-only, nothing hidden
  • TReportEngine, TPDFDrawing, TRptDataSet
  • ✓ Visual report designer (6 languages)
  • ✓ Windows + Android, macOS/Linux preview
  • ✓ Vector PDF, barcodes, QR, tables, sub-reports
  • ✓ Royalty-free runtime distribution
  • ✓ Email support & 1 year of updates
Buy with USDT

Pay with USDT — TRC20 or ERC20

Order with USDT

Pay in USDT, fill the form, and the full source code is emailed to you — usually within 24 hours.

1. Send the payment

Amount: 25 USDT

Choose your network:

Only send USDT on the selected network (TRC20 (Tron)). Funds sent on a different network will be lost.

2. Send us your details

After we confirm the payment on-chain, the full source code is emailed to you.

Frequently asked questions

What exactly do I receive?

The complete Delphi source code of FmxPdfTools — the report engine, the PDF drawing layer, the dataset component and the visual designer. No DCU-only units, nothing hidden: you can compile, study and adapt everything for your own projects.

Which Delphi versions are supported?

Recent FireMonkey-capable Delphi releases (Delphi 11 Alexandria, 12 Athens and 13 Florence). The package installs onto the IDE with the included installer.

Do I pay royalties for apps I ship?

No. The runtime is royalty-free — distribute as many applications as you like with no per-copy fees.

How does payment work?

Payment is in USDT on the TRC20 or ERC20 network — choose the one you prefer on the order form. Send the amount to the address shown, fill in the form with your transaction hash, and we email you the full source code after the on-chain confirmation.

Are there external dependencies to deploy?

None. No GhostScript, Acrobat, PDF printer driver or native DLLs. Everything is compiled into your executable.

Can my end-users edit reports?

Yes. The visual designer ships with the component and can be distributed to your users, so they can tweak reports without any code.

How fast will I receive the source code?

Usually within 24 hours of payment confirmation. You'll get an acknowledgement email immediately after submitting the form.

Ship beautiful reports from one Delphi codebase.

Get FmxPdfTools — $25