PDFium Delphi Component Docs

構造走査とキャッシュ

コンポーネント: TPdf  ·  ユニット: PDFium
タグ付き PDF 構造をインクリメンタルに読み取るか、完全なリビジョン認識ページスナップショットを再利用します

ReadStructureElements

function ReadStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; out Status: TPdfStructureReadStatus): TPdfStructureElements;

反復 pre-order 走査を使用し、安定した Level と ParentIndex の値を持つ、呼び出し側所有のフラット化スナップショットを返します

各 TPdfStructureElement は、MarkedContentIDs、ChildCount、ChildMarkedContentIDs、AttributeCount による階層情報、HasHeaders、HeadersIds、ColSpan によるテーブル構造、print および reference のセンチネルである HasPrintField と HasReference も報告します

ロールマッピングは RoleMappedNamespaceUri と RoleMappedTypeName から、関連ファイルは HasAssociatedFile、AssociatedFileRelationship、AssociatedFileDescription、AssociatedFileDeclaredInCatalog、AssociatedFileDeclaredInStructure、AssociatedFileInEmbeddedFilesNameTree、AssociatedFileHasReadingOrder、AssociatedFileReadingOrderIndex から、注釈情報は AnnotationSubtype、AnnotationContents、AnnotationAlternateText、IsArtifact、widget センチネルである WidgetCount と HasAppearance、FieldAlternateName から公開されます

MaxDepth、MaxElements、MaxAttributeValues、DeadlineMilliseconds がネイティブ処理とマネージド割り当てを制限します

IncludeAttributes=False は、属性値の実体化をスキップしながら、構造テキスト、階層、MCID を保持します

予算のいずれかに達した場合、期限が切れた場合、またはビジターが走査を停止した場合、Status.Completed は false になります

Status.ElementsVisited と Status.AttributeValuesVisited は実行された処理を数え、Status.DepthLimitReached、Status.ElementLimitReached、Status.AttributeLimitReached、Status.DeadlineReached はどの予算が走査を停止させたかを示します

VisitStructureElements

function VisitStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; Visitor: TPdfStructureElementVisitor; out Status: TPdfStructureReadStatus): Integer;

ページ配列全体を割り当てることなく、要素ごとに Visitor を 1 回呼び出します

通常の早期停止は、コールバックの KeepGoing パラメーターを false に設定すると行え、Status.VisitorStopped で報告されます

各コールバックは、コールバックが返った後も保持できるマネージド要素データを受け取ります。ネイティブの構造ハンドルは一切公開されません

StructureElementsForPage

property StructureElementsForPage[PageNumber: Integer]: TPdfStructureElements; // read only

PageNumber や OnPageChange を変更せずに、任意の 1 起点ページを読み取ります

既定の予算で完了した結果は、StructureElements、TPdfView.StructureElements、読み取り可能コンテンツ、リフロー、構造化テキスト、アクセシビリティ検証で使用される共有 LRU キャッシュに入ります

入れ子の動的配列と属性ブロブはディープコピーされるため、返されたスナップショットを変更しても、キャッシュや PDF は変更されません

StructureCacheCapacity

property StructureCacheCapacity: Integer; // read and write, default 8

least-recently-used 順で保持される完全なページスナップショットの数を制限します

容量を 0 に設定すると、キャッシュされたスナップショットを解放し、今後のキャッシュを無効にします

負の容量値は EPdfError を発生させます

StructureCacheCount

property StructureCacheCount: Integer; // read only

現在有効なページスナップショットの数を返します

StructureCacheHitCount と StructureCacheMissCount

property StructureCacheHitCount: Int64; // read only
property StructureCacheMissCount: Int64; // read only

コンポーネントインスタンスの累積ルックアップテレメトリーを公開します

編集は累積カウンターを保持したまま、影響を受けるページまたはキャッシュ全体を無効化します

既定の予算

MaxDepth256
MaxElements100000
MaxAttributeValues100000
DeadlineMilliseconds0 で期限なし
IncludeAttributesTrue

関連項目

StructureElements, ReadableContent, ValidatePdfUaStructureElements