#svg #graphics #image #metadata

svg_metadata

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

9 releases

0.4.4 Feb 6, 2023
0.4.3 Aug 16, 2022
0.4.2 Dec 26, 2020
0.4.1 Jun 11, 2020
0.1.0 Aug 14, 2019

#23 in Multimedia

Download history 727/week @ 2023-02-08 629/week @ 2023-02-15 605/week @ 2023-02-22 987/week @ 2023-03-01 1232/week @ 2023-03-08 404/week @ 2023-03-15 280/week @ 2023-03-22 240/week @ 2023-03-29 368/week @ 2023-04-05 539/week @ 2023-04-12 418/week @ 2023-04-19 427/week @ 2023-04-26 347/week @ 2023-05-03 228/week @ 2023-05-10 204/week @ 2023-05-17 155/week @ 2023-05-24

1,022 downloads per month

Apache-2.0/MIT

490KB
367 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.1–2.5MB
~58K SLoC