PDFium Delphi Component Docs

PDF-Standards-Hilfsunits

Diese Units stellen die Stromebenen-Injektoren, Validatoren, Signieroperationen und Unterstützungs-Records bereit, die die entsprechenden TPdf-Komfortmethoden verwenden

Verwenden Sie sie, wenn ein Workflow bereits Quell- und Ziel-Streams besitzt oder Validierungsoptionen und Ergebnisdetails benötigt, die unabhängig von einer TPdf-Instanz sind

FPdfPdfCommon

FunktionZweck
AnsiCountDictKeyTokensZählt einen dekodierten Namensschlüssel auf oberster Ebene eines rohen PDF-Wörterbuchs, wobei verschachtelte Werte, Strings und Kommentare übersprungen werden
TPdfParserResourceBudgetDefiniert prozessweite Grenzen für Rekursion, Tokens, Objekte, dekodierte Bytes, Erweiterungsrate, Allokationen und Fristen; Default gibt die Bibliotheks-Standardwerte zurück
ConfigurePdfParserResourceBudgetValidiert und ersetzt atomar die Prozessrichtlinie, die spätere eigene Parseroperationen verwenden
GetPdfParserResourceBudgetGibt einen thread-sicheren Wertschnappschuss der aktuellen Prozessrichtlinie zurück
ResetPdfParserResourceBudgetStellt die Standardprozessrichtlinie wieder her
PdfParserStartTick, PdfParserDeadlineReachedStellen überlaufsichere Frist-Kontrollpunkte für eigene Parserimplementierungen bereit

FPdfAssocFiles

procedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);

Öffentlicher TypZweck
TPdfAFRelationshipISO 32000-2 AFRelationship-Werte afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData und afTemplate, einschließlich der PDF 2.0 Ergänzungen
TAssociateFileEinzelne zugeordnete Datei mit FileName, Description, Nutzdaten-Content, Relationship und optionalem MIMEType
TAssocFilesOptionsListe zugeordneter Dateien in Files und Katalog- oder Seitenziel TargetPage, mit Standardwerten aus TAssocFilesOptions.Default
EPdfAssocFilesErrorWird von InjectAssociateFiles ausgelöst, wenn die Quelle keinen lesbaren Trailer oder Katalog hat oder TargetPage negativ ist oder keine Seite in Seitenbaumreihenfolge benennt; der Zielstream bleibt unverändert

FPdfPades

FunktionZweck
InjectPadesDssMarkersErgänzt DSS-Zertifikats-, OCSP-, CRL- und VRI-Material durch eine inkrementelle Aktualisierung
RenewPadesArchiveTimestampHängt einen Dokumentzeitstempel an und meldet das resultierende Archivniveau sowie Zeitstempel-Metadaten
ValidatePadesCompliance, ValidatePadesTrustValidieren die Kardinalität der Signiereinträge auf oberster Ebene, exakte ByteRange- und Contents-Token-Ausklammerung, kryptografische Integrität, Vertrauen, Sperrung und Zeitstempelbelege
AnalyzePadesSignatureRevisionsKlassifiziert spätere Revisionen, Objektänderungen, FieldMDP-Wirkungen und Änderungsrisiken
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesBauen begrenzte Mehrfachsignatur-Belege aus einem Stream oder einer bestehenden unveränderlichen Quellbyte-Erfassung auf
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmUntersuchen CMS- und Zertifikats-Algorithmusparameter und bewerten deren unterstützten Sicherheitsstatus, wobei das elliptische-Kurven-Profil von PDF 2.0 und die RSA-Signatur-Suites aus ETSI TS 119 312 angewandt werden
VerifyCmsAlgorithmProtectionPrüft das signierte CMS-Algorithmusschutz-Attribut gegen die Signer-Digest- und Signaturalgorithmen
SignPadesBytesHängt eine lokale PAdES-Signatur mit optionalem RFC 3161 Zeitstempel an
PreparePadesRemoteSignature, CompletePadesRemoteSignatureBereiten einen gebundenen Remote-Signier-Platzhalter-Workflow mit fester Breite vor und schließen ihn ab
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestPersistieren oder stellen die Anforderungs-Metadaten wieder her, die zum Abschließen des Remote-Signierens erforderlich sind

