```kotlin title="Kotlin" import dev.kreuzberg.* import java.nio.file.Paths import java.util.Optional fun main() { val elementConfig = OcrElementConfig.builder() .withIncludeElements(true) .build() val ocr = OcrConfig.builder() .withBackend("paddleocr") .withLanguage("en") .withElementConfig(Optional.of(elementConfig)) .build() val config = ExtractionConfig.builder() .withOcr(Optional.of(ocr)) .build() val result = Kreuzberg.extractFileSync(Paths.get("scanned.pdf"), null, config) result.ocrElements()?.forEach { element -> println("Text: ${element.text()}") println("Confidence: ${element.confidence().recognition()}") println("Geometry: ${element.geometry()}") element.rotation()?.let { println("Rotation: ${it}") } println() } } ```