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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FactoorSharp.FacturX.Visualization" Version="18.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FactoorSharp.FacturX.Visualization" Version="18.4.0" />
                    
Directory.Packages.props
<PackageReference Include="FactoorSharp.FacturX.Visualization" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FactoorSharp.FacturX.Visualization --version 18.4.0
                    
#r "nuget: FactoorSharp.FacturX.Visualization, 18.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FactoorSharp.FacturX.Visualization@18.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FactoorSharp.FacturX.Visualization&version=18.4.0
                    
Install as a Cake Addin
#tool nuget:?package=FactoorSharp.FacturX.Visualization&version=18.4.0
                    
Install as a Cake Tool

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-memory byte[]
  • Targets netstandard2.0 and 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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