Öffentliche PAdES-Typen

BereichTypen
Niveaus und ValidierungTPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult
KryptografieTPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations
VertrauensvalidierungTPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply
RevisionsanalyseTPadesRevisionAnalysisStatus (prasNotChecked, prasNoLaterChanges, prasAllowed, prasDisallowed, prasSuspicious, prasIndeterminate), TPadesRevisionDecision (prdAllowed, prdDisallowed, prdSuspicious, prdIndeterminate), TPadesFieldMdpAction (pfmaNone, pfmaAll, pfmaInclude, pfmaExclude, pfmaUnknown), TPadesRevisionChangeKind, TPadesRevisionRisk, TPadesRevisionRisks, TPadesFieldNames, TPadesRevisionObjectChange, TPadesRevisionObjectChanges, TPadesSignatureRevisionAnalysis, TPadesSignatureRevisionAnalyses, TPadesRevisionAnalysisReport
BelegberichteTPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS und ArchivzeitstempelTPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport
SignierenTPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest

TPadesValidationResult stellt das Archiv-Level, die Issues-Menge, SourceStatus, IntegrityStatus und das Signatur-Signatures-Array je Signatur bereit, mit IsCompliant, IsCompliantAt, IsCryptographicallyValid und DocTimeStampCount, die Document-Time-stamp-Wörterbücher zählt; Options-Records stellen einen statischen Default-Initialisierer bereit

TPadesSignatureAlgorithmInfo meldet Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve und PolicyStatus; TPadesSignatureValidation ergänzt die Urteile IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus und TimeStampRevocationStatus sowie NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 und die verschachtelten Belege AlgorithmInfo und QualifiedTrust

TPadesTrustValidationStage durchläuft ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken und ptvsCompleted; TPadesTrustValidationProgress trägt Stage, SignatureIndex, SignatureCount und Percent; TPadesTrustValidationOptions wählt NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken und OnProgress; TPadesTrustValidationAsyncStatus ist ptvasSuccess, ptvasCancelled oder ptvasFailure, und TPadesTrustValidationCompletion gibt den asynchronen Status, Validation, ErrorMessage, ErrorClassName und CancellationReason zurück

TPadesRevisionChangeKind klassifiziert prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject und prckUnknown; TPadesRevisionRisk umfasst prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound und prrResourceLimitExceeded

TPadesRevisionObjectChange meldet RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative und IsRedefinition; TPadesSignatureRevisionAnalysis ergänzt SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks und Changes; TPadesRevisionAnalysisReport aggregiert SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures und ErrorMessage

TPadesEvidenceMaterialKind wählt pemkCertificate, pemkOcsp oder pemkCrl; TPadesValidationMaterialEvidence meldet Kind, ObjectNumber, StoredLength und Sha256 für jeden gespeicherten Stream; TPadesVriEvidence ist über Key und ObjectNumber schlüsselgebunden und listet CertificateObjectNumbers, OcspObjectNumbers und CrlObjectNumbers auf

TPadesSignatureEvidence erfasst SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission sowie die verschachtelten Validation und Revision

TPadesEvidenceReport aggregiert SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials und VriEntries, begrenzt durch TPadesEvidenceReportOptions mit TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes und MaxVriEntries

TPadesDssMaterial speichert eine DerBytes-Zertifikats-, OCSP- oder CRL-Nutzlast; TPadesDssVri wählt Material auf Dokumentebene über SignatureContents, CertIndexes, OcspIndexes und CrlIndexes; TPadesDssOptions akzeptiert Certs, Ocsps, Crls, Vris, EsicExtensionLevel und IncludeVri; TPadesArchiveTimestampOptions trägt TsaUrl, Nonce, ContentsSize, UpdateDss und die verschachtelten DssOptions; TPadesArchiveTimestampReport meldet SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid und Nonce

