이 유닛들은 대응되는 TPdf 편의 메서드가 사용하는 스트림 수준 인젝터, 검증기, 서명 연산, 지원 레코드를 노출합니다
워크플로가 이미 소스·대상 스트림을 소유하고 있거나 TPdf 인스턴스와 무관한 검증 옵션과 결과 상세가 필요할 때 사용하세요
FPdfPdfCommon| 함수 | 용도 |
|---|---|
AnsiCountDictKeyTokens | 중첩 값, 문자열, 주석을 건너뛰면서 raw PDF 사전의 최상위 이름 키 토큰 하나를 셉니다 |
TPdfParserResourceBudget | 프로세스 전체 재귀, 토큰, 객체, 디코딩 바이트, 확장 비율, 할당, 기한 한도를 정의합니다. Default는 라이브러리 기본값을 반환합니다 |
ConfigurePdfParserResourceBudget | 이후 사용자 지정 파서 연산이 쓰는 프로세스 정책을 검증하고 원자적으로 교체합니다 |
GetPdfParserResourceBudget | 현재 프로세스 정책의 스레드 안전 값 스냅샷을 반환합니다 |
ResetPdfParserResourceBudget | 기본 프로세스 정책을 복원합니다 |
PdfParserStartTick, PdfParserDeadlineReached | 사용자 지정 파서 구현을 위한 랩어웨이 안전 기한 checkpoint를 제공합니다 |
FPdfAssocFilesprocedure InjectAssociateFiles(Source: TStream; Dest: TStream; const Options: TAssocFilesOptions);
| 공개 타입 | 용도 |
|---|---|
TPdfAFRelationship | ISO 32000-2 AFRelationship 값 afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData, afTemplate이며 PDF 2.0 추가분을 포함합니다 |
TAssociateFile | FileName, Description, 페이로드 Content, Relationship, 선택적 MIMEType을 갖춘 연관 파일 하나입니다 |
TAssocFilesOptions | 연관 파일 Files 목록과 카탈로그 또는 페이지 TargetPage이며, 기본값은 TAssocFilesOptions.Default에서 옵니다 |
EPdfAssocFilesError | InjectAssociateFiles가 소스에 읽을 수 있는 trailer나 catalog가 없거나 TargetPage가 음수이거나 페이지 트리 순서에 있는 페이지를 가리키지 않을 때 발생합니다. 대상 스트림은 수정되지 않은 채로 남습니다 |
FPdfPades| 함수 | 용도 |
|---|---|
InjectPadesDssMarkers | 증분 업데이트로 DSS 인증서, OCSP, CRL, VRI 자료를 추가합니다 |
RenewPadesArchiveTimestamp | 문서 타임스탬프를 덧붙이고 결과 아카이브 레벨과 타임스탬프 메타데이터를 보고합니다 |
ValidatePadesCompliance, ValidatePadesTrust | 최상위 서명 항목 개수, 정확한 ByteRange·Contents 토큰 제외, 암호학적 무결성, 신뢰, 폐기, 타임스탬프 증거를 검증합니다 |
AnalyzePadesSignatureRevisions | 이후 리비전, 객체 변경, FieldMDP 영향, 변경 위험을 분류합니다 |
BuildPadesEvidenceReport, BuildPadesEvidenceReportBytes | 스트림 또는 기존 불변 소스 바이트 캡처로 상한이 있는 다중 서명 증거를 만듭니다 |
EvaluatePadesSignatureAlgorithm, InspectPadesSignatureAlgorithm | CMS와 인증서 알고리즘 파라미터를 살펴보고 지원되는 보안 상태를 평가하며, PDF 2.0 타원 곡선 프로파일과 ETSI TS 119 312 RSA signature suite를 적용합니다 |
VerifyCmsAlgorithmProtection | CMS algorithm-protection signed 속성을 서명자 다이제스트·서명 알고리즘과 대조해 검사합니다 |
SignPadesBytes | 선택적 RFC 3161 타임스탬핑과 함께 로컬 PAdES 서명을 덧붙입니다 |
PreparePadesRemoteSignature, CompletePadesRemoteSignature | 묶인 고정 폭 원격 서명 자리표시자 워크플로를 준비하고 완료합니다 |
SavePadesRemoteSigningRequest, LoadPadesRemoteSigningRequest | 원격 서명 완료에 필요한 요청 메타데이터를 저장하거나 복원합니다 |
| 영역 | 타입 |
|---|---|
| 레벨과 검증 | TPadesLevel (plUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA), TPadesValidationIssue, TPadesValidationIssues, TPadesValidationSourceStatus (pvssUnavailable, pvssOriginalBytes, pvssIncomplete), TPadesValidationResult |
| 암호학 | TPadesCryptoStatus (pcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate), TPadesSignatureAlgorithmFamily (psafUnknown, psafRsa, psafEcdsa, psafEd25519, psafEd448), TPadesSignatureAlgorithmInfo, TPadesSignatureValidation, TPadesSignatureValidations |
| 신뢰 검증 | TPadesTrustNetworkPolicy (ptnpOffline, ptnpOnline), TPadesTrustValidationStage, TPadesTrustValidationProgress, TPadesTrustValidationProgressEvent, TPadesTrustValidationOptions, TPadesTrustValidationAsyncStatus, TPadesTrustValidationCompletion, TPadesTrustValidationReply |
| 리비전 분석 | 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 |
| 증거 보고서 | TPadesHashStrings, TPadesObjectNumbers, TPadesEvidenceReportOptions, TPadesEvidenceMaterialKind, TPadesValidationMaterialEvidence, TPadesValidationMaterialEvidences, TPadesVriEvidence, TPadesVriEvidences, TPadesSignatureEvidence, TPadesSignatureEvidences, TPadesEvidenceReport |
| DSS와 아카이브 타임스탬프 | TPadesDssMaterial, TPadesDssMaterials, TPadesDssIndexes, TPadesDssVri, TPadesDssVris, TPadesDssOptions, TPadesArchiveTimestampOptions, TPadesArchiveTimestampReport |
| 서명 | TPadesSeedValueConstraint, TPadesSeedValueConstraints, TPadesSignatureFieldOptions, TPadesSignOptions, TPadesRemoteSignOptions, TPadesRemoteByteRange, TPadesRemoteSigningRequest |
TPadesValidationResult는 아카이브 Level, Issues 집합, SourceStatus, IntegrityStatus, 서명별 Signatures 배열을 제공하며, IsCompliant, IsCompliantAt, IsCryptographicallyValid, Document Time-stamp 사전을 세는 DocTimeStampCount가 함께 있습니다. 옵션 레코드는 static Default 초기화자를 제공합니다
TPadesSignatureAlgorithmInfo는 Family, DigestAlgorithmOid, SignatureAlgorithmOid, PublicKeyAlgorithmOid, CurveOid, DigestParametersPresent, DigestParameterBits, SignatureParametersPresent, PublicKeyParametersPresent, PublicKeyParametersAreNamedCurve, PolicyStatus를 보고합니다. TPadesSignatureValidation은 여기에 IsDocumentTimeStamp, CoveredRevisionLength, ByteRangeStatus, CmsSignatureStatus, AlgorithmPolicyStatus, SigningCertificateStatus, CertificateTrustStatus, QualifiedTrustStatus, RevocationStatus, TimeStampStatus, TimeStampSignatureStatus, TimeStampTrustStatus, TimeStampRevocationStatus 판정과 NativeSignatureError, NativeTrustError, SignerCertificateSha256, CertificateChainSha256, 중첩된 AlgorithmInfo, QualifiedTrust 증거를 더합니다
TPadesTrustValidationStage는 ptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken, ptvsCompleted를 거칩니다. TPadesTrustValidationProgress는 Stage, SignatureIndex, SignatureCount, Percent를 담고, TPadesTrustValidationOptions는 NetworkPolicy, CheckRevocation, CheckTimeStamps, UrlRetrievalTimeoutMs, QualifiedTrustEvaluator, CancellationToken, OnProgress를 선택하며, TPadesTrustValidationAsyncStatus는 ptvasSuccess, ptvasCancelled, ptvasFailure 중 하나이고 TPadesTrustValidationCompletion은 비동기 Status, Validation, ErrorMessage, ErrorClassName, CancellationReason을 반환합니다
TPadesRevisionChangeKind는 prckCrossReference, prckSignature, prckValidationMaterial, prckFormField, prckAnnotation, prckPageContent, prckDocumentStructure, prckMetadata, prckActiveContent, prckDeletedObject, prckCompressedObject, prckUnknown을 분류합니다. TPadesRevisionRisk는 prrMalformedRevisionChain, prrDuplicateObjectDefinition, prrUnreferencedObjectDefinition, prrSignatureObjectRedefined, prrPageContentChanged, prrDocumentStructureChanged, prrActiveContentAdded, prrFieldMdpUnresolved, prrCompressedObjectUnresolved, prrCoveredRevisionNotFound, prrResourceLimitExceeded를 아우릅니다
TPadesRevisionObjectChange는 RevisionIndex, ObjectNumber, Generation, Offset, ObjectStreamNumber, ObjectStreamIndex, Kind, Decision, IsAuthoritative, IsRedefinition을 보고합니다. TPadesSignatureRevisionAnalysis는 SignatureIndex, SignatureObjectNumber, CoveredRevisionLength, CoveredRevisionIndex, DocMdpPermission, FieldMdpAction, FieldNames, LaterRevisionCount, Status, Risks, Changes를 더하고, TPadesRevisionAnalysisReport는 SourceStatus, RevisionCount, SignatureCount, Status, Risks, Signatures, ErrorMessage를 집계합니다
TPadesEvidenceMaterialKind는 pemkCertificate, pemkOcsp, pemkCrl을 고릅니다. TPadesValidationMaterialEvidence는 저장된 스트림마다 Kind, ObjectNumber, StoredLength, Sha256을 보고하고, TPadesVriEvidence는 Key와 ObjectNumber로 키가 매겨지며 CertificateObjectNumbers, OcspObjectNumbers, CrlObjectNumbers를 나열합니다
TPadesSignatureEvidence는 SignatureIndex, SignatureObjectNumber, IsDocumentTimeStamp, SubFilter, ByteRangeA, ByteRangeB, ByteRangeC, ByteRangeD, ContentsSha256, VriKey, SignaturePolicyOid, CommitmentTypeOid, HasMatchingVri, VriEvidenceIndex, TimeStampTokenSha256, TimeStampPolicyOid, TimeStampGenTime, TimeStampNonce, NativeFactsAvailable, NativeReason, NativeTime, NativeDocMdpPermission와 중첩된 Validation, Revision을 담습니다
TPadesEvidenceReport는 SourceLength, PdfiumSignatureCount, DssCertificateCount, DssOcspCount, DssCrlCount, DssVriCount, StoredValidationBytes, IsTruncated, Validation, RevisionAnalysis, Signatures, ValidationMaterials, VriEntries를 집계하며, TrustOptions, MaxSourceBytes, MaxSignatures, MaxRevisionChangesPerSignature, MaxValidationMaterials, MaxStoredValidationBytes, MaxVriEntries를 갖춘 TPadesEvidenceReportOptions로 상한이 적용됩니다
TPadesDssMaterial은 DerBytes 인증서, OCSP, CRL 페이로드 하나를 저장합니다. TPadesDssVri는 SignatureContents, CertIndexes, OcspIndexes, CrlIndexes로 문서 수준 자료를 고르고, TPadesDssOptions는 Certs, Ocsps, Crls, Vris, EsicExtensionLevel, IncludeVri를 받으며, TPadesArchiveTimestampOptions는 TsaUrl, Nonce, ContentsSize, UpdateDss, 중첩된 DssOptions를 담고, TPadesArchiveTimestampReport는 SourceLevel, ResultLevel, PreviousDocTimeStampCount, ResultDocTimeStampCount, SourceLength, ResultLength, DssUpdated, GenTime, PolicyOid, Nonce를 보고합니다
TPadesSeedValueConstraint는 psvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo, psvcDigestMethod를 제한합니다. TPadesSignatureFieldOptions는 FieldName, RequiredSeedValues, Reasons, LegalAttestations, AcceptableCertificates, CertificateRequired, LockAction, LockFields, CertificationPermission을 제한하고, TPadesSignOptions는 CertificateThumbprint, PaddingScheme, Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, Level, TsaUrl, Nonce, SignaturePolicyOid, SignaturePolicyHash, SignaturePolicyUri, SignaturePolicyDocument 그룹, 중첩된 FieldOptions를 담으며, TPadesRemoteSignOptions는 원격에 안전한 부분집합인 Reason, LegalAttestation, Location, ContactInfo, Name, SigningTimeUtc, CommitmentTypeOid, ContentsSize, FieldOptions를 그대로 반영하고, TPadesRemoteSigningRequest는 FormatVersion, PreparedFingerprint, DocumentDigest, ByteRange, ContentsHexOffset, ContentsSize를 묶습니다
TPadesTrustValidationOptions.QualifiedValidationTime은 신뢰 목록 서비스 이력 평가 시각을 고르며, 0이면 현재 시각을 선택합니다
TPadesSignatureValidation에는 여기에 더해 RevocationReason: TPdfCmsRevocationReason, NativeRevocationError: Cardinal, TimeStampRevocationReason: TPdfCmsRevocationReason, NativeTimeStampRevocationError: Cardinal도 들어 있습니다. 서명 진단은 이 레코드의 detached CMS 검사에서, timestamp 진단은 attached 토큰 검사(Document Time-stamp 포함)에서 나오며, timestamp 진단이 서명 진단을 대체하는 일은 없습니다
폐기가 꺼져 있거나 대응하는 CMS 검사에 도달하지 못하면 reason은 pcrrNone, 네이티브 오류는 0이 기본값입니다. 이 기본값이 성공을 의미하지는 않으니 RevocationStatus와 TimeStampRevocationStatus를 확인하세요. ValidatePadesTrustAsync는 완료 결과에서 이 필드들을 보존하고, TPadesSignatureEvidence.Validation도 TPadesEvidenceReport.ToJson과 ToCsv를 위해 이를 유지합니다
진단 필드들은 public TPadesSignatureValidation 레코드 뒤에 붙어 있어 레코드 크기가 커졌습니다. 이 레코드나 이를 포함한 레코드를 주고받는 애플리케이션과 패키지는 갱신된 유닛 기준으로 다시 빌드하세요. 예전에 컴파일된 바이너리는 새 레코드 배치를 공유하지 않습니다
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;
| 공개 타입 | 용도 |
|---|---|
TPdfAConformance | 감지되거나 요청된 PDF/A 파트와 적합 수준입니다 |
TPdfAValidationIssue, TPdfAValidationIssues | 개별 preflight 발견 항목과 그 집합 표현입니다 |
TPdfANameArray | 이름 기반 검증 발견 항목이 쓰는 문자열 목록입니다 |
TPdfAMetadataField, TPdfAMetadataFields | ISO 19005-1 Table 1의 여덟 Info-XMP 매핑(pamfTitle, pamfAuthor, pamfSubject, pamfKeywords, pamfCreator, pamfProducer, pamfCreationDate, pamfModDate)과 그 집합 표현입니다 |
TPdfAMetadataValues | 유니코드 Info 값 Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate이며, 키 존재 여부는 Present가 빈 텍스트와 별개로 추적합니다 |
TPdfAMetadataState, TPdfAMetadataComparison, TPdfAMetadataComparisons, TPdfAMetadataReport | pamsNotRequired, pamsEquivalent, pamsXmpMissing, pamsXmpTypeMismatch, pamsValueMismatch, pamsInvalidInfoDate, pamsInvalidXmpDate 상태와 필드별 Field, State, InfoValue, XmpValue, 보고서 수준 HasXmpPacket, XmpParseError, MismatchFields, Comparisons 배열, 집계 상태로 이루어진 타입이 지정된 필드별 동등성 증거입니다 |
TPdfAValidationResult | 적합성, Issues 집합, IsCompliant 결과입니다 |
TPdfASaveOptions | 메타데이터, 식별자, IccProfileData의 ICC 프로필 바이트, 출력 인텐트, 적합성 설정이며 Default 값을 제공합니다 |
InjectPdfAMarkers는 유효한 클래식, xref 스트림, 하이브리드, 객체 스트림 배치에 희소 최신 리비전 조회와 상한 있는 소스 복사를 사용하고, 지원되지 않거나 잘못된 교차 참조 데이터에는 호환 파서를 유지합니다
증분 리비전은 루트와 Info 세대, 소스 xref 스타일, trailer 식별자, 암호화 거부 동작, Level A 다운그레이드 의미를 보존합니다
FPdfPdfeprocedure InjectPdfEMarkers(Source: TStream; Dest: TStream; const Options: TPdfESaveOptions);
function ValidatePdfECompliance(Source: TStream): TPdfEValidationResult;
| 공개 타입 | 용도 |
|---|---|
TPdfEConformance | 감지되거나 요청된 PDF/E 적합성입니다 |
TPdfEValidationIssue, TPdfEValidationIssues | PDF/E 구조·콘텐츠 발견 항목으로, 최상위 AcroForm /XFA와 간접 /NeedAppearances true를 포함합니다. 평범한 AcroForm 필드와 내장된 엔지니어링 자산은 계속 허용됩니다 |
TPdfEValidationResult | 적합성, Issues 집합, IsCompliant 결과입니다 |
TPdfESaveOptions | PDF/E Version, 메타데이터, 문서 식별자, 기본값입니다 |
FPdfPdfr| 함수 | 용도 |
|---|---|
InjectPdfRMarkers | PDF/R 식별과 제한된 카탈로그·Info 구조를 기록합니다 |
ValidatePdfRCompliance | 기본 래스터 문서 한도로 스트림을 검증합니다 |
ValidatePdfRComplianceWithOptions | 호출자가 선택한 해상도, 기하, 스트립, 암호화 요구 사항으로 스트림을 검증합니다 |
ValidatePdfRPageFacts | 이미 수집된 페이지 기하, 객체 수, 이미지 특성, filter를 검증합니다 |
공개 형식은 TPdfRConformance, TPdfRValidationIssue, TPdfRValidationIssues, Issues 집합과 IsCompliant 결과를 가진 TPdfRValidationResult, TPdfRStringArray, TPdfRValidationOptions, TPdfRPageFacts, TPdfRSaveOptions입니다
TPdfRValidationOptions는 MinimumResolutionDpi, MaximumResolutionDpi, GeometryTolerancePoints, RequireFullPageStrip, RequireEncryptedPdf20Profile을 조정합니다. TPdfRSaveOptions는 StripInfoOptionalEntries와 StripCatalogOptionalEntries로 소스 Info 또는 카탈로그 항목 중 §6.4.3이나 §6.3 화이트리스트가 거부할 항목을 지웁니다. TPdfRPageFacts는 페이지마다 PageNumber, MediaWidth, MediaHeight, ImageLeft, ImageBottom, ImageRight, ImageTop 경계, ImageCount, TextObjectCount, PathObjectCount, FormObjectCount, ShadingObjectCount, 래스터 기하 PixelWidth, PixelHeight, HorizontalDpi, VerticalDpi, BitsPerPixel, 그리고 ColorSpace와 Filters 체인을 기록합니다
FPdfPdfua| 함수 | 용도 |
|---|---|
InjectPdfUaMarkers | PDF/UA 식별, 언어, 제목, MarkInfo, 뷰어 기본 설정, XMP 마커를 추가합니다 |
ValidatePdfUaCompliance | PDF/UA-1 또는 PDF/UA-2 마커와 구조를 검증하며, 선택적으로 XMP 검사에 원본 바이트를 사용합니다 |
PdfUaIsStandardStructType | 번호가 붙은 제목을 포함해 구조 형식 이름을 ISO 표준 집합과 비교합니다 |
PdfReadRoleMapPairs | 직접 또는 간접 RoleMap 키와 값을 병렬 배열로 추출합니다 |
공개 형식은 TPdfUaConformance, TPdfUaValidationIssue, TPdfUaValidationIssues, Issues 집합과 IsCompliant 결과를 가진 TPdfUaValidationResult, TPdfUaSaveOptions, TPdfUaNameArray입니다
PDFium 유닛은 상한이 있는 유효 언어 증거를 위해 TPdfUaLanguageSource, TPdfUaLanguageContentKind, TPdfUaLanguageResolution, TPdfUaLanguageSpan, TPdfUaLanguageSpans, TPdfUaLanguageCoverageOptions, TPdfUaLanguageCoverageReport도 노출합니다
TPdfUaUnicodeObjectCoverage, TPdfUaUnicodeObjectCoverages, TPdfUaUnicodeCoverageOptions, TPdfUaUnicodeCoverageReport는 상한이 있는 객체 범위의 직접 유니코드·ActualText 추출 증거를 제공합니다
ValidatePdfUaPageContentTagging은 네이티브 페이지 객체 마크를 페이지 범위 구조 MCID와 교차 검증하고, 태그 없는 실제 콘텐츠와 구조 트리에 노출된 Artifact 콘텐츠를 모두 보고합니다
TPdfUaSaveOptions.Default는 PDF/UA-1 기본값을 선택하고 TPdfUaSaveOptions.PdfUa2는 PDF/UA-2 프로필을 선택합니다
TPdfUaSaveOptions는 DocumentTitle, Language, Author, Subject, Keywords, Creator, Producer 메타데이터, CreationDate와 ModDate, DocumentId와 InstanceId UUID, Part, Revision, Amd, Corr 식별자, 그리고 소스에 없을 때 필요한 카탈로그 항목을 넣는 EnsureMarkInfo, EnsureDisplayDocTitle 스위치를 담습니다
FPdfPdfvtprocedure InjectPdfVTMarkers(Source: TStream; Dest: TStream; const Options: TPdfVTSaveOptions);
function ValidatePdfVTCompliance(Source: TStream): TPdfVTValidationResult;
function ReadPdfVTDPartEvidence(Source: TStream): TPdfVTDPartEvidence;
| 공개 타입 | 용도 |
|---|---|
TPdfVTConformance, TPdfVTTrappedState | PDF/VT 적합성과 ptvUnspecified, ptvTrue, ptvFalse에 걸친 상속 PDF/X trapped-state 선택이며, ptvUnspecified는 기록 시점에 ptvFalse로 정규화됩니다 |
TPdfVTValidationIssue, TPdfVTValidationIssues, TPdfVTValidationResult | 검증 발견 항목, Issues 집합, 적합성, IsCompliant 결과입니다 |
TPdfDpmEntry, TPdfDpmEntries, TDpmTarget | Name, Value, IsNestedDict를 갖춘 Document Part Metadata 항목이며 dptRoot 또는 dptLeaf 대상에 놓입니다 |
TPdfVTDPartEvidence | PageCount, RecordLevel, RecipientRecordCount를 갖춘 상한이 있는 문서 파트 계층 및 인쇄 조건 증거입니다 |
TPdfVTSaveOptions | PDF/X 기반, IccProfileData의 ICC 프로필 바이트, OutputCondition, OutputConditionIdentifier, RegistryName, OutputIntentInfo를 통한 출력 인텐트, Trapped 상태, 메타데이터, 식별자, DPart, DpmTarget으로 배치되는 DpmEntries를 통한 DPM, 기본 설정입니다 |
FPdfPdfxprocedure InjectPdfXMarkers(Source: TStream; Dest: TStream; const Options: TPdfXSaveOptions);
function ValidatePdfXCompliance(Source: TStream): TPdfXValidationResult;
| 공개 타입 | 용도 |
|---|---|
TPdfXConformance, TPdfXTrappedState | PDF/X 변형과 ptUnspecified, ptTrue, ptFalse, ptUnknown에 걸친 Info 사전 trapped-state 선택이며, ptUnspecified는 항목을 생략합니다 |
TPdfXValidationIssue, TPdfXValidationIssues, TPdfXValidationResult | 검증 발견 항목, Issues 집합, 적합성, IsCompliant 결과입니다 |
TPdfXSaveOptions | 적합성, IccProfileData의 ICC 프로필 바이트, OutputCondition, OutputConditionIdentifier, RegistryName, OutputIntentInfo를 통한 출력 인텐트, Trapped 상태, 메타데이터, 식별자, 기본값입니다 |
TPadesRsaPssParameters는 Valid, HashAlgorithmOid, MaskGenAlgorithmOid, MaskGenHashAlgorithmOid, SaltLength, TrailerField를 제공합니다. TPadesSignatureAlgorithmInfo.SignaturePss와 PublicKeyPss는 CMS와 SPKI 제약을 독립적으로 보고합니다
InspectPadesSignatureAlgorithm은 CMS PSS 매개변수를 요구하고 빈 SEQUENCE는 RFC 기본값으로 받습니다. 잘못된 DER, 중복 또는 순서가 틀린 명시 필드, 지원하지 않는 정수 인코딩, 너무 큰 매개변수 블록은 거부합니다
EvaluatePadesSignatureAlgorithm은 CMS digest와 PSS hash 일치를 요구합니다. PSS 전용 키는 PKCS #1 v1.5를 거부하고 제약된 키는 hash, MGF hash, trailer 일치와 키 최소값 이상의 서명 salt를 요구합니다
다른 지원 MGF1 hash도 유효할 수 있습니다. 알 수 없는 알고리즘은 Unsupported, 약한 MGF hash는 Indeterminate, 깨진 hash는 Invalid입니다
매개변수 블록은 16 KiB, salt/trailer는 음수가 아닌 32비트 정수로 제한합니다. 이 구조 정책은 암호 백엔드를 보완하며 RSA 키 강도나 EMSA-PSS 서명 유효성을 입증하지는 않습니다
알고리즘 증거를 직접 만들면 PSS OID만 넣지 말고 SignaturePss와 SignatureParametersPresent도 설정하세요
TPdf.SaveAsPdfA, SaveAsPdfE, SaveAsPdfR, SaveAsPdfUa, SaveAsPdfVT, SaveAsPdfX, PAdES 메서드는 이 유닛들을 감싸는 문서 인스턴스 래퍼를 제공합니다