Quick Start
Basic conversion
Convert a Visio file to SVG:
from libvisio_ng import convert
# Convert all pages to SVG files
svg_files = convert("diagram.vsdx", output_dir="output/")
# Works with both .vsdx and .vsd formats
svg_files = convert("legacy.vsd", output_dir="output/")
Page information
Retrieve metadata about pages in a Visio file:
from libvisio_ng import get_page_info
for page in get_page_info("diagram.vsdx"):
print(f"{page['name']}: {page['width']}x{page['height']}")
Text extraction
Extract all text content from a diagram:
from libvisio_ng import extract_text
text = extract_text("diagram.vsdx")
print(text)
Working with .vsd files directly
The binary VSD parser provides low-level access:
from libvisio_ng import parse_vsd_file
doc = parse_vsd_file("legacy.vsd")
for page in doc.pages:
print(f"Page: {page.name} ({len(page.shapes)} shapes)")
for shape in page.shapes:
if shape.text:
print(f" Shape {shape.shape_id}: {shape.text}")
PNG and PDF export
Export SVG files to PNG or PDF (requires cairosvg):
from libvisio_ng import convert, export_to_png, export_to_pdf
svg_files = convert("diagram.vsdx", output_dir="output/")
for svg in svg_files:
export_to_png(svg, svg.replace(".svg", ".png"))
export_to_pdf(svg, svg.replace(".svg", ".pdf"))