TPadesSeedValueConstraint beschränkt psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo oder psvcDigestMethod; TPadesSignatureFieldOptions beschränkt FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields und CertificationPermission; TPadesSignOptions trägt CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, die Gruppe aus SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri und SignaturePolicyDocument sowie verschachtelte FieldOptions; TPadesRemoteSignOptions spiegelt die remote-sichere Teilmenge Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize und FieldOptions; TPadesRemoteSigningRequest bindet FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset und ContentsSize

TPadesTrustValidationOptions.QualifiedValidationTime wählt den Bewertungszeitpunkt des Trusted-List-Serviceverlaufs, wobei null die aktuelle Zeit wählt

TPadesSignatureValidation trägt zusätzlich RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason und NativeTimeStampRevocationError: Cardinal. Die Signaturdiagnose stammt aus seiner Detached-CMS-Prüfung; die Zeitstempel-Diagnose aus der Prüfung des angehängten Tokens, einschließlich Document Time-stamps, und ersetzt niemals die Signaturdiagnose

Gründe stehen standardmäßig auf pcrrNone und native Fehler auf null, wenn die Sperrprüfung deaktiviert ist oder die entsprechende CMS-Prüfung nicht erreicht wird. Diese Defaults belegen keinen Erfolg; sehen Sie sich RevocationStatus und TimeStampRevocationStatus an. ValidatePadesTrustAsync führt diese Felder in seinem Completion-Ergebnis weiter, und TPadesSignatureEvidence.Validation bewahrt sie für TPadesEvidenceReport.ToJson und ToCsv

Die Diagnosefelder hängen am öffentlichen TPadesSignatureValidation-Record und vergrößern ihn. Bauen Sie Anwendungen und Pakete neu, die diesen Record oder umschließende Records gegen die aktualisierten Units austauschen; früher kompilierte Binaries teilen nicht das neue Record-Layout

FPdfPdfa

procedure InjectPdfAMarkers(Source: TStream; Dest: TStream; const Options: TPdfASaveOptions);
function ValidatePdfACompliance(Source: TStream): TPdfAValidationResult;
function ReadPdfAInfoFieldPresence(const PdfData: TBytes): TPdfAMetadataFields;
function ComparePdfAInfoAndXmp(const Info: TPdfAMetadataValues; Packet: TPdfXmpPacket): TPdfAMetadataReport;
function SynchronizePdfAInfoToXmp(const Info: TPdfAMetadataValues; Packet: TPdfXmpPacket): TPdfAMetadataFields;

Öffentlicher TypZweck
TPdfAConformanceErkanntes oder angefordertes PDF/A-Part und Konformitätsniveau
TPdfAValidationIssue, TPdfAValidationIssuesEinzelne Preflight-Befunde und ihre Mengendarstellung
TPdfANameArrayString-Liste für namensbasierte Validierungsbefunde
TPdfAMetadataField, TPdfAMetadataFieldsDie acht Info-zu-XMP-Zuordnungen aus ISO 19005-1 Tabelle 1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) und ihre Mengendarstellung
TPdfAMetadataValuesUnicode-Info-Werte Title, Author, Subject, Keywords, Creator, Producer, CreationDate und ModDate, wobei die Schlüsselpräsenz über Present unabhängig vom leeren Text verfolgt wird
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReportTypisierte Feld-für-Feld-Äquivalenzbelege mit Zuständen pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, je Feld Field, State, InfoValue und XmpValue, berichtsweit HasXmpPacket, XmpParseError, MismatchFields und dem Comparisons-Array sowie Gesamtstatus
TPdfAValidationResultKonformität, die Issues-Menge und das IsCompliant-Ergebnis
TPdfASaveOptionsMetadaten, Bezeichner, ICC-Profil-Bytes in IccProfileData, OutputIntent und Konformitätseinstellungen mit Default-Werten

InjectPdfAMarkers verwendet sparsame Suche der neuesten Revision und begrenztes Kopieren der Quelle für gültige klassische, xref-stream-, hybrid- und object-stream-Layouts und behält den Kompatibilitätsparser für nicht unterstützte oder fehlerhafte Querverweisdaten bei

