Te moduły udostępniają wstrzykiwacze i walidatory na poziomie strumieni, operacje podpisywania oraz rekordy pomocnicze używane przez odpowiednie wygodne metody TPdf
Używaj ich, gdy przepływ pracy już posiada strumienie źródłowe i docelowe albo potrzebuje opcji walidacji i szczegółów wyników niezależnych od instancji TPdf
FPdfPdfCommon| Function | Purpose |
|---|---|
AnsiCountDictKeyTokens | Zlicza jeden zdekodowany klucz nazwy na najwyższym poziomie surowego słownika PDF, pomijając zagnieżdżone wartości, łańcuchy i komentarze |
TPdfParserResourceBudget | Definiuje ogólnoprocesowe limity rekurencji, tokenów, obiektów, zdekodowanych bajtów, współczynnika ekspansji, alokacji i terminu; Default zwraca domyślne limity biblioteki |
ConfigurePdfParserResourceBudget | Waliduje i atomowo zastępuje politykę procesu używaną przez późniejsze własne operacje parsera |
GetPdfParserResourceBudget | Zwraca bezpieczną wątkowo migawkę wartości bieżącej polityki procesu |
ResetPdfParserResourceBudget | Przywraca domyślną politykę procesu |
PdfParserStartTick, PdfParserDeadlineReached | Dostarczają bezpieczne wobec zawinięcia punkty kontrolne terminu dla własnych implementacji parserów |
FPdfAssocFilesprocedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);
| Public type | Purpose |
|---|---|
TPdfAFRelationship | Wartości AFRelationship z ISO 32000-2: afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData i afTemplate, łącznie z dodatkami z PDF 2.0 |
TAssociateFile | Jeden plik towarzyszący z FileName, Description, ładunkiem Content, Relationship i opcjonalnym MIMEType |
TAssocFilesOptions | Lista Files plików towarzyszących oraz katalog albo strona TargetPage, z wartościami domyślnymi z TAssocFilesOptions.Default |
EPdfAssocFilesError | Zgłaszany przez InjectAssociateFiles, gdy źródło nie ma czytelnego trailer lub katalogu albo gdy TargetPage jest ujemny lub nie wskazuje żadnej strony w kolejności drzewa stron; strumień docelowy pozostaje niezmieniony |
FPdfPades| Function | Purpose |
|---|---|
InjectPadesDssMarkers | Dodaje materiał DSS: certyfikaty, OCSP, CRL i VRI przez aktualizację przyrostową |
RenewPadesArchiveTimestamp | Dopisuje znacznik czasu dokumentu i raportuje wynikowy poziom archiwum oraz metadane znacznika czasu |
ValidatePadesCompliance, ValidatePadesTrust | Walidują liczebność wpisów podpisów najwyższego poziomu, dokładne wykluczenie tokenu ByteRange i Contents, integralność kryptograficzną, zaufanie, unieważnienia i dowody znaczników czasu |
AnalyzePadesSignatureRevisions | Klasyfikuje późniejsze rewizje, zmiany obiektów, efekty FieldMDP i ryzyka modyfikacji |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | Budują ograniczone dowody wielu podpisów ze strumienia albo z istniejącego niemodyfikowalnego uchwytu bajtów źródłowych |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | Inspekcjonują parametry algorytmów CMS i certyfikatu oraz oceniają ich obsługiwany status bezpieczeństwa, stosując profil krzywych eliptycznych PDF 2.0 i zestawy podpisów RSA ETSI TS 119 312 |
VerifyCmsAlgorithmProtection | Sprawdza podpisany atrybut ochrony algorytmów CMS względem skrótu podpisującego i algorytmów podpisu |
SignPadesBytes | Dopisuje lokalny podpis PAdES z opcjonalnym znacznikiem czasu RFC 3161 |
PreparePadesRemoteSignature, CompletePadesRemoteSignature | Przygotowują i kończą związany, o stałej szerokości przepływ zdalnego podpisywania z placeholderem |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | Utrwalają albo przywracają metadane żądania wymagane do ukończenia zdalnego podpisywania |
| Area | Types |
|---|---|
| Poziomy i walidacja | TPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult |
| Kryptografia | TPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations |
| Walidacja zaufania | TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply |
| Analiza rewizji | 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 |
| Raporty dowodów | TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport |
| DSS i znaczniki czasu archiwum | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| Podpisywanie | TPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest |
TPadesValidationResult dostarcza archiwalny Level, zbiór Issues, SourceStatus, IntegrityStatus i per podpis tablicę Signatures, z IsCompliant, IsCompliantAt, IsCryptographicallyValid i liczącym słowniki Document Time-stamp DocTimeStampCount; rekordy opcji dostarczają statyczny inicjalizator Default
TPadesSignatureAlgorithmInfo raportuje Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve i PolicyStatus; TPadesSignatureValidation dodaje werdykty IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus i TimeStampRevocationStatus, a także NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 oraz zagnieżdżone dowody AlgorithmInfo i QualifiedTrust
TPadesTrustValidationStage przechodzi przez ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken i ptvsCompleted; TPadesTrustValidationProgress niesie Stage, SignatureIndex, SignatureCount i Percent; TPadesTrustValidationOptions wybiera NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken i OnProgress; TPadesTrustValidationAsyncStatus to ptvasSuccess, ptvasCancelled lub ptvasFailure, a TPadesTrustValidationCompletion zwraca asynchroniczny Status, Validation, ErrorMessage, ErrorClassName i CancellationReason
TPadesRevisionChangeKind klasyfikuje prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject i prckUnknown; TPadesRevisionRisk obejmuje prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound i prrResourceLimitExceeded
TPadesRevisionObjectChange raportuje RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative i IsRedefinition; TPadesSignatureRevisionAnalysis dodaje SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks i Changes; TPadesRevisionAnalysisReport agreguje SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures i ErrorMessage
TPadesEvidenceMaterialKind wybiera pemkCertificate, pemkOcsp lub pemkCrl; TPadesValidationMaterialEvidence raportuje Kind, ObjectNumber, StoredLength i Sha256 dla każdego zapisanego strumienia; TPadesVriEvidence jest kluczowany przez Key i ObjectNumber i wylicza CertificateObjectNumbers, OcspObjectNumbers oraz CrlObjectNumbers
TPadesSignatureEvidence przechwytuje SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission oraz zagnieżdżone Validation i Revision
TPadesEvidenceReport agreguje SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials i VriEntries, ograniczone przez TPadesEvidenceReportOptions z TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes i MaxVriEntries
TPadesDssMaterial przechowuje jeden ładunek DerBytes certyfikatu, OCSP albo CRL; TPadesDssVri wybiera materiał na poziomie dokumentu przez SignatureContents, CertIndexes, OcspIndexes i CrlIndexes; TPadesDssOptions przyjmuje Certs, Ocsps, Crls, Vris, EsicExtensionLevel i IncludeVri; TPadesArchiveTimestampOptions niesie TsaUrl, Nonce, ContentsSize, UpdateDss i zagnieżdżone DssOptions; TPadesArchiveTimestampReport raportuje SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid i Nonce
TPadesSeedValueConstraint ogranicza psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo lub psvcDigestMethod; TPadesSignatureFieldOptions ogranicza FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields i CertificationPermission; TPadesSignOptions niesie CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, grupę SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri i SignaturePolicyDocument oraz zagnieżdżone FieldOptions; TPadesRemoteSignOptions zwierciadli bezpieczny dla zdalnego podzbiór Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize i FieldOptions; TPadesRemoteSigningRequest wiąże FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset i ContentsSize
TPadesTrustValidationOptions.QualifiedValidationTime wybiera czas oceny historii usług z listy zaufanych, przy czym zero wybiera czas bieżący
TPadesSignatureValidation niesie też RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason i NativeTimeStampRevocationError: Cardinal. Diagnostyka podpisu pochodzi z jego odłączonego sprawdzenia CMS; diagnostyka znacznika czasu pochodzi ze sprawdzenia tokena dołączonego, łącznie z Document Time-stamps, i nigdy nie zastępuje diagnostyki podpisu
Powody domyślnie przyjmują pcrrNone, a natywne kody błędów zero, gdy unieważnienia są wyłączone albo odpowiadający przebieg CMS nie został osiągnięty. Te wartości domyślne nie dowodzą sukcesu; oglądaj RevocationStatus i TimeStampRevocationStatus. ValidatePadesTrustAsync zachowuje te pola w swoim wyniku końcowym, a TPadesSignatureEvidence.Validation zatrzymuje je dla TPadesEvidenceReport.ToJson i ToCsv
Pola diagnostyczne doszły na końcu publicznego rekordu TPadesSignatureValidation i zwiększyły jego rozmiar. Przebuduj aplikacje i pakiety wymieniające ten rekord lub rekordy go zawierające względem zaktualizowanych jednostek; wcześniej skompilowane binaria nie dzielą nowego układu rekordu
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;
| Public type | Purpose |
|---|---|
TPdfAConformance | Wykryty albo żądany part i poziom zgodności PDF/A |
TPdfAValidationIssue, TPdfAValidationIssues | Pojedyncze ustalenia preflight i ich reprezentacja zbioru |
TPdfANameArray | Lista łańcuchów używana przez ustalenia walidacji oparte na nazwach |
TPdfAMetadataField, TPdfAMetadataFields | Osiem mapowań Info-na-XMP z ISO 19005-1 Table 1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) i ich reprezentacja zbioru |
TPdfAMetadataValues | Unikodowe wartości Info Title, Author, Subject, Keywords, Creator, Producer, CreationDate i ModDate z obecnością klucza śledzoną przez Present niezależnie od pustego tekstu |
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReport | Typowane per pole dowody równoważności ze stanami pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, per pole Field, State, InfoValue i XmpValue, na poziomie raportu HasXmpPacket, XmpParseError, MismatchFields i tablicą Comparisons oraz zagregowanym statusem |
TPdfAValidationResult | Zgodność, zbiór Issues i wynik IsCompliant |
TPdfASaveOptions | Ustawienia metadanych, identyfikatorów, bajtów profilu ICC w IccProfileData, output intent i zgodności z wartościami Default |
InjectPdfAMarkers używa rzadkiego wyszukiwania najnowszej rewizji i ograniczonego kopiowania źródła dla poprawnych układów klasycznych, strumieni xref, hybrydowych i strumieni obiektów, zachowując parser kompatybilności dla nieobsługiwanych lub uszkodzonych danych odwołań krzyżowych
Rewizja przyrostowa zachowuje generacje korzenia i Info, styl źródłowego xref, identyfikatory trailera, zachowanie odmowy szyfrowania oraz semantykę degradacji do Level A
FPdfPdfeprocedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;
| Public type | Purpose |
|---|---|
TPdfEConformance | Wykryta albo żądana zgodność PDF/E |
TPdfEValidationIssue, TPdfEValidationIssues | Ustalenia strukturalne i treściowe PDF/E, w tym najwyższopoziomowy AcroForm /XFA i pośrednie /NeedAppearances true; zwykłe pola AcroForm i osadzone zasoby inżynieryjne pozostają dozwolone |
TPdfEValidationResult | Zgodność, zbiór Issues i wynik IsCompliant |
TPdfESaveOptions | PDF/E Version, metadane, identyfikatory dokumentu i wartości domyślne |
FPdfPdfr| Function | Purpose |
|---|---|
InjectPdfRMarkers | Zapisuje identyfikację PDF/R oraz ograniczone struktury katalogu i Info |
ValidatePdfRCompliance | Waliduje strumień z domyślnymi limitami dokumentów rastrowych |
ValidatePdfRComplianceWithOptions | Waliduje strumień z wybranymi przez wywołującego wymaganiami rozdzielczości, geometrii, pasów i szyfrowania |
ValidatePdfRPageFacts | Waliduje już zebrane geometrię stron, liczniki obiektów, cechy obrazów i filtry |
Typy publiczne to TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult ze zbiorem Issues i wynikiem IsCompliant, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts oraz TPdfRSaveOptions
TPdfRValidationOptions dostraja MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip i RequireEncryptedPdf20Profile; TPdfRSaveOptions niesie StripInfoOptionalEntries i StripCatalogOptionalEntries, aby usunąć wpisy Info lub katalogu źródła, które §6.4.3 albo biała lista §6.3 odrzuciłyby; TPdfRPageFacts odnotowuje PageNumber, MediaWidth, MediaHeight, granice ImageLeft, ImageBottom, ImageRight i ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount i ShadingObjectCount, geometrię rastrową PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi i BitsPerPixel, plus ColorSpace i łańcuch Filters dla każdej strony
FPdfPdfua| Function | Purpose |
|---|---|
InjectPdfUaMarkers | Dodaje znaczniki identyfikacji PDF/UA, języka, tytułu, MarkInfo, preferencji przeglądarki i XMP |
ValidatePdfUaCompliance | Waliduje znaczniki i strukturę PDF/UA-1 albo PDF/UA-2, opcjonalnie używając oryginalnych bajtów do kontroli XMP |
PdfUaIsStandardStructType | Sprawdza nazwę typu struktury względem zbioru standardowego ISO, łącznie z numerowanymi nagłówkami |
PdfReadRoleMapPairs | Wyodrębnia bezpośrednie lub pośrednie klucze i wartości RoleMap do równoległych tablic |
Typy publiczne to TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult ze zbiorem Issues i wynikiem IsCompliant, TPdfUaSaveOptions oraz TPdfUaNameArray
Moduł PDFium ujawnia także TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions i TPdfUaLanguageCoverageReport dla ograniczonych dowodów języka efektywnego
TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions i TPdfUaUnicodeCoverageReport dostarczają ograniczonych dowodów ekstrakcji bezpośredniego Unikodu i ActualText w zakresie obiektu
ValidatePdfUaPageContentTagging krzyżowo sprawdza natywne znaczniki obiektów stron względem stronicowych MCID struktury i raportuje zarówno nieoznaczoną rzeczywistą treść, jak i treść Artifact ujawnioną w drzewie struktury
TPdfUaSaveOptions.Default wybiera wartości domyślne PDF/UA-1, a TPdfUaSaveOptions.PdfUa2 wybiera profil PDF/UA-2
TPdfUaSaveOptions niesie DocumentTitle, Language, metadane Author, Subject, Keywords, Creator i Producer, CreationDate i ModDate, identyfikatory UUID DocumentId i InstanceId, identyfikatory Part, Revision, Amd i Corr oraz przełączniki EnsureMarkInfo i EnsureDisplayDocTitle, które wstrzykują wymagane wpisy katalogu, gdy źródło ich nie ma
FPdfPdfvtprocedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;
| Public type | Purpose |
|---|---|
TPdfVTConformance, TPdfVTTrappedState | Zgodność PDF/VT i odziedziczony wybór stanu trapped PDF/X wśród ptvUnspecified, ptvTrue i ptvFalse, przy czym ptvUnspecified jest normalizowane do ptvFalse przy zapisie |
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResult | Ustalenia walidacji, zbiór Issues, zgodność i wynik IsCompliant |
TPdfDpmEntry, TPdfDpmEntries, TDpmTarget | Wpisy Document Part Metadata z Name, Value i IsNestedDict, umieszczane w celu dptRoot albo dptLeaf |
TPdfVTDPartEvidence | Ograniczona hierarchia części dokumentu i dowody warunków drukowania z PageCount, RecordLevel i RecipientRecordCount |
TPdfVTSaveOptions | Baza PDF/X, bajty profilu ICC w IccProfileData, output intent przez OutputCondition, OutputConditionIdentifier, RegistryName i OutputIntentInfo, stan Trapped, metadane, identyfikatory, DPart, DPM przez DpmEntries umieszczane według DpmTarget oraz ustawienia domyślne |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| Public type | Purpose |
|---|---|
TPdfXConformance, TPdfXTrappedState | Wariant PDF/X i wybór stanu trapped słownika Info wśród ptUnspecified, ptTrue, ptFalse i ptUnknown, przy czym ptUnspecified pomija wpis |
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResult | Ustalenia walidacji, zbiór Issues, zgodność i wynik IsCompliant |
TPdfXSaveOptions | Zgodność, bajty profilu ICC w IccProfileData, output intent przez OutputCondition, OutputConditionIdentifier, RegistryName i OutputIntentInfo, stan Trapped, metadane, identyfikatory i wartości domyślne |
TPadesRsaPssParameters udostępnia Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength i TrailerField; TPadesSignatureAlgorithmInfo.SignaturePss i PublicKeyPss raportują ograniczenia CMS i SPKI niezależnie
InspectPadesSignatureAlgorithm wymaga parametrów PSS CMS, akceptuje puste SEQUENCE z wartościami domyślnymi RFC i odrzuca uszkodzony DER, zduplikowane lub nieuporządkowane jawne pola, nieobsługiwane kodowania liczb całkowitych i zbyt duże bloki parametrów
EvaluatePadesSignatureAlgorithm wymaga, aby skrót CMS pasował do hasha PSS; klucz tylko PSS odrzuca PKCS #1 v1.5, a klucze ograniczone wymagają zgodnego hasha, hasha MGF i trailera z solą podpisu co najmniej równą minimum klucza
Inny obsługiwany hash MGF1 może być poprawny; nieznane algorytmy są Unsupported, słabe hashe MGF są Indeterminate, a złamane hashe są Invalid
Bloki parametrów są ograniczone do 16 KiB, a wartości soli i trailera to nieujemne 32-bitowe liczby całkowite; ta strukturalna polityka uzupełnia zaplecze kryptograficzne i nie dowodzi siły klucza RSA ani poprawności podpisu EMSA-PSS
Konstruując dowody algorytmu ręcznie, wypełnij SignaturePss i SignatureParametersPresent, zamiast dostarczać tylko OID PSS
Metody TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX i metody PAdES dostarczają otoczek na poziomie instancji dokumentu wokół tych modułów