0

I'm very new to Java and have been using Eclipse to write/compile code so far, and have downloaded iText in order to perform certain manipulations of PDF files.

I'm hoping to convert my .java programs into .exe eventually (with JSmooth) which will run as stand-alone executable files that my clients can use on their PC. However, my java program uses iText functionality...

  • Does this mean that anyone who runs my eventual .exe file will also have to have iText installed on their computer?
  • Is it possible for my program to reference iText via the internet as opposed to requiring my clients having iText installed locally? Basically the less that my clients must download/install beyond my executable file would be ideal.

Any feedback is great, thanks a lot.

Mathomatic
  • 899
  • 1
  • 13
  • 38
  • 1
    *"Is it possible for my program to reference iText via the internet as opposed to requiring my clients having iText installed locally"* - No, not really, not without a lot more work then it's worth. Your program should have reference to the iText libraries (all the .jar files). If you export your program as a runnable .jar, then those dependencies should be included (as external jars) along with your program jar and your program jar should be configured to include those dependencies when it's executed. So you should just be able to bundle the whole lot into a standalone exe – MadProgrammer Oct 14 '15 at 02:58
  • Interesting. Thanks for the quick feedback. – Mathomatic Oct 14 '15 at 03:08

1 Answers1

1

Does this mean that anyone who runs my eventual .exe file will also have to have iText installed on their computer?

IText is a Java library rather than an application. As such, it should be technically possible to embed the relevant JAR files in your application when you convert it to an exe.

HOWEVER ... IText is distributed (for free) under the GPL Affero Livense version 3 ... with additions. (READ IT HERE). This means that you can only embed IText in your application, if your application is distributed under an open-source license that is compatible with Affero. If you are not willing to abide by that, then you can't legally embed the free version of IText in your application. (IANAL).

HOWEVER ... IText offers commercial licenses that would release you from this obligation.


Is it possible for my program to reference iText via the internet as opposed to requiring my clients having iText installed locally? Basically the less that my clients must download/install beyond my executable file would be ideal.

Difficult question. Ask a lawyer.

(Also, if your goal is to release proprietary / closed-source code that uses IText without paying for a commercial IText license ... check your "moral compass".)

Stephen C
  • 698,415
  • 94
  • 811
  • 1,216