Die inkrementelle Revision bewahrt Wurzel- und Info-Generationen, den xref-Stil der Quelle, Trailer-Bezeichner, das Verweigernsverhalten bei Verschlüsselung und die Level-A-Abstufungs-Semantik

FPdfPdfe

procedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;

Öffentlicher TypZweck
TPdfEConformanceErkannte oder angeforderte PDF/E-Konformität
TPdfEValidationIssue, TPdfEValidationIssuesPDF/E-Struktur- und Inhaltsbefunde, einschließlich AcroForm-/XFA auf oberster Ebene und indirektem /NeedAppearances true; gewöhnliche AcroForm-Felder und eingebettete Engineering-Assets bleiben zulässig
TPdfEValidationResultKonformität, die Issues-Menge und das IsCompliant-Ergebnis
TPdfESaveOptionsPDF/E-Version, Metadaten, Dokumentbezeichner und Standardwerte

FPdfPdfr

FunktionZweck
InjectPdfRMarkersSchreibt PDF/R-Identifikation sowie eingeschränkte Katalog- und Info-Strukturen
ValidatePdfRComplianceValidiert einen Stream mit den Standard-Rasterdokument-Grenzen
ValidatePdfRComplianceWithOptionsValidiert einen Stream mit vom Aufrufer gewählten Anforderungen zu Auflösung, Geometrie, Strip und Verschlüsselung
ValidatePdfRPageFactsValidiert bereits gesammelte Seitengeometrie, Objektzahlen, Bildeigenschaften und Filter

Öffentliche Typen sind TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult mit seiner Issues-Menge und seinem IsCompliant-Ergebnis, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts und TPdfRSaveOptions

TPdfRValidationOptions stimmt MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip und RequireEncryptedPdf20Profile ab; TPdfRSaveOptions trägt StripInfoOptionalEntries und StripCatalogOptionalEntries, um Quell-Info- oder Katalogeinträge zu löschen, die §6.4.3 oder die Weißliste aus §6.3 sonst ablehnen würden; TPdfRPageFacts zeichnet PageNumber, MediaWidth, MediaHeight, die Grenzen ImageLeft, ImageBottom, ImageRight und ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount und ShadingObjectCount, die Rastergeometrie PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi und BitsPerPixel sowie ColorSpace und die Filters-Kette je Seite auf

FPdfPdfua

FunktionZweck
InjectPdfUaMarkersErgänzt PDF/UA-Identifikation, Sprache, Titel, MarkInfo, Viewer-Preference- und XMP-Marker
ValidatePdfUaComplianceValidiert PDF/UA-1- oder PDF/UA-2-Marker und -Struktur, optional unter Verwendung der Originalbytes für XMP-Prüfungen
PdfUaIsStandardStructTypePrüft einen Strukturtypnamen gegen die ISO-Standardmenge, einschließlich nummerierter Überschriften
PdfReadRoleMapPairsExtrahiert direkte oder indirekte RoleMap-Schlüssel und -Werte in parallele Arrays

Öffentliche Typen sind TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult mit seiner Issues-Menge und seinem IsCompliant-Ergebnis, TPdfUaSaveOptions und TPdfUaNameArray

Die PDFium-Unit legt zudem TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions und TPdfUaLanguageCoverageReport für begrenzte Belege effektiver Sprachen offen

TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions und TPdfUaUnicodeCoverageReport stellen begrenzte objektbezogene Belege für direkte Unicode- und ActualText-Extraktion bereit

ValidatePdfUaPageContentTagging gleicht native Seitenobjekt-Markierungen gegen seitenspezifische Struktur-MCIDs ab und meldet sowohl ungetaggte echte Inhalte als auch Artifact-Inhalte, die im Strukturbaum offengelegt werden

TPdfUaSaveOptions.Default wählt die PDF/UA-1-Standardwerte, während TPdfUaSaveOptions.PdfUa2 das PDF/UA-2-Profil wählt

