Moving from OmniGraffle to SVG

Blog Summary: (AI Summaries by Summarizes)
  • OmniGraffle claims to support SVGs, but the import and export features do not work correctly.
  • To move from OmniGraffle to SVG, you need to install Adobe Illustrator and copy the drawing from OmniGraffle to Illustrator, then save it as a compressed SVG file.
  • To work with SVGZs, you need to install Inkscape 0.92 and xmlstarlet, then run a command in the terminal to convert the SVGZ file to SVG and remove extra Illustrator stuff.
  • After converting the files, you need to visually inspect them and make any necessary tweaks.

This post shows you how to export your OmniGraffle files to SVG.

…But First a Rant

Wait! I thought OmniGraffle says they support SVGs. Yes, they say they support SVGs. I’ve never been able to get them to work.

In OmniGraffle 6, they started supporting SVG import. I bought OmniGraffle 6 just for that feature. The SVG imports never imported correctly and I couldn’t get 99% of SVGs to import correctly. (As of OmniGraffle 7, they still don’t import correctly)

In OmniGraffle 7, they started supporting SVG export. I bought OmniGraffle 7 just for that feature. The SVG exports never exported correctly. The text kerning was correct and the SVGs were useless.

Maybe you’re starting to see a pattern here?

Or maybe I just didn’t let them know? Or maybe not enough time has went by to fix these bugs?

I first reported the import problem to their support on 9/19/2014. I first reported the export problem to their support on 10/11/2016. I followed up again on 11/1/2016. I kept on following up for months given that SVG support was critical for my use case.

My last email was on 6/22/2017 where I emailed the CEO about the problems. He didn’t even bother to respond.

How to Move From OmniGraffle to SVG

I spent 3 solid days trying to find a solution to this. It wasn’t easy. This is the only one I came up with.

  1. Start playing “Won’t Get Fooled Again” by The Who.
  2. Install Adobe Illustrator
  3. Open your drawing in OmniGraffle
  4. Copy the entire drawing into and paste into Adobe Illustrator
  5. In Illustrator File->Save a copy
  6. Give a file name
  7. Choose “Compressed SVG”
  8. Output using settings in dialog screenshot

  9. Repeat for every single graffle you have
  10. Wonder why you spent the money upgrading OmniGraffle when it doesn’t even work

Work With SVGZs

That will give you Compressed SVG file to start working with. That isn’t the last step.

  1. Make a copy of the compressed SVG just in case
  2. Install Inkscape 0.92
  3. Install xmlstarlet
  4. Wonder why OmniGraffle didn’t care enough about its customers so that you didn’t have to do this manually
  5. Open terminal and run this command. Be sure to change the path to your graffle:

    for filename in path/to/*.graffle ; do
        name=$(echo $filename | cut -f 1 -d '.')
    
    
        ls -lh "${name}.svgz"
    
    
        inkscape "${name}.svgz" --export-plain-svg="${name}.svg" > /dev/null 2>&1
    
        # Remove the extra (huge) Illustrator stuff for editing
        xmlstarlet ed --delete "//*[local-name()='pgf']" \
        "${name}.svg" > "${name}_out.svg"
        rm "${name}.svg"
        mv "${name}_out.svg" "${name}.svg"
    done
    
  6. Run this command. Be sure to change the path to your SVG:

    # Zoom canvas
    for filename in path/to/*.svg ; do
        ls -lh "${filename}"
        inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose \
        --verb=FileQuit "${filename}" > /dev/null 2>&1
    
        # Fix too many #38 due to Inkscape bug
        sed -i '' 's/#38;#38;ns_ai;/ns_ai;/' ${filename}
    done
    
  7. Run visual inspections on your files. You may need to tweak here and there.

Related Posts

The Difference Between Learning and Doing

Blog Summary: (AI Summaries by Summarizes)There are several types of learning videos: hype, low effort, novice, and professional.It is important to avoid hype, low-effort, and

The Data Discovery Team

Blog Summary: (AI Summaries by Summarizes)The concept of a “data discovery team” is introduced, which focuses on searching for data in an enterprise data reality.Data

Black and white photo of three corporate people discussing with a view of the city's buildings

Current 2023 Announcements

Blog Summary: (AI Summaries by Summarizes)Confluent’s Current Conference featured several announcements that are important for both technologists and investors.Confluent has two existing moats (replication and

zoomed in line graph photo

Data Teams Survey 2023 Follow-Up

Blog Summary: (AI Summaries by Summarizes)Many companies, regardless of size, are using data mesh as a methodology.Smaller companies may not necessarily need a data mesh

Laptop on a table showing a graph of data

Data Teams Survey 2023 Results

Blog Summary: (AI Summaries by Summarizes)A survey was conducted between January 24, 2023, and February 28, 2023, to gather data for the book “Data Teams”

Black and white photo of three corporate people discussing with a view of the city's buildings

Analysis of Confluent Buying Immerok

Blog Summary: (AI Summaries by Summarizes)Confluent has announced the acquisition of Immerok, which represents a significant shift in strategy for Confluent.The future of primarily ksqlDB

Tall modern buildings with the view of the ocean's horizon

Brief History of Data Engineering

Blog Summary: (AI Summaries by Summarizes)Google created MapReduce and GFS in 2004 for scalable systems.Apache Hadoop was created in 2005 by Doug Cutting based on