Tyto jednotky zpřístupňují vstřikovače pracující na úrovni proudů, validátory, podpisové operace a podpůrné záznamy, které využívají odpovídající metody TPdf pro pohodlnou práci
Použijte je, když už workflow vlastní zdrojový i cílový proud, nebo když potřebuje validační volby a detaily výsledků nezávislé na instanci TPdf
FPdfPdfCommon| Function | Purpose |
|---|---|
AnsiCountDictKeyTokens | Spočítá jeden dekódovaný token klíče názvu na nejvyšší úrovni surového slovníku PDF a přitom přeskakuje vnořené hodnoty, řetězce a komentáře |
TPdfParserResourceBudget | Definuje celoprocesové limity pro rekurzi, tokeny, objekty, dekódované bajty, poměr expanze, alokaci a deadline; Default vrací výchozí hodnoty knihovny |
ConfigurePdfParserResourceBudget | Validuje a atomicky nahradí politiku procesu používanou pozdějšími vlastními operacemi parseru |
GetPdfParserResourceBudget | Vrací snímek hodnot aktuální politiky procesu bezpečný z hlediska vláken |
ResetPdfParserResourceBudget | Obnoví výchozí politiku procesu |
PdfParserStartTick, PdfParserDeadlineReached | Poskytují kontrolní body deadlinu odolné vůči přetečení čítače pro vlastní implementace parseru |
FPdfAssocFilesprocedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);
| Public type | Purpose |
|---|---|
TPdfAFRelationship | Hodnoty AFRelationship podle ISO 32000-2: afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData a afTemplate, včetně doplňků přidaných v PDF 2.0 |
TAssociateFile | Jeden přidružený soubor s FileName, Description, payloadem Content, Relationship a volitelným MIMEType |
TAssocFilesOptions | Seznam přidružených souborů a cíl v katalogu nebo na stránce, s výchozími hodnotami z TAssocFilesOptions.Default |
FPdfPades| Function | Purpose |
|---|---|
InjectPadesDssMarkers | Přidává materiál DSS (certifikáty, OCSP, CRL a VRI) prostřednictvím inkrementální aktualizace |
RenewPadesArchiveTimestamp | Připojí dokumentové časové razítko a hlásí výslednou archivační úroveň a metadata časového razítka |
ValidatePadesCompliance, ValidatePadesTrust | Validují kardinalitu podpisových položek nejvyšší úrovně, přesné vyloučení tokenů ByteRange a Contents, kryptografickou integritu, důvěryhodnost, revokaci a důkazy časových razítek |
AnalyzePadesSignatureRevisions | Klasifikuje pozdější revize, změny objektů, účinky FieldMDP a rizika pozměnění |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | Sestaví ohraničené důkazy o více podpisech z proudu nebo z existujícího neměnného zachycení zdrojových bajtů |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | Prozkoumají parametry algoritmů CMS a certifikátu a vyhodnotí jejich bezpečnostní status z hlediska podpory |
VerifyCmsAlgorithmProtection | Kontroluje podepsaný atribut ochrany algoritmů CMS proti digestu podepisovatele a podpisovým algoritmům |
SignPadesBytes | Připojí lokální podpis PAdES s volitelným časovým razítkováním RFC 3161 |
PreparePadesRemoteSignature, CompletePadesRemoteSignature | Připraví a dokončí vázaný workflow vzdáleného podepisování s placeholderem pevné šířky |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | Uloží nebo obnoví metadata požadavku potřebná k dokončení vzdáleného podepisování |
| Area | Types |
|---|---|
| Úrovně a validace | 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 |
| Validace důvěry | TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply |
| Analýza revizí | 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 |
| Důkazní reporty | TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport |
| DSS a archivační časová razítka | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| Podepisování | TPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest |
TPadesValidationResult poskytuje archivační Level, množinu Issues, SourceStatus, IntegrityStatus a pole Signatures pro jednotlivé podpisy, spolu s IsCompliant, IsCompliantAt, IsCryptographicallyValid a DocTimeStampCount, které počítá slovníky Document Time-stamp; záznamy voleb poskytují statický inicializátor Default
TPadesSignatureAlgorithmInfo hlásí Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve a PolicyStatus; TPadesSignatureValidation přidává verdikty IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus a TimeStampRevocationStatus, dále NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256 a vnořené důkazy AlgorithmInfo a QualifiedTrust
TPadesTrustValidationStage prochází ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken a ptvsCompleted; TPadesTrustValidationProgress nese Stage, SignatureIndex, SignatureCount a Percent; TPadesTrustValidationOptions volí NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken a OnProgress; TPadesTrustValidationAsyncStatus je ptvasSuccess, ptvasCancelled nebo ptvasFailure a TPadesTrustValidationCompletion vrací asynchronní Status, Validation, ErrorMessage, ErrorClassName a CancellationReason
TPadesRevisionChangeKind klasifikuje prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject a prckUnknown; TPadesRevisionRisk zahrnuje prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound a prrResourceLimitExceeded
TPadesRevisionObjectChange hlásí RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative a IsRedefinition; TPadesSignatureRevisionAnalysis přidává SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks a Changes; TPadesRevisionAnalysisReport agreguje SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures a ErrorMessage
TPadesEvidenceMaterialKind volí pemkCertificate, pemkOcsp nebo pemkCrl; TPadesValidationMaterialEvidence hlásí Kind, ObjectNumber, StoredLength a Sha256 pro každý uložený proud; TPadesVriEvidence je klíčována přes Key a ObjectNumber a vyjmenovává CertificateObjectNumbers, OcspObjectNumbers a CrlObjectNumbers
TPadesSignatureEvidence zachycuje SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission a vnořené důkazy Validation a Revision
TPadesEvidenceReport agreguje SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials a VriEntries, ohraničené přes TPadesEvidenceReportOptions s TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes a MaxVriEntries
TPadesDssMaterial ukládá jeden certifikát, OCSP nebo CRL payload v DerBytes; TPadesDssVri vybírá materiál na úrovni dokumentu přes SignatureContents, CertIndexes, OcspIndexes a CrlIndexes; TPadesDssOptions přijímá Certs, Ocsps, Crls, Vris, EsicExtensionLevel a IncludeVri; TPadesArchiveTimestampOptions nese TsaUrl, Nonce, ContentsSize, UpdateDss a vnořené DssOptions; TPadesArchiveTimestampReport hlásí SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid a Nonce
TPadesSeedValueConstraint omezuje psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo nebo psvcDigestMethod; TPadesSignatureFieldOptions omezuje FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields a CertificationPermission; TPadesSignOptions nese CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, skupinu SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri a SignaturePolicyDocument a vnořené FieldOptions; TPadesRemoteSignOptions zrcadlí podmnožinu bezpečnou pro vzdálené použití: Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize a FieldOptions; TPadesRemoteSigningRequest váže FormatVersion, PreparedFingerprint a ContentsHexOffset
TPadesTrustValidationOptions.QualifiedValidationTime volí čas vyhodnocení service historie vůči trusted listům; nula vybere aktuální čas
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 | Zjištěná nebo požadovaná část a úroveň konformance PDF/A |
TPdfAValidationIssue, TPdfAValidationIssues | Jednotlivá preflight zjištění a jejich reprezentace množinou |
TPdfANameArray | Seznam řetězců používaný validačními zjištěními založenými na názvech |
TPdfAMetadataField, TPdfAMetadataFields | Osm mapování Info → XMP z Tabulky 1 ISO 19005-1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) a jejich reprezentace množinou |
TPdfAMetadataValues | Unicode hodnoty Info Title, Author, Subject, Keywords, Creator, Producer, CreationDate a ModDate, přičemž přítomnost klíče sleduje Present nezávisle na prázdném textu |
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReport | Typované důkazy rovnocennosti po jednotlivých polích se stavy pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate, poli Field, State, InfoValue a XmpValue pro každé pole, reportovými HasXmpPacket, XmpParseError, MismatchFields a polem Comparisons a agregovaným statusem |
TPdfAValidationResult | Konformance, množina Issues a výsledek IsCompliant |
TPdfASaveOptions | Metadata, identifikátory, ICC profil, output intent a nastavení konformance s výchozími hodnotami Default |
InjectPdfAMarkers používá řídké vyhledávání nejnovější revize a ohraničené kopírování zdroje pro platná rozložení classic, xref-stream, hybrid i object-stream, přičemž zachovává kompatibilní parser pro nepodporovaná nebo poškozená cross-reference data
Inkrementální revize zachovává generace root a Info, styl xref zdroje, identifikátory traileru, odmítání šifrování a sémantiku degradace na Level A
FPdfPdfeprocedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;
| Public type | Purpose |
|---|---|
TPdfEConformance | Zjištěná nebo požadovaná konformance PDF/E |
TPdfEValidationIssue, TPdfEValidationIssues | Strukturální a obsahová zjištění PDF/E, včetně top-level AcroForm /XFA a nepřímého /NeedAppearances true; běžná pole AcroForm a vložená inženýrská aktiva zůstávají povolena |
TPdfEValidationResult | Konformance, množina Issues a výsledek IsCompliant |
TPdfESaveOptions | Verze PDF/E, metadata, identifikátory dokumentu a výchozí hodnoty |
FPdfPdfr| Function | Purpose |
|---|---|
InjectPdfRMarkers | Zapisuje identifikaci PDF/R a omezené struktury katalogu a Info |
ValidatePdfRCompliance | Validuje proud s výchozími limity pro rastrové dokumenty |
ValidatePdfRComplianceWithOptions | Validuje proud s požadavky na rozlišení, geometrii, pás a šifrování zvolenými volajícím |
ValidatePdfRPageFacts | Validuje už sesbíranou geometrii stránek, počty objektů, vlastnosti obrázků a filtry |
Veřejné typy jsou TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, TPdfRValidationResult se svou množinou Issues a výsledkem IsCompliant, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts a TPdfRSaveOptions
TPdfRValidationOptions ladí MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip a RequireEncryptedPdf20Profile; TPdfRPageFacts zaznamenává PageNumber, MediaWidth, MediaHeight, hranice ImageLeft, ImageBottom, ImageRight a ImageTop, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount a ShadingObjectCount, rastrovou geometrii PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi a BitsPerPixel, plus ColorSpace a řetěz Filters pro každou stránku
FPdfPdfua| Function | Purpose |
|---|---|
InjectPdfUaMarkers | Přidává značky identifikace PDF/UA, jazyka, titulku, MarkInfo, viewer preference a XMP |
ValidatePdfUaCompliance | Validuje značky a strukturu PDF/UA-1 nebo PDF/UA-2, volitelně použije původní bajty pro kontroly XMP |
PdfUaIsStandardStructType | Testuje název typu struktury proti standardní sadě ISO, včetně číslovaných nadpisů |
PdfReadRoleMapPairs | Extrahuje klíče a hodnoty RoleMap, přímé i nepřímé, do paralelních polí |
Veřejné typy jsou TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, TPdfUaValidationResult se svou množinou Issues a výsledkem IsCompliant, TPdfUaSaveOptions a TPdfUaNameArray
Jednotka PDFium také vystavuje TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions a TPdfUaLanguageCoverageReport pro ohraničené důkazy o efektivním jazyce
TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions a TPdfUaUnicodeCoverageReport poskytují ohraničené důkazy o extrakci přímého Unicode a ActualText v rozsahu objektů
ValidatePdfUaPageContentTagging porovnává značky nativních page objectů s MCID struktur v rozsahu stránky a hlásí jak neoznačkovaný skutečný obsah, tak obsah Artifact vystavený ve stromu struktur
TPdfUaSaveOptions.Default volí výchozí hodnoty PDF/UA-1, zatímco TPdfUaSaveOptions.PdfUa2 volí profil PDF/UA-2
TPdfUaSaveOptions nese DocumentTitle, Language, metadata Author, Subject, Keywords, Creator a Producer, CreationDate a ModDate, UUID DocumentId a InstanceId, identifikátory Part, Revision, Amd a Corr a přepínače EnsureMarkInfo a EnsureDisplayDocTitle, které vstříknou požadované katalogové položky, když je zdroj nemá
FPdfPdfvtprocedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;
| Public type | Purpose |
|---|---|
TPdfVTConformance, TPdfVTTrappedState | Konformance PDF/VT a zděděný výběr trapped stavu z PDF/X mezi ptvUnspecified, ptvTrue a ptvFalse, přičemž ptvUnspecified se při zápisu normalizuje na ptvFalse |
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResult | Validační zjištění, množina Issues, konformance a výsledek IsCompliant |
TPdfDpmEntry, TPdfDpmEntries, TDpmTarget | Položky Document Part Metadata s Name, Value a IsNestedDict, umístěné na cíl dptRoot nebo dptLeaf |
TPdfVTDPartEvidence | Ohraničené důkazy o hierarchii částí dokumentu a tiskových podmínkách s PageCount, RecordLevel a RecipientRecordCount |
TPdfVTSaveOptions | Základ PDF/X, output intent, metadata, identifikátory, DPart, DPM přes DpmEntries umísťované podle DpmTarget a výchozí nastavení |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| Public type | Purpose |
|---|---|
TPdfXConformance, TPdfXTrappedState | Variant PDF/X a výběr trapped stavu Info slovníku mezi ptUnspecified, ptTrue, ptFalse a ptUnknown, přičemž ptUnspecified položku vynechá |
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResult | Validační zjištění, množina Issues, konformance a výsledek IsCompliant |
TPdfXSaveOptions | Konformance, ICC output intent, metadata, identifikátory, trapped stav a výchozí hodnoty |
Metody TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX a metody PAdES poskytují obálky nad instancí dokumentu kolem těchto jednotek