```elixir title="Elixir" defmodule Example do def full_extraction_pipeline do # Build a comprehensive extraction config as a JSON string or map config_json = Jason.encode!(%{ "use_cache" => true, "enable_quality_processing" => true, "force_ocr" => false, "ocr" => %{ "backend" => "tesseract", "language" => "eng" }, "chunking" => %{ "max_characters" => 800, "overlap" => 100, "chunker_type" => "Markdown", "prepend_heading_context" => true }, "output_format" => "Markdown", "include_document_structure" => true, "images" => %{ "extract_images" => true }, "language_detection" => %{ "detect" => true } }) case Kreuzberg.extract_file_sync("report.pdf", nil, config_json) do {:ok, result} -> IO.puts("Extraction successful") IO.puts("Content length: #{String.length(result)} chars") :ok {:error, reason} -> IO.puts("Extraction failed: #{reason}") :error end end end ```