```dart title="Dart" import 'package:kreuzberg/kreuzberg.dart'; Future main() async { final config = ExtractionConfig( useCache: true, enableQualityProcessing: true, forceOcr: false, disableOcr: false, pdfOptions: const PdfConfig( extractImages: false, extractMetadata: true, extractAnnotations: false, allowSingleColumnTables: false, hierarchy: HierarchyConfig( enabled: true, kClusters: 5, includeBbox: true, ocrCoverageThreshold: 0.8, ), ), resultFormat: ResultFormat.unified, outputFormat: OutputFormat.plain(), includeDocumentStructure: false, maxArchiveDepth: 3, useLayoutForMarkdown: false, ); final result = await KreuzbergBridge.extractFile('document.pdf', null, config); final pages = result.pages ?? const []; print('Pages with hierarchy: ${pages.where((p) => p.hierarchy != null).length}'); } ```