Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Image::Info::SVG

Name Image::Info::SVG
Version 2.04
Located at /usr/share/perl5/vendor_perl
File /usr/share/perl5/vendor_perl/Image/Info/SVG.pm
Is Core No
Search CPAN for this module Image::Info::SVG
Documentation Image::Info::SVG
Module Details Image::Info::SVG


NAME

Image::Info::SVG - SVG support for Image::Info


SYNOPSIS

 use Image::Info qw(image_info dim);
 my $info = image_info("image.svg");
 if (my $error = $info->{error}) {
     die "Can't parse image info: $error\n";
 }
 my $title = $info->{SVG_Title};
 my($w, $h) = dim($info);


DESCRIPTION

This modules supplies the standard key names except for BitsPerSample, Compression, Gamma, Interlace, LastModificationTime, as well as:

ImageDescription
The image description, corresponds to <desc>.

SVG_Image
A scalar or reference to an array of scalars containing the URI's of embedded images (JPG or PNG) that are embedded in the image.

SVG_StandAlone
Whether or not the image is standalone.

SVG_Title
The image title, corresponds to <title>

SVG_Version
The URI of the DTD the image conforms to.


METHODS

process_file()


        $info->process_file($source, $options);

Processes one file and sets the found info fields in the $info object.


FILES

This module requires either the XML::LibXML::Reader manpage or the XML::Simple manpage.


COMPATIBILITY

Previous versions (until Image-Info-1.28) used the XML::Simple manpage as the underlying parser. Since Image-Info-1.29 the default parser is the XML::LibXML::Reader manpage which is much more faster, memory-efficient, and does not rely on regular expressions for some aspects of XML parsing. If for some reason you need the old parser, you can force it by setting the variable @Image::Info::SVG::PREFER_MODULE as early as possible:

    use Image::Info;
    @Image::Info::SVG::PREFER_MODULE = qw(Image::Info::SVG::XMLSimple Image::Info::SVG::XMLLibXMLReader);

The variable $Image::Info::SVG::USING_MODULE can be queried to see which parser is in use (after Image::Info::SVG is required).

Since 1.38_50 processing of XML external entities (XXE) is not done anymore for security reasons in both backends (Image::Info::SVG::XMLLibXMLReader and Image::Info::SVG::XMLSimple). Controlling XXE processing behavior in XML::Simple is not really possible (see https://rt.cpan.org/Ticket/Display.html?id=83794), so as a workaround the underlying SAX parser is fixed to the XML::SAX::PurePerl manpage which is uncapable of processing external entities &0x2014; but unfortunately it is also a slow parser.


SEE ALSO

the Image::Info manpage, the XML::LibXML::Reader manpage, the XML::Simple manpage, the XML::SAX::PurePerl manpage


NOTES

For more information about SVG see http://www.w3.org/Graphics/SVG/

Random notes:

  Colors
    # iterate over polygon,rect,circle,ellipse,line,polyline,text for style->stroke: style->fill:?
    #  and iterate over each of these within <g> too?! and recurse?!
    # append <color>'s
    # perhaps even deep recursion through <svg>'s?
  ColorProfile <color-profile>
  RenderingIntent ?
  requiredFeatures
  requiredExtensions
  systemLanguage


AUTHOR

Jerrad Pierce <belg4mit@mit.edu>/ wrote the original code based on the XML::Simple manpage

Slaven Rezic <srezic@cpan.org> wrote the code using the XML::LibXML::Reader manpage

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2024