# `PdfElixide.Document.StructuredPage`
[🔗](https://github.com/r8/pdf_elixide/blob/v0.23.0/lib/pdf_elixide/document/structured_page.ex#L1)

A page read as typed regions, returned by
`PdfElixide.Document.structured/2` and `PdfElixide.Document.Page.structured/2`.

`regions` contains `PdfElixide.Document.StructuredPage.Region` structs; see
that module for grouping and ordering, and
`t:PdfElixide.Document.StructuredPage.Region.kind/0` for roles. It is `[]` for
an encrypted document opened without its password or a page whose content
could not be read.

`width` and `height` are the coordinates of the page's `/MediaBox`
upper-right corner, not the box's extent, and are not turned for a page's
`/Rotate`. On the usual box starting at the origin they equal the page size;
on a box such as `[10 20 622 812]` they read `622.0` and `812.0` where
`PdfElixide.Document.Page.width/1` reads `612.0`. Use
`PdfElixide.Document.Page.media_box/1` for the normalized rectangle.

Float fields follow the "Unbounded values" rule in
`PdfElixide.Geometry.Rect`.

# `t`

```elixir
@type t() :: %PdfElixide.Document.StructuredPage{
  height: float(),
  page: non_neg_integer(),
  regions: [PdfElixide.Document.StructuredPage.Region.t()],
  width: float()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
