Native Linux en macOS

De native FPC-backend ondersteunt headless bibliotheekworkflows op Linux x64 en macOS ARM64 en produceert echte ELF- en Mach-O-programma's

Gebruik de bestaande TPDFlib-API voor het maken van PDF's, opslaan/laden, tekstextractie en -bewerking, gestructureerde extractie, portable OCR-callbacks, bitmaprendering, metadata, versleuteling, netwerkrange-toegang en native PFX-ondertekening

Runtime-afhankelijkheden

ProviderBibliotheekDoel
OpenSSL 3libcryptoAES CBC/GCM, digests, PKCS12-identiteiten, CMS-handtekeningen, integriteit en expliciete vertrouwensankerketens
libcurllibcurl met asynchrone DNSHTTP/HTTPS, begrensde binaire transporten, range-toegang en RFC 3161-verzoeken
CairolibcairoBitmap-afbeeldingssurfaces, paden, clipping, glyph-contours en afbeeldingen
FontconfiglibfontconfigEchte koppeling aan native lettertypebestanden, inclusief expliciete familievervanging
OpenJPEG 2libopenjp2JPEG 2000-decoding en -encoding

Linux laadt de bijbehorende systeem-SONAME's; macOS gebruikt ARM64-bibliotheken onder /opt/homebrew en de systeem-libcurl

Ontbrekende bibliotheken, symbolen of niet-ondersteunde bewerkingen leiden tot expliciete fouten; er wordt geen Windows-devicecontextvervanging gebruikt

Ondertekening en tijdstempels

De standaard PFX-provider ondersteunt echte RSA- en EC-identiteiten, detached CMS, CAdES en oudere attached SHA1-profielen; verificatie controleert de PDF ByteRange-bytes en de CMS-handtekening

Certificaatketenverificatie vereist expliciete vertrouwensankers; ingesloten certificaten verlenen geen vertrouwen, en integriteit alleen impliceert geen vertrouwen

ApplyPAdESSignatureTimeStamp gebruikt de geconfigureerde standaard native HTTP-transport om een echte RFC 3161-token op te halen en toe te voegen; reserveer voldoende /Contents-capaciteit vóór de oorspronkelijke handtekening

Tijdstempelverificatie controleert de ondertekende token, de message imprint, het exclusieve kritieke timeStamping-EKU, de TSA-naam, optionele verwachte policy/nonce en de vertrouwde certificaatketen op het moment van token-generatie

Document-tijdstempels verifiëren ook de echte PDF ByteRange-imprint; de aanroeper kan de bestaande DocTimeStamp-passthrough-workflow gebruiken en de token zelf aanleveren

Metadata en rendering

XMP gebruikt een echte naamruimtebewuste DOM en behoudt tijdens bewerkingen ongerelateerde eigenschappen

DTD-declaraties worden door de XML-lezer geweigerd, ongeacht de broncodering; invoer en gedecodeerde tekens zijn begrensd, en een streamingpas beperkt diepte en node-events vóór de DOM-constructie

Rendering gebruikt echte native bitmapopslag en Cairo image surfaces; bandgewijze rendering behoudt device-space-coördinaten en gebruikt guard-rijen om antialiasing op grenzen consistent te houden

Native familylettertype-insluiting zoekt een echt Fontconfig-bestand en sluit een compleet zelfstandig TrueType-programma in met CIDFontType2, Identity CIDToGIDMap, geïnitialiseerde metrics en Unicode-breedtes; BMP-tekst en portable OCR-lagen overleven PDF opslaan/opnieuw laden

De toegangspunt weigert niet-ingesloten familylettertypen, collecties, CFF-programma's en bitmap-only-insluitrechten; beperkte insluiting vereist de bestaande expliciete rechtenoverride, en lettertypen die subsetting verbieden blijven complete programma's

Limieten

Bouwen en verifiëren

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

Geef --config /path/to/fpc.cfg mee voor een expliciete compilerconfiguratie; de runner verandert geen globale compilerinstellingen en voegt geen -FcUTF8 toe

De suite controleert de echte native uitvoerbare formaten en schrijft een JSON-rapport met compiler-/afhankelijkheidsversies, bronhashes, executable-hashes, resultaten en limieten

De meegeleverde Tests/Native-fixtures dekken PDF opslaan/opnieuw laden/rendering, tekstworkflows, versleuteling, metadata, handtekeningen, echte HTTP/TSA-verkeer en negatieve beveiligingsgevallen af

Referentie-index