pub struct Renderer<'a> { /* private fields */ }Expand description
A document’s renderer: the per-document caches (fonts, CMYK table,
decoded image samples) that its page renders share. The pipeline renders
every page at two scales; hold one Renderer per document across both.
Implementations§
Source§impl<'a> Renderer<'a>
impl<'a> Renderer<'a>
Sourcepub fn new(meta: &'a PdfMeta) -> Renderer<'a>
pub fn new(meta: &'a PdfMeta) -> Renderer<'a>
A renderer decoding its JPEGs for docling’s bitmap hint (1.0 pixel per PDF unit — the model-input renders).
Sourcepub fn with_bitmap_hint(meta: &'a PdfMeta, bitmap_hint: f64) -> Renderer<'a>
pub fn with_bitmap_hint(meta: &'a PdfMeta, bitmap_hint: f64) -> Renderer<'a>
A renderer with an explicit bitmap_target_pixels_per_unit: 0.0
decodes every image at full size (the page rasters a caller keeps —
render_pages, the VLM input — where docling-parse is asked with 0.0
too).
Sourcepub fn render_scaled(&self, index: usize, scale: f64) -> Option<RgbImage>
pub fn render_scaled(&self, index: usize, scale: f64) -> Option<RgbImage>
Render page index at scale pixels per point the way docling-parse
sizes its canvas (display orientation, /Rotate applied).
Sourcepub fn render(&self, index: usize, width: u32, height: u32) -> Option<RgbImage>
pub fn render(&self, index: usize, width: u32, height: u32) -> Option<RgbImage>
Render page index into exactly width × height display-frame
pixels (the crop box stretched onto the canvas, as every renderer
here does).
Sourcepub fn render_with_hint(
&self,
index: usize,
width: u32,
height: u32,
bitmap_hint: f64,
) -> Option<RgbImage>
pub fn render_with_hint( &self, index: usize, width: u32, height: u32, bitmap_hint: f64, ) -> Option<RgbImage>
Renderer::render with an explicit bitmap_target_pixels_per_unit
for this one render: 1.0 decodes JPEGs the way docling’s model
inputs are decoded, 0.0 at full size — what a bitmap kept for OCR
wants (the recognizer reads a scan’s 300 dpi, not a quarter of it
blitted up; docling’s own OCR runs on its hint-1.0 decode, the
deliberate deviation the pdfium raster of a scan already makes).
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for Renderer<'a>
impl<'a> !Send for Renderer<'a>
impl<'a> !Sync for Renderer<'a>
impl<'a> !UnwindSafe for Renderer<'a>
impl<'a> Freeze for Renderer<'a>
impl<'a> Unpin for Renderer<'a>
impl<'a> UnsafeUnpin for Renderer<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more