diff options
Diffstat (limited to 'doc/language-bindings/md/introduction.md')
-rwxr-xr-x | doc/language-bindings/md/introduction.md | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/doc/language-bindings/md/introduction.md b/doc/language-bindings/md/introduction.md new file mode 100755 index 00000000..33b6856d --- /dev/null +++ b/doc/language-bindings/md/introduction.md @@ -0,0 +1,113 @@ +# Introduction + +<div class="banner intro"> + <div class="default-text"></div> + <div class="vendor-logo gs-logo"></div> + <div class="vendor-logo c-sharp-logo"></div> + <div class="vendor-logo java-logo"></div> + <div class="vendor-logo python-logo"></div> +</div> + +## About our APIs + +The core of Ghostscript is written in `C`, but also supports [language bindings] for the following programming languages: + +* `C#` +* `Java` +* `Python` + +All of the above languages have equivalent methods as defined in the [C API]. `Java` and `C#` provide additional helper methods to make the use of the API easier for certain applications. These languages also provide example viewers that make use of these methods. + +This developer documentation is organized by programming language type and includes API reference and sample code. + +## The C API + +<div class="vendor-logo c-logo"></div> +<p/> + +Ghostscript has been in development for over thirty years and is written in `C`. The API has evolved over time and is continually being developed. The language bindings into Ghostscript will attempt to mirror this evolution and match the current [C API] as much as possible. + +## Licensing + +Before using Ghostscript, please make sure that you have a valid license to do so. There are two available licenses; make sure you pick the one whose terms you can comply with. + +### Open Source license + +If your software is open source, you may use Ghostscript under the terms of the GNU Affero General Public License. + +This means that all of the source code for your complete app must be released under a compatible open source license! + +It also means that you may not use any proprietary closed source libraries or components in your app. + +Please read the full text of the AGPL license agreement from the [FSF web site] + +If you cannot or do not want to comply with these restrictions, you must acquire a commercial license instead. + +<button class="cta orange"><a href="https://artifex.com/licensing/" target="new">FIND OUT MORE</a></button> + +### Commercial license + +If your project does not meet the requirements of the AGPL, please contact our sales team to discuss a commercial license. Each Artifex commercial license is crafted based on your individual use case. + +<button class="cta orange"><a href="https://artifex.com/contact/" target="new">CONTACT US</a></button> + + +## Building Ghostscript + +In order to use Ghostscript language bindings firstly Ghostscript must be built as a shared library for your platform. + +The following built libraries are required for these respective platforms: + +| Platform | Ghostscript library files | +|---|---| +|Windows 32-bit|`gpdldll32.dll` `gsdll32.dll`| +|Windows 64-bit|`gpdldll64.dll` `gsdll64.dll`| +|MacOS|`libgpdl.dylib` `libgs.dylib`| +|Linux / OpenBSD|`libgpdl.so` `libgs.so`| + + +> **NOTE**<br> +> The actual filenames on MacOS will be appended with the version of Ghostscript with associated symlinks. + +### Building on Windows + +To build the required DLLs, load `/windows/ghostpdl.sln` into Visual Studio, and select the required architecture from the drop down - then right click on 'ghostpdl' in the solution explorer and choose "Build". + + +### Building on MacOS or Linux / OpenBSD + +Firstly run the `autogen.sh` script from the command line to create the required configuration files followed by `make so` to build the shared libraries. The scripts also depend on having both `autoconf` and `automake` installed on your system. <sup>[1]</sup> + +#### autoconf & automake + +If this software is not already on your system (usually this can be found in the following location: `usr/local/bin`, but it could be located elsewhere depending on your setup) then it can be installed from your OS's package system. + + +Alternatively, it can be installed from [GNU] here: + +https://www.gnu.org/software/autoconf/ + +https://www.gnu.org/software/automake/ + +Or, it can be installed via [Brew] by running: + +``` +brew install autoconf automake +``` + +Once built, these libraries can be found in your `ghostpdl/sobin/` or `ghostpdl/sodebugbin` location depending on your build command. + + + +> **NOTE**<br> +> For full detailed instructions on how to build your Ghostscript library see [here]. +> + +[Python]: https://www.python.org/ +[Brew]: https://brew.sh/ +[GNU]: https://www.gnu.org/ + +[C API]: https://www.ghostscript.com/doc/current/API.htm +[FSF web site]: https://www.gnu.org/licenses/agpl-3.0.html +[here]: https://ghostscript.com/doc/current/Make.htm +[language bindings]: https://en.wikipedia.org/wiki/Language_binding |