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.