Native Linux und macOS

Das native FPC-Backend unterstützt headless-Bibliotheksworkflows unter Linux x64 und macOS ARM64 und erzeugt echte ELF- und Mach-O-Programme

Verwenden Sie die vorhandene TPDFlib-API für PDF-Erzeugung, Speichern/Laden, Textextraktion und -bearbeitung, strukturierte Extraktion, portable OCR-Rückrufe, Bitmap-Rendering, Metadaten, Verschlüsselung, Netzwerk-Bereichszugriff und native PFX-Signierung

Laufzeitabhängigkeiten

AnbieterBibliothekZweck
OpenSSL 3libcryptoAES CBC/GCM, Digests, PKCS12-Identitäten, CMS-Signaturen, Integrität und explizite Vertrauensankerketten
libcurllibcurl mit asynchronem DNSHTTP/HTTPS, begrenzter binärer Transport, Bereichszugriff und RFC-3161-Anfragen
CairolibcairoBitmap-Bildflächen, Pfade, Beschneidung, Glyphenkonturen und Bilder
FontconfiglibfontconfigEchte native Zuordnung von Schriftdateien, einschließlich expliziter Familiensubstitution
OpenJPEG 2libopenjp2JPEG-2000-Dekodierung und -Kodierung

Linux lädt die entsprechenden System-SONAMEs; macOS verwendet ARM64-Bibliotheken unter /opt/homebrew und das System-libcurl

Fehlende Bibliotheken, Symbole oder nicht unterstützte Operationen führen zu expliziten Fehlern; kein Windows-Gerätekontext-Ersatz wird verwendet

Signierung und Zeitstempel

Der standardmäßige PFX-Anbieter unterstützt echte RSA- und EC-Identitäten, detached CMS, CAdES und ältere angehängte SHA1-Profile; die Verifikation prüft die PDF-ByteRange-Bytes und die CMS-Signatur

Die Zertifikatskettenprüfung erfordert explizite Vertrauensanker; eingebettete Zertifikate gewähren kein Vertrauen, und Integrität allein bedeutet kein Vertrauen

ApplyPAdESSignatureTimeStamp verwendet den konfigurierten standardmäßigen nativen HTTP-Transport, um ein echtes RFC-3161-Token zu holen und anzuhängen; reservieren Sie ausreichend /Contents-Kapazität vor der ursprünglichen Signatur

Die Zeitstempelprüfung prüft das signierte Token, den Nachrichtenabdruck, die exklusive kritische timeStamping-EKU, den TSA-Namen, optionale erwartete Policy/Nonce und die vertrauenswürdige Zertifikatskette zum Zeitpunkt der Token-Erzeugung

Dokumentzeitstempel prüfen zusätzlich den tatsächlichen PDF-ByteRange-Abdruck; der Aufrufer kann den vorhandenen DocTimeStamp-Durchreich-Workflow verwenden und das Token liefern

Metadaten und Rendering

XMP verwendet ein echtes namensraumbewusstes DOM und bewahrt bei Bearbeitungen nicht zugehörige Eigenschaften

DTD-Deklarationen werden vom XML-Reader unabhängig von der Quellkodierung abgelehnt; Eingabe und dekodierte Zeichen sind begrenzt, und ein Streaming-Durchlauf begrenzt Tiefe und Knotenereignisse vor dem DOM-Aufbau

Das Rendern verwendet echten nativen Bitmap-Speicher und Cairo-Bildflächen; bandweises Rendern bewahrt Gerätekoordinaten und verwendet Schutzzeilen, damit Antialiasing an Grenzen konsistent bleibt

Das native Einbetten von Familienschriften löst eine echte Fontconfig-Datei auf und bettet ein vollständiges eigenständiges TrueType-Programm mit CIDFontType2, Identity-CIDToGIDMap, initialisierten Metriken und Unicode-Breiten ein; BMP-Text und portable OCR-Ebenen überleben Speichern und erneutes Laden des PDF

Der Einstiegspunkt lehnt nicht eingebettete Familienschriften, Sammlungen, CFF-Programme und reine Bitmap-Einbettungsrechte ab; eingeschränktes Einbetten erfordert die vorhandene explizite Rechte-Übersteuerung, und Schriften, die Subsetting verbieten, bleiben vollständige Programme

Grenzen

Erzeugen und Prüfen

python3 Tests/Native/run_native_tests.py --compiler /path/to/fpc --output /tmp/pdflib-native-tests

Übergeben Sie --config /path/to/fpc.cfg für eine explizite Compiler-Konfiguration; der Runner ändert keine globalen Compiler-Einstellungen und fügt kein -FcUTF8 hinzu

Die Suite prüft echte native Programmformate und schreibt einen JSON-Bericht mit Compiler- und Abhängigkeitsversionen, Quellhashes, Programmhashes, Ergebnissen und Grenzen

Die eingecheckten Tests/Native-Fixtures decken PDF-Speichern/-Laden/-Rendering, Text-Workflows, Verschlüsselung, Metadaten, Signaturen, echten HTTP/TSA-Verkehr und negative Sicherheitsfälle ab

Referenzindex