```csharp title="C#" using Kreuzberg; var config = new ExtractionConfig(); var result = KreuzbergLib.ExtractFileSync("document.pdf", null, config); if (result.Metadata?.Pages?.Boundaries != null) { foreach (var boundary in result.Metadata.Pages.Boundaries.Take(3)) { var pageStart = (int)boundary.ByteStart; var pageEnd = (int)boundary.ByteEnd; if (pageEnd > result.Content.Length) pageEnd = result.Content.Length; var pageText = result.Content.Substring(pageStart, pageEnd - pageStart); var previewEnd = Math.Min(100, pageText.Length); var preview = pageText.Substring(0, previewEnd); Console.WriteLine($"Page {boundary.PageNumber}:"); Console.WriteLine($" Byte range: {boundary.ByteStart}-{boundary.ByteEnd}"); Console.WriteLine($" Preview: {preview}..."); } } ```