```dart title="Dart" import 'dart:convert'; import 'package:kreuzberg/kreuzberg.dart'; Future main() async { final schema = jsonEncode({ 'type': 'object', 'properties': { 'title': {'type': 'string'}, 'authors': { 'type': 'array', 'items': {'type': 'string'}, }, 'date': {'type': 'string'}, }, 'required': ['title', 'authors', 'date'], 'additionalProperties': false, }); final config = ExtractionConfig( useCache: true, enableQualityProcessing: true, forceOcr: false, disableOcr: false, structuredExtraction: StructuredExtractionConfig( schema: schema, schemaName: 'paper_metadata', strict: true, llm: const LlmConfig(model: 'openai/gpt-4o-mini'), ), resultFormat: ResultFormat.unified, outputFormat: OutputFormat.plain(), includeDocumentStructure: false, maxArchiveDepth: 3, useLayoutForMarkdown: false, ); final result = await KreuzbergBridge.extractFile('paper.pdf', null, config); final structured = result.structuredOutput; if (structured != null) { print(structured); } } ```