Releases: bdura/livre
Releases · bdura/livre
livre-v0.3.0
Added
- owned builder (#35)
- object stream (#34)
- implement
Build
forStream
s (#33) - implement Parser for Builders (#29)
- cleaner
builder
module (#28)
Fixed
- build containers (#32)
Other
- update changelog (#38)
- add
release-plz
(#36) - reorganise Build traits (#31)
- fix changelog...
- move structures into
extraction/special
(#30) - filtering (#27)
- create a dedicated
references
submodule (#24)
Changed
- Move PDF-specific datastructures from a dedicated
structures
module toextraction/special
. - Refactor the
Build
trait (and friends):- rename module
follow_refs
- drop blanket implementation for
Extract
types, allowing more flexibility - in particular
withIndirect
andOptRef
- drop
Build
support for types that reference into the input data, simplifying reference-
following traits. - add a
BuildFromRawDict
trait, that implementsBuild
.
- rename module
- Modify
LiteralString
to own its data
livre-v0.2.0
Added
- Declaration of the
Trailer
type to represent PDF trailers. - Extraction facilities for cross-reference tables & trailer (regrouped as a single block),
with support for cross-reference tables & streams. Such a block is described by the new
XRefTrailerBlock
type.
Full Changelog: v0.1.0...livre-v0.2.0
v0.1.0
Very first release of the Livre crate!
What's Changed
Added
- Low-level extraction utilities able to parse any PDF object in a type-safe manner,
using three main traits:Extract
, which defines how a type can extract itself from a stream of bytesBuilder
, which declares how an object can follow PDF references to build more
complex objectsBuild
, which defines how a complex type can leverage aBuilder
object to
build itself despite the presence of PDF references
- Extractable types include Rust primitive types as well as usual containers:
- the unit type, which maps with the
null
PDF object - booleans
- all integer and floating-point numbers
- tuples, arrays, and vectors of extractable types
- optional types
- the unit type, which maps with the
- ... as well as PDF-specific types, including:
- PDF strings (literal & hexadecimal)
- dictionaries
- references (cf
Builder
&Build
traits) - names
- streams