NAME
SelectPdf::ApiEnums - Named constants for the values accepted by the SelectPdf Online API client setters.
SYNOPSIS
Every setter that takes one of these values also accepts the plain value (for example "PdfA3B", "Chromium" or 2). The constants exist so the allowed values are discoverable and typos are caught at compile time:
use SelectPdf;
my $client = SelectPdf::HtmlToPdfClient->new($apiKey);
$client
->setRenderingEngine(SelectPdf::RenderingEngine::Chromium)
->setPdfStandard(SelectPdf::PdfStandard::PdfA3B)
->setPageNumbersAlignment(SelectPdf::PageNumbersAlignment::Center)
;
my $invoice = SelectPdf::InvoiceClient->new($apiKey);
$invoice->setZugferdProfile(SelectPdf::ZugferdProfile::En16931);
The same constants can also be called as class methods, e.g. SelectPdf::PdfStandard->PdfA3B.
CONSTANTS
SelectPdf::PageSize
PDF page size: Custom, A0, A1, A2, A3, A4, A5, A6, A7, A8, Letter, HalfLetter, Ledger, Legal.
SelectPdf::PageOrientation
PDF page orientation: Portrait, Landscape.
SelectPdf::RenderingEngine
Rendering engine used for HTML to PDF conversion: WebKit, Restricted (WebKit Restricted), Blink, Chromium.
SelectPdf::SecureProtocol
Protocol used for secure (HTTPS) connections: Tls11OrNewer (0, recommended), Tls10 (1), Ssl3 (2).
SelectPdf::PageLayout
The page layout used when the PDF document is opened in a viewer: SinglePage (0), OneColumn (1), TwoColumnLeft (2), TwoColumnRight (3).
SelectPdf::PageMode
The PDF document's page mode: UseNone (0), UseOutlines (1), UseThumbs (2), FullScreen (3), UseOC (4), UseAttachments (5).
SelectPdf::PageNumbersAlignment
Alignment for page numbers: Left (1), Center (2), Right (3).
SelectPdf::StartupMode
Converter startup mode: Automatic (the conversion starts right after the page loads), Manual (the conversion starts only when called from JavaScript).
SelectPdf::TextLayout
Output text layout for PDF to text calls: Original (0), Reading (1).
SelectPdf::OutputFormat
Output format for PDF to text calls: Text (0), Html (1).
SelectPdf::PdfStandard
PDF conformance target for the generated document:
Full- the complete PDF feature set. Default.PdfA- PDF/A, long term archiving.PdfA2B- PDF/A-2B, long term archiving, transparencies allowed.PdfA3A- PDF/A-3A, the accessible level of PDF/A-3. Implies a tagged document and can carry a ZUGFeRD / Factur-X electronic invoice.PdfA3B- PDF/A-3B, long term archiving with arbitrary embedded files. Can carry a ZUGFeRD / Factur-X electronic invoice.PdfA3U- PDF/A-3U, PDF/A-3B with Unicode mapping for all text. Can carry a ZUGFeRD / Factur-X electronic invoice.PdfX- PDF/X, graphics exchange.PdfSiqQ_A- PDF/SiqQ Level A, suitable for digital signatures, external links disabled.PdfSiqQ_B- PDF/SiqQ Level B, suitable for digital signatures.
Tagged standards (PdfA3A) require the Blink or Chromium rendering engine. When no engine is specified the API promotes the request to Chromium and reports the engine used in the X-SelectPdf-Engine response header.
SelectPdf::ZugferdProfile
The data profile of a ZUGFeRD / Factur-X hybrid electronic invoice:
Minimum- MINIMUM, accounting information only. Not a complete invoice.Basic_WL- BASIC WL, header and footer data without invoice lines. Not a complete invoice.Basic- BASIC, a subset of EN 16931 covering simple invoices, with lines.En16931- EN 16931 (formerly COMFORT), the full European semantic standard.Extended- EXTENDED, EN 16931 plus additional business terms.XRechnung- XRECHNUNG, the German public-sector reference profile. The embedded file is named xrechnung.xml instead of factur-x.xml.
SelectPdf::ZugferdRelationship
How the embedded invoice XML relates to the visible invoice page:
Data- the XML and the visible page carry exactly the same invoice content. Mandatory in Germany for the Basic, En16931, Extended and XRechnung profiles.Alternative- the visible page carries more than the XML does (always the case for the Minimum and Basic_WL profiles), or the page was generated from the XML.Source- the XML is the source the visible page was produced from.Supplement- the XML supplements the visible page.
When not set, the API derives this from the profile: Alternative for Minimum and Basic_WL, Data for the rest. Minimum and Basic_WL combined with Data are rejected, because those profiles do not carry a complete invoice.
SelectPdf::ZugferdSchema
The metadata schema used to identify a hybrid invoice inside the PDF:
FacturX10- Factur-X 1.0 / ZUGFeRD 2.x, the current schema. Default.Zugferd20- ZUGFeRD 2.0, the legacy schema, deprecated but still accepted. Use only for recipients that explicitly require it.