Inkscape AI compatible EPS exporter

Edit: I moved the script to GitHub, go there for full information and downloads.

This script converts an Inkscape SVG to Adobe Illustrator 7 compatible EPS. The generated EPS file uses custom Illustrator PS operators, and includes PostScript processes that stands in place of said operators when the file is not opened with Adobe Illustrator.

Reporting issues

Please report issues using the project’s github issue tracker, and upload a minimal SVG file that can reproduce the error.

Copyright

If you create some graphics and export it with this script, the copyright of the exported image belongs to you, your are free to do with it whatever you want.

104 responses to “Inkscape AI compatible EPS exporter”

  1. Ananda

    Is it work with inkscape 1.0.2?

    1. Ananda

      please can you check it, i don’t have illustrator

      1. Prim András

        I don’t have illustrator either (anymore), but if you open the exported EPS with another program (for example with Evince), and it looks good, then it’s more than likely that it will work with Illustrator too.

  2. Marcin

    Would the script run on MacOS? I placed it in the user extensions folder (found in Preferences->System->User extensions as well as in Inkscape Extensions and checked on file extensions and permissions. All look fine, yet I can’t get Save As with Adobe Illustrator compatible EPS option.
    I’m on MacOS BigSur(the latest) and I just downloaded Inkscape for Mac 1.0.1 and the latest extension of yours from your github. Thanks.

    1. Prim András

      I use MacOS Catalina, and it worked for me: I copied the .inx and .py file to the folder shown in Preferences->System->User extensions, restarted inkscape, and after that in the File->Save as… window the “Encapsulated Postscript – AI compatible (*.eps)” was available in the file type dropdown.

  3. ed

    is compatible with inkscape1.0.1?

    1. Prim András

      I didn’t check. Please try it if you can, and post your experience here.

    2. Prim András

      Now I’ve checked – I had no problem using it with inkscape 1.0.1.

  4. kholil emy

    salam
    can you help me,, hehe

    Traceback (most recent call last):
    File “aieps_output.py”, line 1169, in
    print(converter.convert())
    File “aieps_output.py”, line 1141, in convert
    self.walkElem(self.root)
    File “aieps_output.py”, line 882, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 882, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 882, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 865, in walkElem
    self.elemStop(elem)
    File “aieps_output.py”, line 705, in elemStop
    offset = float(elem.get(‘offset’)) * 100
    ValueError: could not convert string to float: ‘0%’

    1. Prim András

      I have a feeling that you didn’t create this svg with Inkscape. If so, then first try opening it with Inkscape, save it with Inkscape as SVG (which might convert some things that my script does not expect), and try to export to eps from Inkscape after it.

      If that does not work, than please open an issue at https://github.com/tzunghaor/inkscape-eps-export/issues, and upload the SVG file which causes the error.

      1. kholil

        ok. stil error

        i was upload in github

        1. kholil

          thank you very much,, its work

  5. Olesia

    Hello! Thank you for this extension. I can not save file in eps. How solve the problem? Error:

    Traceback (most recent call last):
    File “aieps_output.py”, line 1137, in
    print(converter.convert())
    File “aieps_output.py”, line 1109, in convert
    self.walkElem(self.root)
    File “aieps_output.py”, line 850, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 850, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 836, in walkElem
    self.layerStart(elem)
    File “aieps_output.py”, line 718, in layerStart
    layerName = “”.join(map(lambda x: ‘_’ if ord(x) 127 else x, layerName))
    TypeError: ‘NoneType’ object is not iterable

    1. Prim András

      It seems some of your layers lost its label.
      Open the layer editor (Layer / Layers… menu item), and rename any layer that’s name starts with “#” and try again.

      If it doesn’t help, submit a report with an SVG file here: https://github.com/tzunghaor/inkscape-eps-export/issues

      1. Olesia

        Thank you! I was able to save the file in eps.

    2. Kevin

      Sorry about Kesan and Yazid. first, please mind you, they are talking in Indonesia language, not Philippines. Second, you are right Yazid replied the same question as Kesan. Third, it is not spam I guess, probably don’t know English well to read your answer. For me, I am sorry about my English, it is not my native language. I appreciate your effort to answer these questions even though it is not english.
      Oh and thank you so much for your eps exporter, it is very helpful indeed.

      1. Kevin

        Sorry, wrong section to reply, I tried to reply in Kesan section but ended up in here

  6. sebnem

    Hello,
    Thank you for this wondeful extension. I made it work at commandline and get this error:
    Traceback (most recent call last):
    File “aieps_output.py”, line 1137, in
    print(converter.convert())
    File “aieps_output.py”, line 1109, in convert
    self.walkElem(self.root)
    File “aieps_output.py”, line 850, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 850, in walkElem
    self.walkElem(child)
    File “aieps_output.py”, line 821, in walkElem
    self.elemRect(elem)
    File “aieps_output.py”, line 575, in elemRect
    self.elemPath(elem, pathData)
    File “aieps_output.py”, line 319, in elemPath
    self.epspath += ‘\n%AI3_Note: ‘ + elem.get(‘id’) + ‘\n’
    TypeError: can only concatenate str (not “NoneType”) to str

    I am new at python. So it would be great if you have a sloution.

  7. Hi, thanks for your work, i really need it, btw can i use your extension for commercial use (ex : for submit shutterstock) 😀

    1. Prim András

      Sure, that’s exactly why I’ve written it.

      1. Kesan

        dapatkah saya menggunakan ekstensi Anda untuk penggunaan komersial (mis: untuk mengirim shutterstock) ?

        1. Prim András

          I put your comment into Google Translate, and I beleive that the answer is yes. I’ve added a paragraph about copyright to the text.

          1. Yazid

            Saya sangat berterimakasih adanya ekstensi ini…
            Bolehkah saya juga menggunakan ekstensi anda untuk penggunaan komersial ? 🙂

          2. Prim András

            What is going on here? The comment you are replying to answers this question. And the page is in english, I don’t speak philippenise. Is this some kind of obscure spam? But what is its goal?

Leave a Reply

Your email address will not be published. Required fields are marked *