PDFium Delphi Component Docs

Pomocné jednotky standardů PDF

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

FunctionPurpose
AnsiCountDictKeyTokensSpočí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
TPdfParserResourceBudgetDefinuje celoprocesové limity pro rekurzi, tokeny, objekty, dekódované bajty, poměr expanze, alokaci a deadline; Default vrací výchozí hodnoty knihovny
ConfigurePdfParserResourceBudgetValiduje a atomicky nahradí politiku procesu používanou pozdějšími vlastními operacemi parseru
GetPdfParserResourceBudgetVrací snímek hodnot aktuální politiky procesu bezpečný z hlediska vláken
ResetPdfParserResourceBudgetObnoví výchozí politiku procesu
PdfParserStartTick, PdfParserDeadlineReachedPoskytují kontrolní body deadlinu odolné vůči přetečení čítače pro vlastní implementace parseru

FPdfAssocFiles

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

Public typePurpose
TPdfAFRelationshipHodnoty 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
TAssociateFileJeden přidružený soubor s FileName, Description, payloadem Content, Relationship a volitelným MIMEType
TAssocFilesOptionsSeznam přidružených souborů a cíl v katalogu nebo na stránce, s výchozími hodnotami z TAssocFilesOptions.Default

FPdfPades

FunctionPurpose
InjectPadesDssMarkersPřidává materiál DSS (certifikáty, OCSP, CRL a VRI) prostřednictvím inkrementální aktualizace
RenewPadesArchiveTimestampPřipojí dokumentové časové razítko a hlásí výslednou archivační úroveň a metadata časového razítka
ValidatePadesCompliance, ValidatePadesTrustValidují 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
AnalyzePadesSignatureRevisionsKlasifikuje pozdější revize, změny objektů, účinky FieldMDP a rizika pozměnění
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytesSestaví ohraničené důkazy o více podpisech z proudu nebo z existujícího neměnného zachycení zdrojových bajtů
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithmProzkoumají parametry algoritmů CMS a certifikátu a vyhodnotí jejich bezpečnostní status z hlediska podpory
VerifyCmsAlgorithmProtectionKontroluje podepsaný atribut ochrany algoritmů CMS proti digestu podepisovatele a podpisovým algoritmům
SignPadesBytesPřipojí lokální podpis PAdES s volitelným časovým razítkováním RFC 3161
PreparePadesRemoteSignature, CompletePadesRemoteSignaturePřipraví a dokončí vázaný workflow vzdáleného podepisování s placeholderem pevné šířky
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequestUloží nebo obnoví metadata požadavku potřebná k dokončení vzdáleného podepisování

Veřejné typy PAdES

AreaTypes
Úrovně a validaceTPadesLevel (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
Validace důvěryTPadesTrustNetworkPolicy (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í reportyTPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport
DSS a archivační časová razítkaTPadesDssMaterial, 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

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;

Public typePurpose
TPdfAConformanceZjištěná nebo požadovaná část a úroveň konformance PDF/A
TPdfAValidationIssue, TPdfAValidationIssuesJednotlivá preflight zjištění a jejich reprezentace množinou
TPdfANameArraySeznam řetězců používaný validačními zjištěními založenými na názvech
TPdfAMetadataField, TPdfAMetadataFieldsOsm mapování Info → XMP z Tabulky 1 ISO 19005-1 (pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate) a jejich reprezentace množinou
TPdfAMetadataValuesUnicode 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, TPdfAMetadataReportTypované 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
TPdfAValidationResultKonformance, množina Issues a výsledek IsCompliant
TPdfASaveOptionsMetadata, 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

FPdfPdfe

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

Public typePurpose
TPdfEConformanceZjištěná nebo požadovaná konformance PDF/E
TPdfEValidationIssue, TPdfEValidationIssuesStrukturá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
TPdfEValidationResultKonformance, množina Issues a výsledek IsCompliant
TPdfESaveOptionsVerze PDF/E, metadata, identifikátory dokumentu a výchozí hodnoty

FPdfPdfr

FunctionPurpose
InjectPdfRMarkersZapisuje identifikaci PDF/R a omezené struktury katalogu a Info
ValidatePdfRComplianceValiduje proud s výchozími limity pro rastrové dokumenty
ValidatePdfRComplianceWithOptionsValiduje proud s požadavky na rozlišení, geometrii, pás a šifrování zvolenými volajícím
ValidatePdfRPageFactsValiduje 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

FunctionPurpose
InjectPdfUaMarkersPřidává značky identifikace PDF/UA, jazyka, titulku, MarkInfo, viewer preference a XMP
ValidatePdfUaComplianceValiduje značky a strukturu PDF/UA-1 nebo PDF/UA-2, volitelně použije původní bajty pro kontroly XMP
PdfUaIsStandardStructTypeTestuje název typu struktury proti standardní sadě ISO, včetně číslovaných nadpisů
PdfReadRoleMapPairsExtrahuje 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á

FPdfPdfvt

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

Public typePurpose
TPdfVTConformance, TPdfVTTrappedStateKonformance 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, TPdfVTValidationResultValidační zjištění, množina Issues, konformance a výsledek IsCompliant
TPdfDpmEntry, TPdfDpmEntries, TDpmTargetPoložky Document Part Metadata s Name, Value a IsNestedDict, umístěné na cíl dptRoot nebo dptLeaf
TPdfVTDPartEvidenceOhraničené důkazy o hierarchii částí dokumentu a tiskových podmínkách s PageCount, RecordLevel a RecipientRecordCount
TPdfVTSaveOptionsZáklad PDF/X, output intent, metadata, identifikátory, DPart, DPM přes DpmEntries umísťované podle DpmTarget a výchozí nastavení

FPdfPdfx

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

Public typePurpose
TPdfXConformance, TPdfXTrappedStateVariant 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, TPdfXValidationResultValidační zjištění, množina Issues, konformance a výsledek IsCompliant
TPdfXSaveOptionsKonformance, ICC output intent, metadata, identifikátory, trapped stav a výchozí hodnoty

Související API

Metody TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX a metody PAdES poskytují obálky nad instancí dokumentu kolem těchto jednotek