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

svg_metadata

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

11 releases

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

#221 in Multimedia

Download history 302/week @ 2024-06-13 632/week @ 2024-06-20 299/week @ 2024-06-27 191/week @ 2024-07-04 252/week @ 2024-07-11 311/week @ 2024-07-18 314/week @ 2024-07-25 280/week @ 2024-08-01 289/week @ 2024-08-08 391/week @ 2024-08-15 225/week @ 2024-08-22 337/week @ 2024-08-29 300/week @ 2024-09-05 338/week @ 2024-09-12 887/week @ 2024-09-19 502/week @ 2024-09-26

2,095 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
~59K SLoC