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| Funktion | Zweck |
|---|---|
AnsiCountDictKeyTokens | Zählt einen dekodierten Namensschlüssel auf oberster Ebene eines rohen PDF-Wörterbuchs, wobei verschachtelte Werte, Strings und Kommentare übersprungen werden |
TPdfParserResourceBudget | Definiert prozessweite Grenzen für Rekursion, Tokens, Objekte, dekodierte Bytes, Erweiterungsrate, Allokationen und Fristen; Default gibt die Bibliotheks-Standardwerte zurück |
ConfigurePdfParserResourceBudget | Validiert und ersetzt atomar die Prozessrichtlinie, die spätere eigene Parseroperationen verwenden |
GetPdfParserResourceBudget | Gibt einen thread-sicheren Wertschnappschuss der aktuellen Prozessrichtlinie zurück |
ResetPdfParserResourceBudget | Stellt die Standardprozessrichtlinie wieder her |
PdfParserStartTick, PdfParserDeadlineReached | Stellen überlaufsichere Frist-Kontrollpunkte für eigene Parserimplementierungen bereit |
FPdfAssocFilesprocedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);
| Öffentlicher Typ | Zweck |
|---|---|
TPdfAFRelationship | ISO 32000-2 AFRelationship-Werte afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData und afTemplate, einschließlich der PDF 2.0 Ergänzungen |
TAssociateFile | Einzelne zugeordnete Datei mit FileName, Description, Nutzdaten-Content, Relationship und optionalem MIMEType |
TAssocFilesOptions | Liste zugeordneter Dateien in Files und Katalog- oder Seitenziel TargetPage, mit Standardwerten aus TAssocFilesOptions.Default |
EPdfAssocFilesError | Wird 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| Funktion | Zweck |
|---|---|
InjectPadesDssMarkers | Ergänzt DSS-Zertifikats-, OCSP-, CRL- und VRI-Material durch eine inkrementelle Aktualisierung |
RenewPadesArchiveTimestamp | Hängt einen Dokumentzeitstempel an und meldet das resultierende Archivniveau sowie Zeitstempel-Metadaten |
ValidatePadesCompliance, ValidatePadesTrust | Validieren die Kardinalität der Signiereinträge auf oberster Ebene, exakte ByteRange- und Contents-Token-Ausklammerung, kryptografische Integrität, Vertrauen, Sperrung und Zeitstempelbelege |
AnalyzePadesSignatureRevisions | Klassifiziert spätere Revisionen, Objektänderungen, FieldMDP-Wirkungen und Änderungsrisiken |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | Bauen begrenzte Mehrfachsignatur-Belege aus einem Stream oder einer bestehenden unveränderlichen Quellbyte-Erfassung auf |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | Untersuchen 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 |
VerifyCmsAlgorithmProtection | Prüft das signierte CMS-Algorithmusschutz-Attribut gegen die Signer-Digest- und Signaturalgorithmen |
SignPadesBytes | Hängt eine lokale PAdES-Signatur mit optionalem RFC 3161 Zeitstempel an |
PreparePadesRemoteSignature, CompletePadesRemoteSignature | Bereiten einen gebundenen Remote-Signier-Platzhalter-Workflow mit fester Breite vor und schließen ihn ab |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | Persistieren oder stellen die Anforderungs-Metadaten wieder her, die zum Abschließen des Remote-Signierens erforderlich sind |
| Bereich | Typen |
|---|---|
| Niveaus und Validierung | TPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult |
| Kryptografie | TPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations |
| Vertrauensvalidierung | TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply |
| Revisionsanalyse | TPadesRevisionAnalysisStatus (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 |
| Belegberichte | TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport |
| DSS und Archivzeitstempel | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| Signieren | TPadesSeedValueConstraint, 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
FPdfPdfaprocedure 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 Typ | Zweck |
|---|---|
TPdfAConformance | Erkanntes oder angefordertes PDF/A-Part und Konformitätsniveau |
TPdfAValidationIssue, TPdfAValidationIssues | Einzelne Preflight-Befunde und ihre Mengendarstellung |
TPdfANameArray | String-Liste für namensbasierte Validierungsbefunde |
TPdfAMetadataField, TPdfAMetadataFields | Die acht Info-zu-XMP-Zuordnungen aus ISO 19005-1 Tabelle 1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) und ihre Mengendarstellung |
TPdfAMetadataValues | Unicode-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, TPdfAMetadataReport | Typisierte 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 |
TPdfAValidationResult | Konformität, die Issues-Menge und das IsCompliant-Ergebnis |
TPdfASaveOptions | Metadaten, 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
FPdfPdfeprocedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;
| Öffentlicher Typ | Zweck |
|---|---|
TPdfEConformance | Erkannte oder angeforderte PDF/E-Konformität |
TPdfEValidationIssue, TPdfEValidationIssues | PDF/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 |
TPdfEValidationResult | Konformität, die Issues-Menge und das IsCompliant-Ergebnis |
TPdfESaveOptions | PDF/E-Version, Metadaten, Dokumentbezeichner und Standardwerte |
FPdfPdfr| Funktion | Zweck |
|---|---|
InjectPdfRMarkers | Schreibt PDF/R-Identifikation sowie eingeschränkte Katalog- und Info-Strukturen |
ValidatePdfRCompliance | Validiert einen Stream mit den Standard-Rasterdokument-Grenzen |
ValidatePdfRComplianceWithOptions | Validiert einen Stream mit vom Aufrufer gewählten Anforderungen zu Auflösung, Geometrie, Strip und Verschlüsselung |
ValidatePdfRPageFacts | Validiert 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| Funktion | Zweck |
|---|---|
InjectPdfUaMarkers | Ergänzt PDF/UA-Identifikation, Sprache, Titel, MarkInfo, Viewer-Preference- und XMP-Marker |
ValidatePdfUaCompliance | Validiert PDF/UA-1- oder PDF/UA-2-Marker und -Struktur, optional unter Verwendung der Originalbytes für XMP-Prüfungen |
PdfUaIsStandardStructType | Prüft einen Strukturtypnamen gegen die ISO-Standardmenge, einschließlich nummerierter Überschriften |
PdfReadRoleMapPairs | Extrahiert 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
FPdfPdfvtprocedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;
| Öffentlicher Typ | Zweck |
|---|---|
TPdfVTConformance, TPdfVTTrappedState | PDF/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, TPdfVTValidationResult | Validierungsbefunde, die Issues-Menge, Konformität und das IsCompliant-Ergebnis |
TPdfDpmEntry, TPdfDpmEntries, TDpmTarget | Document Part Metadata-Einträge mit Name, Value und IsNestedDict, platziert am Ziel dptRoot oder dptLeaf |
TPdfVTDPartEvidence | Begrenzte Dokumentteil-Hierarchie- und Druckbedingungs-Belege mit PageCount, RecordLevel und RecipientRecordCount |
TPdfVTSaveOptions | PDF/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 |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| Öffentlicher Typ | Zweck |
|---|---|
TPdfXConformance, TPdfXTrappedState | PDF/X-Variante und Info-Wörterbuch-Trapped-State-Auswahl über ptUnspecified, ptTrue, ptFalse und ptUnknown, wobei ptUnspecified den Eintrag weglässt |
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResult | Validierungsbefunde, die Issues-Menge, Konformität und das IsCompliant-Ergebnis |
TPdfXSaveOptions | Konformität, ICC-Profil-Bytes in IccProfileData, OutputIntent über OutputCondition, OutputConditionIdentifier, RegistryName und OutputIntentInfo, Trapped-State, Metadaten, Bezeichner und Standardwerte |
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
Die Methoden TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX und die PAdES-Methoden stellen Dokumentinstanz-Wrapper um diese Units bereit