Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5namespace Phpdftk\Pdf\Conformance\Profile;
6
7use Phpdftk\Pdf\Core\PdfVersion;
8
9/**
10 * Represents a PDF subset conformance profile (e.g. PDF/A-1b, PDF/X-4, PDF/UA-1).
11 *
12 * Each profile maps to a specific ISO standard and conformance level, defines
13 * the minimum PDF version required, and provides the XMP identification
14 * properties that must appear in the document metadata.
15 */
16interface ConformanceProfile
17{
18    /** Standard family name (e.g. 'PDF/A', 'PDF/X', 'PDF/UA'). */
19    public function getFamily(): string;
20
21    /** Conformance level label (e.g. '1b', 'X-4', 'UA-1'). */
22    public function getLevel(): string;
23
24    /** Minimum PDF version required by this profile. */
25    public function getPdfVersion(): PdfVersion;
26
27    /** XMP namespace URI for the identification schema. */
28    public function getXmpNamespace(): string;
29
30    /** XMP namespace prefix (e.g. 'pdfaid', 'pdfxid'). */
31    public function getXmpPrefix(): string;
32
33    /**
34     * XMP identification properties for this profile.
35     *
36     * Keys are the local property names within the identification namespace
37     * (e.g. 'part', 'conformance'). Values are the property values.
38     *
39     * @return array<string, string>
40     */
41    public function getXmpProperties(): array;
42}