Instalační
Přehled
Aspose.Slides for PHP via Java běží ve dvou procesech. Váš PHP skript používá třídy PHP, které předávají každý volání přes PHP/Java Bridge do Aspose.Slides, který běží na Javě uvnitř Apache Tomcat. Tento článek vysvětluje, jak nastavit obě strany, nainstalovat balíček pomocí Composeru a spustit krátký skript pro ověření instalace.
Požadavky
- PHP 7.0 až 8.3, s
allow_url_include = Onvphp.ini. Vaše skripty načítají klientskou knihovnu mostuJava.incz Tomcatu přes HTTP. Na PHP 8.4 a novějšímJava.inckončí chybou “end() expects exactly 1 argument”, pokud je načtena rozšíření PHPxml, a Windows verze PHP ji vždy načtou. - Composer.
- Java 8 nebo novější. JRE stačí.
- Apache Tomcat 9. PHP/Java Bridge je postaven na API
javax.servlet, které Tomcat 10 a novější již neposkytuje, takže most zde nezačne. - PHP/Java Bridge 7.2.1, jeho nejnovější vydání. Jeho webová aplikace
JavaBridge.warběží v Tomcatu.
Tento článek spouští Tomcat i vaše PHP skripty na stejném počítači. Aspose.Slides otevírá a ukládá soubory uvnitř Tomcatu, takže každá cesta, kterou mu vaše skripty předají, musí být v něm platná.
Instalace na Linuxu
Tyto příkazy nainstalují vše do vašeho domovského adresáře na Ubuntu 24.04. Na jiných distribucích nainstalujte stejné balíčky pomocí správce balíčků distribuce.
-
Nainstalujte PHP, Composer, Javu a nástroje pro stahování, poté zapněte
allow_url_includepro PHP příkazovou řádku:sudo apt-get update sudo apt-get install -y php-cli composer default-jre-headless curl unzip sudo sed -i 's/^allow_url_include = Off/allow_url_include = On/' "$(php -r 'echo php_ini_loaded_file();')"
2. Stáhněte Apache Tomcat 9 a PHP/Java Bridge, vložte `JavaBridge.war` mostu do složky `webapps` Tomcatu a spusťte Tomcat. Tomcat rozbalí soubor WAR do `webapps/JavaBridge` při spuštění:
```bash
cd ~
curl -fsSLO https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.122/bin/apache-tomcat-9.0.122.tar.gz
tar -xzf apache-tomcat-9.0.122.tar.gz
curl -fsSL -o php-java-bridge.zip "https://sourceforge.net/projects/php-java-bridge/files/Binary%20package/php-java-bridge_7.2.1/php-java-bridge_7.2.1_documentation.zip/download"
unzip -o php-java-bridge.zip JavaBridge.war -d apache-tomcat-9.0.122/webapps
apache-tomcat-9.0.122/bin/startup.sh
-
Vytvořte složku projektu a nainstalujte Aspose.Slides for PHP via Java z Packagist:
mkdir ~/hello-slides cd ~/hello-slides composer require aspose/slides -
Zastavte Tomcat, zkopírujte JAR soubor Aspose.Slides z balíčku do složky
WEB-INF/libmostu, nahraďteJava.incmostu verzí pro PHP 8 z balíčku a spusťte Tomcat znovu:~/apache-tomcat-9.0.122/bin/shutdown.sh cp vendor/aspose/slides/cs/jar/aspose-slides-*-php.jar ~/apache-tomcat-9.0.122/webapps/JavaBridge/WEB-INF/lib/ unzip -o vendor/aspose/slides/cs/Java.inc.php8.zip -d ~/apache-tomcat-9.0.122/webapps/JavaBridge/java/ ~/apache-tomcat-9.0.122/bin/startup.shNa PHP 7 vynechejte nahrazení
Java.inc. Tomcat potřebuje několik sekund na spuštění a musí běžet, kdykoli vaše skripty používají Aspose.Slides.
Instalace ve Windows
-
Nainstalujte PHP 8.3 pro Windows a přidejte jeho složku do proměnné prostředí
PATH. Zkopírujtephp.ini-productiondophp.inive stejné složce. Vphp.ininastavteallow_url_include = Ona odkomentujte řádkyextension_dir = "ext",extension=opensslaextension=zip. Composer potřebujeopensslpro stahování balíčků azippro jejich rozbalení, pokud není nainstalován 7‑Zip nebo není příkazunzipvPATH. -
Nainstalujte Composer.
-
Nainstalujte Javu a nastavte proměnnou prostředí
JAVA_HOMEna její složku. Tomcat bez ní nespustí. -
V příkazovém řádku stáhněte Apache Tomcat 9 a PHP/Java Bridge, vložte
JavaBridge.warmostu do složkywebappsTomcatu a spusťte Tomcat. Skripty Tomcatu najdou Tomcat přes proměnnouCATALINA_HOME, takže pro následující kroky používejte stejné okno příkazového řádku. Tomcat rozbalí soubor WAR dowebapps\JavaBridgepři spuštění:cd %USERPROFILE% curl -fsSLO https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.122/bin/apache-tomcat-9.0.122-windows-x64.zip tar -xf apache-tomcat-9.0.122-windows-x64.zip set CATALINA_HOME=%USERPROFILE%\apache-tomcat-9.0.122 curl -fsSL -o php-java-bridge.zip "https://sourceforge.net/projects/php-java-bridge/files/Binary%20package/php-java-bridge_5.0.0/php-java-bridge_5.0.0_documentation.zip/download" tar -xf php-java-bridge.zip -C "%CATALINA_HOME%\webapps" JavaBridge.war "%CATALINA_HOME%\bin\startup.bat" -
Vytvořte složku projektu a nainstalujte Aspose.Slides for PHP via Java z Packagist:
mkdir %USERPROFILE%\hello-slides cd %USERPROFILE%\hello-slides composer require aspose/slides -
Zastavte Tomcat, zkopírujte JAR soubor Aspose.Slides z balíčku do složky
WEB-INF\libmostu, nahraďteJava.incmostu verzí pro PHP 8 z balíčku a spusťte Tomcat znovu:"%CATALINA_HOME%\bin\shutdown.bat" copy vendor\aspose\slides\jar\aspose-slides-*-php.jar "%CATALINA_HOME%\webapps\JavaBridge\WEB-INF\lib\" tar -xf vendor\aspose\slides\Java.inc.php8.zip -C "%CATALINA_HOME%\webapps\JavaBridge\java" "%CATALINA_HOME%\bin\startup.bat"Na PHP 7 vynechejte nahrazení
Java.inc. Tomcat potřebuje několik sekund na spuštění a musí běžet, kdykoli vaše skripty používají Aspose.Slides.
Ověření instalace
Uložte tento skript jako hello.php do složky projektu. Vytvoří prezentaci s jedním textovým polem a uloží ji vedle skriptu:
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/cs/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
$shape->getTextFrame()->setText("Hello, Aspose.Slides!");
$presentation->save(__DIR__ . "/hello.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Spusťte jej ze složky projektu:
php hello.php
Skript vytvoří hello.pptx s jedním snímkem, který obsahuje textové pole. Bez licence snímek také nese vodoznak hodnocení; viz Licensing.
Skript zahrnuje aspose.slides.php přímo: Autoloader Composeru nemůže načíst tyto třídy, protože jsou všechny definovány v tomto jediném souboru. Také předává absolutní cestu do save, protože Aspose.Slides běží uvnitř Tomcatu a relativní cestu vyhodnocuje vůči pracovní složce Tomcatu, ne vůči vašemu skriptu.
Často kladené otázky
Jak mohu ověřit, že je Aspose.Slides správně integrován?
Spusťte skript v Ověření instalace. Pokud vytvoří hello.pptx bez chyb, PHP, PHP/Java Bridge a Aspose.Slides spolupracují správně.
Proč se můj skript zastaví s chybou “Failed opening required ‘http://localhost:8080/JavaBridge/java/Java.inc’”?
PHP se nepodařilo načíst Java.inc z Tomcatu. Pokud před tímto hlášením stojí, že je zakázán http:// wrapper, nastavte allow_url_include = On v souboru php.ini, který načítá vaše PHP z příkazové řádky; php --ini ukáže, který soubor to je. Pokud se zobrazí “Connection refused”, Tomcat ještě neběží: spusťte jej nebo počkejte několik sekund, dokud se nespustí.
Jak mohu omezit spotřebu paměti při zpracování velkých prezentací?
Zvyšte limity paměti JVM jen tak, jak jsou potřeba, a uzavřete každou instanci Presentation v bloku finally, aby se cache uvolnila okamžitě. Tím se předejde chybám nedostatku paměti a celková spotřeba paměti zůstane předvídatelná během dávkových operací.
Mohu vyloučit nechtěné exportní formáty a tím zmenšit konečnou velikost JAR?
Aktuální vydání Aspose.Slides jsou dodávána jako jediná monolitická knihovna, takže nelze při sestavování zakázat konkrétní exportéry jako PDF nebo SVG.