#svg #graphics #image #metadata

svg_metadata

Extracts metadata (like the viewBox, width, and height) from SVG graphics

4 releases (2 breaking)

✓ Uses Rust 2018 edition

0.3.0 Aug 24, 2019
0.2.1 Aug 21, 2019
0.2.0 Aug 20, 2019
0.1.0 Aug 14, 2019

#53 in Multimedia

Apache-2.0/MIT

480KB
357 lines

svg-metadata

Github Actions Documentation

What is it?

This crate extracts metadata from SVG files. Currently it reads the following attributes:

  • viewBox
  • width
  • height

You can add more!

Usage Example

use svg_metadata::{Metadata, ViewBox};

fn main() {
    let svg = r#"<svg viewBox="0 1 99 100" xmlns="http://www.w3.org/2000/svg">
    <rect x="0" y="0" width="100%" height="100%"/>
    </svg>"#;

    let meta = Metadata::parse(svg).unwrap();
    assert_eq!(
        meta.view_box,
        Some(ViewBox {
            min_x: 0.0,
            min_y: 1.0,
            width: 99.0,
            height: 100.0
        })
    );
}

(You can also parse files directly with parse_file().)

Credits

The SVG fixtures used for testing are provided by

under their respective licenses.

Dependencies

~1.4–2MB
~52K SLoC