This commit is contained in:
39
docs/snippets/elixir/ocr/ocr_multi_language.exs
Normal file
39
docs/snippets/elixir/ocr/ocr_multi_language.exs
Normal file
@@ -0,0 +1,39 @@
|
||||
```elixir title="Elixir"
|
||||
alias Kreuzberg.ExtractionConfig
|
||||
|
||||
# Perform OCR extraction with multiple languages
|
||||
# Tesseract can recognize text in multiple languages simultaneously
|
||||
# Combine language codes with '+' separator: "eng+fra+deu" for English, French, German
|
||||
|
||||
config = %ExtractionConfig{
|
||||
ocr: %{
|
||||
"enabled" => true,
|
||||
"backend" => "tesseract",
|
||||
"language" => "eng+fra+deu"
|
||||
},
|
||||
chunking: %{
|
||||
"max_characters" => 2000,
|
||||
"overlap" => 200
|
||||
},
|
||||
language_detection: %{"enabled" => true},
|
||||
use_cache: true,
|
||||
force_ocr: true
|
||||
}
|
||||
|
||||
{:ok, result} = Kreuzberg.extract_file("multilingual_document.pdf", nil, config)
|
||||
|
||||
# Results will contain text recognized in all specified languages
|
||||
IO.puts("Multi-language OCR Extraction:")
|
||||
IO.puts("Supported languages: English, French, German")
|
||||
IO.puts("Content extracted: #{byte_size(result.content)} bytes")
|
||||
IO.puts("Detected languages: #{inspect(result.detected_languages)}")
|
||||
IO.puts("Chunks created: #{if result.chunks, do: length(result.chunks), else: 0}")
|
||||
IO.puts("\nExtracted content preview:")
|
||||
IO.puts(String.slice(result.content, 0..250))
|
||||
|
||||
# Access metadata if available
|
||||
metadata = result.metadata || %{}
|
||||
IO.puts("\nMetadata:")
|
||||
IO.puts("Pages: #{metadata["pages"] || "Unknown"}")
|
||||
IO.puts("Format: #{metadata["format"] || "Unknown"}")
|
||||
```
|
||||
Reference in New Issue
Block a user