FactoorSharp.FacturX.Visualization
18.4.0
dotnet add package FactoorSharp.FacturX.Visualization --version 18.4.0
NuGet\Install-Package FactoorSharp.FacturX.Visualization -Version 18.4.0
<PackageReference Include="FactoorSharp.FacturX.Visualization" Version="18.4.0" />
<PackageVersion Include="FactoorSharp.FacturX.Visualization" Version="18.4.0" />
<PackageReference Include="FactoorSharp.FacturX.Visualization" />
paket add FactoorSharp.FacturX.Visualization --version 18.4.0
#r "nuget: FactoorSharp.FacturX.Visualization, 18.4.0"
#:package FactoorSharp.FacturX.Visualization@18.4.0
#addin nuget:?package=FactoorSharp.FacturX.Visualization&version=18.4.0
#tool nuget:?package=FactoorSharp.FacturX.Visualization&version=18.4.0
FactoorSharp.FacturX.Visualization
FactoorSharp.FacturX.Visualization renders FactoorSharp.FacturX
FacturXInvoice objects (Factur-X / ZUGFeRD / XRechnung) into a classic, human readable
PDF invoice layout, using QuestPDF.
It is designed for applications that already create or read electronic invoices with FactoorSharp.FacturX and additionally need a printable, on-screen representation for customers, accounting, or archiving — without touching PDF/A-3 embedding, which is handled by FactoorSharp.FacturX.PDF instead.
You can find all available license options here: https://www.factoorsharp.de
Overview
A Factur-X / ZUGFeRD invoice is, at its core, structured XML data (CII or UBL). For hybrid
documents, that data is embedded into a PDF/A-3 file — but the visual layout of that PDF is
entirely up to the application that created it. FactoorSharp.FacturX.Visualization provides a
ready-made, classic invoice layout for exactly that purpose: a clean, well-structured PDF
rendering generated directly from the same FacturXInvoice object used to create or read the
electronic invoice, with no manual layout work required.
The generated PDF is clearly marked as "Bildliche Darstellung" (visual representation) — it is not, by itself, the legally authoritative electronic invoice. The authoritative document is the structured Factur-X/XRechnung data (and, for hybrid documents, the PDF/A-3 file produced by FactoorSharp.FacturX.PDF).
Features
- Renders any
FacturXInvoice(Invoice, Credit Note, Correction, Prepayment Invoice, …) into a single-page-flow, multi-page-capable PDF invoice form - Classic invoice layout: letterhead, invoice recipient and (optional) goods recipient addresses, line items, tax breakdown per VAT rate, totals, payment terms, and a three-column footer with seller contact, tax registrations, and bank details
- Automatic translation of all UN/ECE Rec. 20/21 quantity codes (e.g.
H87,KGM,LTR) into German unit labels (e.g. "Stück", "Kilogramm", "Liter") - Surfaces document-, line-, and tax-level details relevant for German invoicing: Leitweg-ID, delivery note references, billing periods, VAT exemption reasons, SEPA payment details, logistics service charges, and technical product characteristics per line item
- Optional logo image (e.g. JPEG/PNG) printed in the invoice header, scaled to fit without distortion — falls back to a simple placeholder badge if no logo is supplied
- Automatic "Seite X von Y" page numbering
- Three render targets: file path,
Stream, or in-memorybyte[] - Targets
netstandard2.0and works wherever FactoorSharp.FacturX and QuestPDF are supported
Installation
Install the package via NuGet:
dotnet add package FactoorSharp.FacturX.Visualization
This automatically pulls in FactoorSharp.FacturX and QuestPDF as dependencies.
Register under https://www.factoorsharp.de and download the trial license for
FactoorSharp.FacturX (required to create or load a FacturXInvoice).
Usage
using FactoorSharp.FacturX;
using FactoorSharp.FacturX.Visualization;
// FactoorSharp.FacturX requires a valid license to create or load invoices.
FacturXInvoice.SetLicense("...");
// Load an existing Factur-X / ZUGFeRD invoice, or build one with FacturXInvoice.CreateInvoice(...).
FacturXInvoice invoice = FacturXInvoice.Load("invoice.xml");
// Render straight to a PDF file.
InvoiceVisualizer.Render(invoice, "invoice.pdf");
// ...or into a stream, optionally with a company logo (JPEG/PNG bytes),
// scaled to fit the logo box without being distorted.
byte[] logo = File.ReadAllBytes("logo.jpg");
using var stream = new MemoryStream();
InvoiceVisualizer.Render(invoice, stream, logo);
// ...or directly as an in-memory byte array.
byte[] pdfBytes = InvoiceVisualizer.RenderToBytes(invoice);
No further setup is required: InvoiceVisualizer automatically configures the QuestPDF
Community license on first use (see below for what that license requires of you).
Licensing Model
FactoorSharp.FacturX.Visualization is part of the FactoorSharp product family and is licensed under the same commercial terms as FactoorSharp.FacturX:
- The license is granted to a company, not to individual users
- Usage is based on the number of developers working with the library
- Different license tiers are available (e.g. Freelancer, SME, Corporate)
- Customers are expected to select a license that reflects their actual usage
The model follows a fair-use approach and does not enforce strict technical limits.
Third-party dependency: QuestPDF
This package generates PDFs using QuestPDF, which is licensed separately from FactoorSharp under its own Community / Commercial dual license. As of the QuestPDF version referenced by this package, free (Community) use is limited to organizations below a certain annual revenue threshold; organizations above that threshold must obtain a commercial QuestPDF license directly from QuestPDF. Please review QuestPDF's current license terms at https://www.questpdf.com/license/ to determine which license applies to your organization — this is independent of, and in addition to, your FactoorSharp license.
Subscription and Perpetual Use
FactoorSharp.FacturX.Visualization is provided under a subscription model. During an active subscription, customers receive:
- Access to updates and new versions
- Support services
After the subscription ends:
- The last available version remains usable indefinitely
- No further updates or support are included
Redistribution
FactoorSharp.FacturX.Visualization can be used within customer applications, including SaaS solutions. Redistribution is permitted under the condition that an appropriate license (including redistribution rights) has been obtained. The software itself and license keys must not be shared with third parties.
Data Protection and Privacy
FactoorSharp.FacturX.Visualization processes invoice data only for technical purposes, i.e. to render it into a PDF. When rendering documents, the data may contain personal information (e.g. names, addresses). The following principles apply:
- Data is processed only temporarily during the rendering call
- No storage of document content takes place
- No use for analytics, training, profiling, or any other purposes occurs
All data remains under the control of the customer.
Disclaimer
FactoorSharp.FacturX.Visualization is a technical tool for rendering structured invoice data into a human readable PDF. No guarantee is given for:
- Legal compliance of the generated visual representation
- Correctness in all business or regulatory contexts
- Suitability of the rendered layout as a substitute for the authoritative electronic invoice
Users are responsible for ensuring compliance with applicable laws and regulations, and for verifying that the rendered layout meets their own business and design requirements.
License
This software is licensed, not sold. For full terms and conditions, including detailed legal and data protection provisions, please refer to:
https://www.factoorsharp.de/de/Home/Agb
Support
Support is available during an active subscription period.
About
FactoorSharp.FacturX.Visualization is developed and maintained by: STwo Industries GmbH Eichenkoppel 19 22399 Hamburg Germany
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
-
.NETFramework 4.7.2
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
-
.NETFramework 4.8
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
-
.NETStandard 2.0
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
-
.NETStandard 2.1
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
-
net10.0
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
-
net8.0
- FactoorSharp.FacturX (>= 18.4.0)
- QuestPDF (>= 2026.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 18.4.0 | 112 | 6/28/2026 |
18.4.0
Initial release