Skip to main content

DrawIO2PDF

Intro

Always wondered how to make beautiful mathematical figures with latex inside them? You can use tikz but it's learning curve is steep and many only ascended people can use it fluently. How about draw.io? It allows you to make beautiful figures. What's better, you can latex-type there. But what is that? Have you tried to export it into PDF? No? I don't recommend that if you have a figure full of maths and you still want to have your eyes unharmed.

This is why I created this tool. You can export your figures from draw.io without worrying that it will break any math font. The output is essentially unrecognizable from a standard tikz figure. It will look beautiful in your PDF document and since it's a vector graphic, everyone can zoom in to take a deeper look into your diagram.

Requirements

  • inkscape >= 1.0
  • pdflatex (I use sudo apt-get install texlive-full for that)
  • python >= 3.6

Installation

From the pip repository:

pip install drawio2pdf

or from git:

pip install git+https://github.com/kacperkan/drawio2pdf/

Usage

  1. Create your beautiful diagram, using latex formulas and so on.
  2. Disable Extras > Mathematical Typesetting.
  3. Export your diagram with SVG.
  4. drawio2pdf <path-where-you-saved-your-svg>.

process

The script will a PDF in the same folder and the same file name.

The result:

result

FAQ

Q: I get AssertionError: Incorrect PDF latex generation while running you script!

A: I met these issue personally in one of the following cases:

  • I didn't have pdflatex or inkscape that was runnable from the console
  • I accidentally put a new line in the math formula. When using Mathematical Typesetting, draw.io will render it correctly. However, the SVG file content will be completely broken and it's not that obvious how to parse it with the ETree in python. Solution: Remove any newline in mathematical formulas so they're one liners
  • I totally forgot to turn Mathematical Typesetting off.


Licence

This project is licensed under the terms of the MIT license.

Release files for drawio2pdf 0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drawio2pdf 0.0.0
File Size Uploaded
drawio2pdf-0.0.0.tar.gz 5.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for drawio2pdf 0.0.0
File Interpreter ABI Platform
drawio2pdf-0.0.0-py3.8.egg Legacy Egg format - - Details
drawio2pdf-0.0.0-py3.7.egg Legacy Egg format - - Details
drawio2pdf-0.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.0 kB

Release files / drawio2pdf-0.0.0.tar.gz

Download URL drawio2pdf-0.0.0.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a791076bebea708b3d22c3b29a33608ae66d9dbb4bd7a1379f828618ec9d0a97
BLAKE2b-256 checksum
How to use checksums
d420ef22d6270a2620d3c614aa2d2d7e9d775016a51ccdc61c6ceada8f60a7d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.0.post20201103 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

Release files / drawio2pdf-0.0.0-py3.8.egg

Download URL drawio2pdf-0.0.0-py3.8.egg
Size 15.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
3033f99bf3283e6acd8021801afb52cbc2d3c94fcf9e691307ffc8ff2beec321
BLAKE2b-256 checksum
How to use checksums
b38fdc14017f0ca400e13761e2c647dbeea0cd6ebc3110a15a77fa4db85f6636
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.0.post20201103 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

Release files / drawio2pdf-0.0.0-py3.7.egg

Download URL drawio2pdf-0.0.0-py3.7.egg
Size 8.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
ffedfe35985df0d4eebe0dde0d49d1057fe939cdbf3590dceb7938c307cecc44
BLAKE2b-256 checksum
How to use checksums
dfc48a31915b2a9d3a8ce8b997e83029bf8b09fc6b83e5382571b18d5c09058e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.0.post20201103 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

Release files / drawio2pdf-0.0.0-py3-none-any.whl

Download URL drawio2pdf-0.0.0-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea2c91719ae7fb594759148f661dfece17ab5c45d6e0d63bde466142f5fb2d10
BLAKE2b-256 checksum
How to use checksums
aa03faedc6c1efb72846c3fbc94e3c11e3b86010f700f153f0edefedf907930a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.0.post20201103 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3

Release history Release notifications | RSS feed

This release

0.0.0 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page