1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
<html lang="en">
<head>
<title>Ghostscript language bindings</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<!-- <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i" rel="stylesheet"> -->
<link rel="shortcut icon" href="images/favicon.svg">
<link href="css/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/default.js"></script>
</head>
<body>
<header><h1></h1><div class="menu-icon" onclick="javascript:showMenu();"></div></header>
<div id="burger-menu">
<div class="navigation">
<div class="title first">Introduction</div>
<div class="link"><a href="index.html">About our APIs</a></div>
<div class="link"><a href="demo-code.html">Demo code</a></div>
<div class="title">C#</div>
<div class="link"><a href="c-sharp-intro.html">Overview</a></div>
<div class="link"><a href="c-sharp-ghost-api.html">GhostAPI</a></div>
<div class="link"><a href="c-sharp-ghost-net.html">GhostNET</a></div>
<div class="link"><a href="c-sharp-ghost-mono.html">GhostMono</a></div>
<div class="title">Java</div>
<div class="link"><a href="java-intro.html">Overview</a></div>
<div class="link"><a href="java-gsjavajar.html">gsjava.jar</a></div>
<div class="title">Python</div>
<div class="link selected"><a href="python-intro.html">Overview</a></div>
<div class="link"><a href="python-gsapi.html">gsapi.py</a></div>
</div>
</div>
<div class="main">
<div class="left">
<div class="title first">Introduction</div>
<div class="link"><a href="index.html">About our APIs</a></div>
<div class="link"><a href="demo-code.html">Demo code</a></div>
<div class="title">C#</div>
<div class="link"><a href="c-sharp-intro.html">Overview</a></div>
<div class="link"><a href="c-sharp-ghost-api.html">GhostAPI</a></div>
<div class="link"><a href="c-sharp-ghost-net.html">GhostNET</a></div>
<div class="link"><a href="c-sharp-ghost-mono.html">GhostMono</a></div>
<div class="title">Java</div>
<div class="link"><a href="java-intro.html">Overview</a></div>
<div class="link"><a href="java-gsjavajar.html">gsjava.jar</a></div>
<div class="title">Python</div>
<div class="link selected"><a href="python-intro.html">Overview</a></div>
<div class="link"><a href="python-gsapi.html">gsapi.py</a></div>
</div>
<div class="middle">
<!-- note: don't tab indent <article> as it has <pre> code which will have its layout adversly affected -->
<article class="markdown-body entry-content"><h1 id="python-overview">Python overview</h1>
<div class="banner">
<div class="python-text"></div>
<div class="vendor-logo python-logo"></div>
</div>
<h2 id="about">About</h2>
<p>The <code>Python</code> API is provided by the file <a href="python-gsapi">gsapi.py</a> - this is the binding to the Ghostscript <code>C</code> library.</p>
<p>In the <a href="https://github.com/ArtifexSoftware/ghostpdl">GhostPDL repository</a> sample <code>Python</code> examples can be found in <code>/demos/python/examples.py</code>.</p>
<h2 id="platform-setup">Platform & setup</h2>
<h3 id="building-ghostscript">Building Ghostscript</h3>
<p>Ghostscript should be built as a shared library for your platform.</p>
<p>See <a href="index.html#building-ghostscript">Building Ghostscript</a>.</p>
<h2 id="specifying-the-ghostscript-shared-library">Specifying the Ghostscript shared library</h2>
<p>Two environmental variables can be used to specify where to find the Ghostscript shared library.</p>
<p><code>GSAPI_LIB</code> sets the exact path of the Ghostscript shared library, otherwise, <code>GSAPI_LIBDIR</code> sets the directory containing the Ghostscript shared library.</p>
<p>If neither is defined we will use the OS's default location(s) for shared libraries.</p>
<p>If <code>GSAPI_LIB</code> is not defined, the leafname of the shared library is inferred
from the OS type - <code>libgs.so</code> on Unix, <code>libgs.dylib</code> on MacOS, <code>gsdll64.dll</code> on Windows 64.</p>
<h2 id="api-test">API test</h2>
<p>The <code>gsapi.py</code> file that provides the <code>Python</code> bindings can also be used to test the bindings, by running it directly.</p>
<p>Assuming that your Ghostscript library has successfully been created, then from the root of your <code>ghostpdl</code> checkout run:</p>
<h4 id="windows">Windows</h4>
<div class="tag shellCommand"> from ghostpdl</div>
<pre><code>// Run gsapi.py as a test script in a cmd.exe window:
set GSAPI_LIBDIR=debugbin&& python ./demos/python/gsapi.py
// Run gsapi.py as a test script in a PowerShell window:
cmd /C "set GSAPI_LIBDIR=debugbin&& python ./demos/python/gsapi.py"</code></pre><h4 id="linux-openbsd-macos">Linux/OpenBSD/MacOS</h4>
<div class="tag shellCommand"> from ghostpdl</div>
<pre><code>// Run gsapi.py as a test script:
GSAPI_LIBDIR=sodebugbin ./demos/python/gsapi.py</code></pre><p>If there are no errors then this will have validated that the Ghostscript library is present & operational.</p>
</article>
</div> <!-- /middle -->
<div class="right">
<div class="link"><a href="#about">About</a></div>
<div class="link"><a href="#platform-setup">Platform & setup</a></div>
<div class="sub-link"><a href="#building-ghostscript">Building Ghostscript</a></div>
<div class="link"><a href="#specifying-the-ghostscript-shared-library">Specifying the Ghostscript shared library</a></div>
<div class="link"><a href="#api-test">API test</a></div>
</div>
</div>
<footer></footer>
</body>
</html>
|