Skip to main content
Nico88
Participating Frequently
October 22, 2019
Question

A web service w/ server processing job creating Adobe files from Adobe Script?

  • October 22, 2019
  • 4 replies
  • 1768 views

Can I leverage on the Adobe suite as a backend server engine to offer a webservice to create template files?

 

The idea is develop a webservice that takes a payload to generate a blank Illustrator file or PDF having some paths traced via Adobe scripting. The service will then return the generated file via (Content-Disposition: attachment; filename="filename.ai")

 

Notes:

  • I'm not sure how to create a file via adobe scripting, I normally open Illustrator and execute Script and save/create the file via Illustrator App.
  • I havent find anything like a SDK to integrate a possible webservice with Adobe Suite
  • I see there's a Adobe Indesign server solution that look like it might be performing something like this.... but I'm afraid InDesign would not be the best App to manage a Canvas and Paths on it to create tracks for a template, personally I'm thinking Illustrator would be the best candidate App for this kind of usecase

 

Do you have Any experience, usecase, hint to share?

 

Many thanks

 

 

This topic has been closed for replies.

4 replies

Silly-V
Legend
October 31, 2019

Getting a special license for Ai-server capabilities has to be a very costly endeavor whereby not only does one have to pony-up the budget but also be able to contact the appropriate Adobe personnel in the first place. Calling the regular sales phone-line won't do, (unless things have changed) as the sales-people will have no idea what you're talking about. Furthermore, to truly be able to use an Illustrator on a server would require extensive C++ SDK development for best results. The reason being, it was never built with UI-less performance in mind as the foundation, as is the case with InDesign. Therefore, processing time and run-time errors, especially errors cause due to rendering will create a non-scalable scenario if one were to simply stick an Illustrator on a server and start feeding it all sorts of arbitrary API calls with the expectation of immediate and convenient results. There are decades-old MRAP errors when scripting is used, and they can be unpredictable and irreproducible - seemingly appearing at random during certain operations. Hence the necessity to do the heavy C++ development for any such thing, in my personal opinion. (Thoughts?)
However, if you were to simply use this setup in-house at some company where a multitude of users are already licensed with their own desktop CC license, Adobe staff have mentioned before on these forums (back when they were more searchable and accessible) that it would in fact be allowed and legal provided that only licensed users could access this API. (No secretary getting Ai-generated documents magically in the front office, unless they are also licensed with own desktop CC license)
If this is your case, or if this kind of environment would foster experimentation on your part to then further explore the possibilities as a mockup of sorts, then you can probably make it happen real easy (relatively speaking). All you would really need is for example, a running computer accessible via the intranet WiFi at your organization, a PHP page to receive web calls and then trigger a JSX script. This could be an exciting and fun exercise if you have time for it, because there is certainly something magical about being able to remotely activate a desktop application and get a downloaded document back on an entirely different computer. However this same exercise would be a good benchmark for the features in which the application or scripting would fall short on as far as performance goes. For example, say about 1/20 of your operations incur a MRAP error which then re-occurs every time after it appears. Now you need a procedure to restart Illustrator and try again. But how far along the process did you get before it quit? Maybe it was a several-document operation and it did about 5 out of 10 documents, each one taking a long time. So now you have to do this and that to keep track of various things. Then, while all this is going on, there's 5 other of your workers sending their API calls and clicking over and over because it's not responding at all. So now, maybe you have to have a queue or virtual machines to hold multiple application instances, it can get to be a mess!

Contrast this with InDesign server whose yearly cost is (relatively speaking, again) in the teens of thousands of dollars, which is a small price to pay considering you can be processing legally-web-inputted data while you sleep, 365 days per year - and ID is built to run without any UI from the ground-up. Illustrator absolutely has to have UI in order to work and has no concept of background tasks.

 

Anyways, that's my knowledge from years of hanging out here and barking up that tree.

Nico88
Nico88Author
Participating Frequently
October 31, 2019

Thanks for your comprehensive answers.

I see that all of you are rising up a license issue. And maybe what I stated does not describe very proplerly my problem and intentions.

" to offer a webservice to create template files?"

 

To explain better. Intention is not to let all user that access the webservice use my "server" AI app (assuming it is ever possible to implement) 

Otherwise is to let user request some parameters and  returning a *.ai document or export layered PDF (e.g. with some margins and guides)

 

 

 

User won't possibly use that document if not licensed on client side. But they will have just some skeleton to start and produce thier artwork on the canvas.

 

Said the above, I can't be 100% sure that is violating Adobe License. but still If you look around on the internet , people do sell *ai files as temaplates that are downloadable via web. Is this violating the license too? (I'm not sure about that)

But as a personal opinion this should be not considered as violating. You're not letting others to use AI. You're delivering your work with AI and only people with a license could possibly take fully advantage of it.

 

About:

"PHP page to receive web calls and then trigger a JSX script."

That I was also thinking to implement: a server side application that produces Adobe Scriptiong files (JSX)

A skilled AI operator should then know that he/she could execute that script from inside AI  (Menu File>Scripts>Other scripts...)

And that should be enough o scaffhold the document as wanted. But I also believe that is not a double click and start working.... (Unless the jsx ext is mapped to AI app) Like having a *.ai file which the client associate already to AI app.

 

 

 

 

 

Legend
November 1, 2019

You can freely make an AI file and offer it on the web with no license at all (for the offering).

What you can't do is run AI on the server to take the user's choices and make their own template. In this case THEY ARE A USER OF THE SOFTWARE.

How can you tell if it is a license violation? If you have an idea that only works if AI is installed on your web server, then you have a license violation.

Ten A
Community Expert
Community Expert
October 25, 2019

Adobe not allowed Illustrator works as a server process.
In your case, The use of InDesign Server is the only way.

Inspiring
October 22, 2019

You say you want your webservice to generate an Illustrator file or PDF with some paths. PDF is an open format and you can generate a simple PDF file from scratch using a scripting language like php.

Nico88
Nico88Author
Participating Frequently
October 22, 2019

Yes I know some libraries to perform that. Thanks

Legend
October 22, 2019

Check the license, or have your legal team check it. The standard license is for one person only. A web app may be used by many people. Generally you need a server license, and this has sometimes cost companies millions if they used a single license, and were charged for each web visitor. 

Nico88
Nico88Author
Participating Frequently
October 22, 2019

Licensing is a good point to consider. But before I'm mor einterested if this is ever possible.

Legend
October 22, 2019

Ad