Files
ragflow/internal/deepdoc/parser/pdf/test_helpers_test.go

49 lines
1.0 KiB
Go
Raw Normal View History

package pdf
import (
"image"
pdf "ragflow/internal/deepdoc/parser/pdf/type"
)
// cropImageRect crops a rectangular region from an image.
func cropImageRect(img image.Image, x0, y0, x1, y1 int) image.Image {
b := img.Bounds()
if x0 < b.Min.X {
x0 = b.Min.X
}
if y0 < b.Min.Y {
y0 = b.Min.Y
}
if x1 > b.Max.X {
x1 = b.Max.X
}
if y1 > b.Max.Y {
y1 = b.Max.Y
}
out := image.NewRGBA(image.Rect(0, 0, x1-x0, y1-y0))
for y := y0; y < y1; y++ {
for x := x0; x < x1; x++ {
out.Set(x-x0, y-y0, img.At(x, y))
}
}
return out
}
// ── testPageImg: small test image for ocrMergeChars tests ─────────────
// 90×120 px at 216 DPI → 30×40 pt in PDF space after /3.0 scaling.
func testPageImg() image.Image {
return image.NewRGBA(image.Rect(0, 0, 90, 120))
}
// ── cellTexts: extract text strings from TSRCells ─────────────────────
func cellTexts(cells []pdf.TSRCell) []string {
t := make([]string, len(cells))
for i, c := range cells {
t[i] = c.Text
}
return t
}