Enterprise API 概覽¶
nextpdf/enterprise 需要 Enterprise 商業授權,包含 Pro 全部功能。所有類別位於 NextPDF\Enterprise\ 命名空間。
模組索引¶
| 模組 | 命名空間 | 說明 |
|---|---|---|
| ZUGFeRD | NextPDF\Enterprise\EInvoice | ZUGFeRD 2.3 / Factur-X / XRechnung |
| HSM | NextPDF\Enterprise\Signature | PKCS#11 硬體安全模組 |
| RAG | NextPDF\Enterprise\Rag | PDF 語意搜尋 + 向量索引 |
| Extraction | NextPDF\Enterprise\Extraction | 結構化文字提取 |
| Prisma Enterprise | NextPDF\Enterprise\Accelerator | Prisma Enterprise 加速引擎 |
| Compliance Pro | NextPDF\Enterprise\Compliance | EN 16931 / Matterhorn 驗證 |
ZUGFeRD 電子發票模組¶
namespace NextPDF\Enterprise\EInvoice;
final class ZugferdBuilder
{
public static function create(ZugferdProfile $profile): self
public function build(
string $invoiceNumber,
DateTimeImmutable $issueDate,
DateTimeImmutable $dueDate,
TradeParty $seller,
TradeParty $buyer,
list<LineItem> $lineItems,
PaymentTerms $paymentTerms,
string $currency = 'EUR',
string $note = '',
string $buyerOrderReference = '',
): ZugferdDocument
public function validator(): ZugferdValidator
}
enum ZugferdProfile: string
{
case MINIMUM = 'urn:factur-x.eu:1p0:minimum';
case BASIC_WL = 'urn:factur-x.eu:1p0:basicwl';
case BASIC = 'urn:factur-x.eu:1p0:basic';
case EN16931 = 'urn:cen.eu:en16931:2017'; // COMFORT
case EXTENDED = 'urn:factur-x.eu:1p0:extended';
case XRECHNUNG = 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0';
}
final readonly class TradeParty
{
public static function create(
string $name,
Address $address,
TaxRegistration $taxId,
string $globalId = '',
string $contactEmail = '',
string $contactPhone = '',
string $buyerReference = '', // Leitweg-ID(德國政府採購)
): self
}
final readonly class LineItem
{
public static function create(
string $id,
string $name,
string $description = '',
float $quantity = 1.0,
string $unitCode = 'C62', // UN/ECE Unit Code
float $unitPrice = 0.0,
Tax $tax,
?float $allowancePercent = null, // 折扣百分比
): self
}
HSM 硬體安全模組¶
namespace NextPDF\Enterprise\Signature;
final class HsmOrchestrator
{
public static function create(
HsmConnection $hsm,
TimestampAuthority $tsa,
RevocationEmbedder $revocation,
?string $keyLabel = null, // null = 使用第一個可用私鑰
): self
public function sign(Document $document, SignatureAppearance $appearance = SignatureAppearance::INVISIBLE): Document
}
final class HsmConnection
{
/**
* @param non-empty-string $pkcs11Library PKCS#11 動態庫路徑(.so / .dll)
* @param positive-int $slot HSM Slot 編號
* @param non-empty-string $pin 操作員 PIN
*/
public static function create(
string $pkcs11Library,
int $slot,
string $pin,
): self
/** 測試連接是否正常 */
public function ping(): bool
/** 列出可用的金鑰 */
public function listKeys(): list<HsmKey>
}
RAG 語意搜尋模組¶
namespace NextPDF\Enterprise\Extraction;
final class PdfTextExtractor
{
public static function create(): self
public function extract(
string $path,
ExtractionOptions $options = new ExtractionOptions(),
): ExtractedDocument
}
namespace NextPDF\Enterprise\Rag;
final class SemanticChunker
{
public static function create(): self
public function chunk(
ExtractedDocument $document,
ChunkingOptions $options = new ChunkingOptions(),
): list<TextChunk>
}
final class VectorIndexer
{
public static function create(
EmbeddingProviderInterface $embeddingProvider,
VectorStoreInterface $vectorStore,
): self
public function index(
list<TextChunk> $chunks,
string $documentId,
array<string, mixed> $metadata = [],
int $batchSize = 50,
): IndexingResult
}
final class SemanticSearcher
{
public static function create(
EmbeddingProviderInterface $embeddingProvider,
VectorStoreInterface $vectorStore,
): self
public function search(
SearchQuery $query,
SearchOptions $options = new SearchOptions(),
): SearchResult
}
Prisma Enterprise 加速引擎¶
namespace NextPDF\Enterprise\Accelerator;
final class PrismaEnterpriseClient
{
public static function create(PrismaEnterpriseConfig $config = new PrismaEnterpriseConfig()): self
public function isAvailable(): bool
public function engineVersion(): string
public function capabilities(): list<string> // 此裝置支援的加速功能列表
}
合規驗證模組¶
namespace NextPDF\Enterprise\Compliance;
final class En16931Validator
{
public static function create(): self
public function validate(ZugferdDocument $document): En16931ValidationResult
}
延伸閱讀¶
- ZUGFeRD 電子發票範例 — 完整 ZUGFeRD 範例
- RAG 語意搜尋範例 — 語意搜尋完整範例
- 數位簽章指南 — HSM 整合說明
- 授權說明 — Enterprise 授權方案