26 lines
868 B
Markdown
26 lines
868 B
Markdown
Import dev.kreuzberg.\*;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
var result = Kreuzberg.extractFileSync("document.pdf");
|
|
|
|
If (result.metadata().pages() != null &&
|
|
result.metadata().pages().boundaries() != null) {
|
|
|
|
var contentBytes = result.content().getBytes(StandardCharsets.UTF_8);
|
|
|
|
for (var boundary : result.metadata().pages().boundaries().subList(0, 3)) {
|
|
var pageBytes = Arrays.copyOfRange(
|
|
contentBytes,
|
|
boundary.byteStart(),
|
|
boundary.byteEnd()
|
|
);
|
|
var pageText = new String(pageBytes, StandardCharsets.UTF_8);
|
|
|
|
System.out.println("Page " + boundary.pageNumber() + ":");
|
|
System.out.println(" Byte range: " + boundary.byteStart() +
|
|
"-" + boundary.byteEnd());
|
|
System.out.println(" Preview: " + pageText.substring(0, 100) + "...");
|
|
}
|
|
|
|
}
|