#svg #metadata #graphics #image #file-metadata #width-height

svg_metadata

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

11 releases

new 0.5.1 May 28, 2024
0.5.0 Sep 8, 2023
0.4.4 Feb 6, 2023
0.4.3 Aug 16, 2022
0.3.0 Aug 24, 2019

#359 in Multimedia

Download history 145/week @ 2024-02-05 280/week @ 2024-02-12 240/week @ 2024-02-19 287/week @ 2024-02-26 251/week @ 2024-03-04 250/week @ 2024-03-11 333/week @ 2024-03-18 378/week @ 2024-03-25 285/week @ 2024-04-01 218/week @ 2024-04-08 193/week @ 2024-04-15 295/week @ 2024-04-22 247/week @ 2024-04-29 238/week @ 2024-05-06 321/week @ 2024-05-13 294/week @ 2024-05-20

1,125 downloads per month

Apache-2.0/MIT

490KB
384 lines

svg-metadata

CI 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

~2.4–3.5MB
~58K SLoC