Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

PyCairo – How to get SVG unit?

  • Last Updated : 12 Nov, 2020

In this article, we will see how we can get SVG unit in pycairo using python. SVG unit is used to describe the units valid for coordinates and lengths in the SVG specification

Pycairo is a Python module providing bindings for the cairo graphics library. This library is used for creating SVG i.e vector files in python. The easiest and quickest way to open an SVG file to view it (read-only) is with a modern web browser like Chrome, Firefox, Edge, or Internet Explorer—nearly all of them should provide some sort of rendering support for the SVG format.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

These are the following SVG units in Pycairo

  1. USER User unit, a value in the current coordinate system. If used in the root element for the initial coordinate systems it corresponds to pixels
  2. EM The size of the element’s font
  3. EX The x-height of the element’s font
  4. PX Pixels (1px = 1/96th of 1in)
  5. IN Inches (1in = 2.54cm = 96px)
  6. CM Centimeters (1cm = 96px/2.54)
  7. MM Millimeters (1mm = 1/10th of 1cm)
  8. PT Points (1pt = 1/72th of 1in)
  9. PC Picas (1pc = 1/6th of 1in)
  10. PERCENT Percent, a value that is some fraction of another reference value.

In order to use the we will use get_document_unit with SVG surface object

Syntax : get_document_unit()

Argument : It takes no argument

Return : It returns SVG unit but when printed it shows value associated with it.


# importing pycairo
import cairo
# creating a SVG surface
# here geek95 is file name & 700, 700 is dimension
with cairo.SVGSurface("geek95.svg", 700, 700) as surface:
    # creating a cairo context object
    context = cairo.Context(surface)
    # creating a rectangle(square)
    context.rectangle(100, 100, 100, 100)
    # setting color of the context
    context.set_source_rgba(0.4, 1, 0.4, 1)
    # stroke out the color and width property
    # getting the svg unit
    value = surface.get_document_unit()
# printing the SVG unit
print("SVG unit= " + str(value))


SVG unit= 7
My Personal Notes arrow_drop_up
Recommended Articles
Page :