TPdfUaSaveOptions trägt DocumentTitle, Language, die Metadaten Author, Subject, Keywords, Creator und Producer, CreationDate und ModDate, die UUIDs DocumentId und InstanceId, die Bezeichner Part, Revision, Amd und Corr sowie die Schalter EnsureMarkInfo und EnsureDisplayDocTitle, um die erforderlichen Katalogeinträge zu injizieren, wenn die Quelle sie nicht enthält

FPdfPdfvt

procedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;

Öffentlicher TypZweck
TPdfVTConformance, TPdfVTTrappedStatePDF/VT-Konformität und geerbte PDF/X-Trapped-State-Auswahl über ptvUnspecified, ptvTrue und ptvFalse, wobei ptvUnspecified beim Schreiben auf ptvFalse normalisiert wird
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResultValidierungsbefunde, die Issues-Menge, Konformität und das IsCompliant-Ergebnis
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetDocument Part Metadata-Einträge mit Name, Value und IsNestedDict, platziert am Ziel dptRoot oder dptLeaf
TPdfVTDPartEvidenceBegrenzte Dokumentteil-Hierarchie- und Druckbedingungs-Belege mit PageCount, RecordLevel und RecipientRecordCount
TPdfVTSaveOptionsPDF/X-Basis, ICC-Profil-Bytes in IccProfileData, OutputIntent über OutputCondition, OutputConditionIdentifier, RegistryName und OutputIntentInfo, Trapped-State, Metadaten, Bezeichner, DPart, DPM über DpmEntries, platziert durch DpmTarget, sowie Standardeinstellungen

FPdfPdfx

procedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;

Öffentlicher TypZweck
TPdfXConformance, TPdfXTrappedStatePDF/X-Variante und Info-Wörterbuch-Trapped-State-Auswahl über ptUnspecified, ptTrue, ptFalse und ptUnknown, wobei ptUnspecified den Eintrag weglässt
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResultValidierungsbefunde, die Issues-Menge, Konformität und das IsCompliant-Ergebnis
TPdfXSaveOptionsKonformität, ICC-Profil-Bytes in IccProfileData, OutputIntent über OutputCondition, OutputConditionIdentifier, RegistryName und OutputIntentInfo, Trapped-State, Metadaten, Bezeichner und Standardwerte

RSA-PSS-Parameterregeln

TPadesRsaPssParameters stellt Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength und TrailerField bereit; TPadesSignatureAlgorithmInfo.SignaturePss und PublicKeyPss melden CMS- und SPKI-Einschränkungen separat

InspectPadesSignatureAlgorithm verlangt CMS-PSS-Parameter, akzeptiert leere SEQUENCE mit RFC-Standards und lehnt fehlerhaftes DER, doppelte oder ungeordnete explizite Felder, nicht unterstützte Ganzzahlcodierungen und übergroße Blöcke ab

EvaluatePadesSignatureAlgorithm verlangt Übereinstimmung von CMS-Digest und PSS-Hash; reine PSS-Schlüssel lehnen PKCS #1 v1.5 ab; eingeschränkte Schlüssel verlangen passende Hash-, MGF-Hash- und Trailerwerte sowie Signatursalz mindestens in Schlüsselmindestlänge

Ein anderer unterstützter MGF1-Hash kann gültig sein; unbekannte Algorithmen sind Unsupported, schwache MGF-Hashes Indeterminate und gebrochene Hashes Invalid

Parameterblöcke sind auf 16 KiB begrenzt, Salz/Trailer sind nicht negative 32-Bit-Ganzzahlen; diese Strukturprüfung ergänzt den Cryptobackend, beweist aber weder RSA-Schlüsselstärke noch EMSA-PSS-Signaturgültigkeit

Bei manuell konstruierten Algorithmusnachweisen befüllen Sie SignaturePss und SignatureParametersPresent statt nur der PSS-OID

Verwandte API

Die Methoden TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX und die PAdES-Methoden stellen Dokumentinstanz-Wrapper um diese Units bereit