A JPG képek programozott átalakítása PDF dokumentumokká gyakori igény a jelentéskészítést vagy archiválási funkciókat építő PHP fejlesztők számára. Aspose.Words Cloud SDK for PHP lehetővé teszi, hogy néhány sor kóddal JPG-t PDF-re konvertáljon PHP-ben. Ebben az útmutatóban lépésről‑lépésre bemutatót, egy teljes működő példát és cURL parancsokat a REST API-hoz fog látni. Emellett megtanulja, hogyan finomhangolja a DPI-t és a képminőséget az optimális eredmények érdekében.
Aspose.Words Cloud SDK for PHP beállítása
Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik:
- PHP 7.4 vagy újabb
- Composer telepítve
- Aspose Cloud fiók Client Id és Client Secret értékekkel
- Hálózati hozzáférés a
https://api.aspose.cloud
Telepítse az SDK‑t Composer segítségével:
composer require aspose-cloud/aspose-words-cloud
Töltse le a legújabb csomagot a hivatalos kiadási oldalról: Aspose.Words Cloud SDK for PHP Download.
Most konfigurálja az SDK-t a hitelesítő adataival:
require __DIR__ . '/vendor/autoload.php';
use Aspose\Words\Configuration;
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
A konfiguráció elkészültével létrehozhat egy WordsApi példányt, és elkezdheti a konvertálást.
JPG-ből PDF-re konvertálás PHP-ben: Lépésről lépésre útmutató
1. lépés: A forrásdokumentum betöltése
Nyissa meg a JPG fájlt adatfolyamként, hogy a nagy képek hatékonyan legyenek kezelve.
$inputJpgPath = __DIR__ . '/sample.jpg'; // source JPG
$jpgStream = fopen($inputJpgPath, 'rb');
2. lépés: Konvertálási beállítások konfigurálása
Állítsa be a kívánt DPI-t és a képek minőségét. Ezek a beállítások közvetlenül befolyásolják a kimeneti PDF méretét és tisztaságát, ami fontos, amikor JPG-t PDF-re konvertál PHP-ben.
use Aspose\Words\Model\ConvertOptions;
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300); // horizontal DPI
$convertOptions->setDpiY(300); // vertical DPI
$convertOptions->setImageQuality(80); // 0‑100
3. lépés: Konvertálási kérés létrehozása
Készítse elő a kérés objektumot a bemeneti adatfolammal, a célformátummal és a beállításokkal.
use Aspose\Words\Model\Requests\ConvertDocumentRequest;
$request = new ConvertDocumentRequest(
$jpgStream, // Input file stream
'pdf', // Target format
null, // outPath – null to receive binary response
null, // storage – default
null, // folder – default
$convertOptions // conversion options
);
4. lépés: Konvertálás végrehajtása és PDF mentése
Hívja meg az API-t, fogadja a bináris PDF adatot, és írja ki egy fájlba.
use Aspose\Words\WordsApi;
$wordsApi = new WordsApi($config);
try {
$pdfBinary = $wordsApi->convertDocument($request);
$outputPdfPath = __DIR__ . '/result.pdf';
$pdfHandle = fopen($outputPdfPath, 'wb');
fwrite($pdfHandle, $pdfBinary);
fclose($pdfHandle);
echo "Conversion successful: {$outputPdfPath}\n";
} catch (Exception $e) {
echo 'Error during conversion: ', $e->getMessage(), "\n";
}
Teljes működő példa a JPG PDF-re konvertálásához PHP-ben
Az alábbi példa bemutatja a teljes megvalósítást az elejétől a végéig.
<?php
require __DIR__ . '/vendor/autoload.php';
use Aspose\Words\Configuration;
use Aspose\Words\WordsApi;
use Aspose\Words\Model\ConvertOptions;
use Aspose\Words\Model\Requests\ConvertDocumentRequest;
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$config = new Configuration();
$config->setClientId($clientId);
$config->setClientSecret($clientSecret);
$config->setHost('https://api.aspose.cloud');
$wordsApi = new WordsApi($config);
$inputJpgPath = __DIR__ . '/sample.jpg'; // source JPG
$outputPdfPath = __DIR__ . '/result.pdf'; // destination PDF
// Open JPG as a stream to avoid loading whole file into memory for large images
$jpgStream = fopen($inputJpgPath, 'rb');
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300); // horizontal DPI
$convertOptions->setDpiY(300); // vertical DPI
$convertOptions->setImageQuality(80); // optional, 0‑100
$request = new ConvertDocumentRequest(
$jpgStream, // Input file stream
'pdf', // Target format
null, // outPath – null to receive binary response
null, // storage – default
null, // folder – default
$convertOptions // conversion options
);
try {
// API returns binary PDF data
$pdfBinary = $wordsApi->convertDocument($request);
// Write binary data to file efficiently
$pdfHandle = fopen($outputPdfPath, 'wb');
fwrite($pdfHandle, $pdfBinary);
fclose($pdfHandle);
echo "Conversion successful: {$outputPdfPath}\n";
} catch (Exception $e) {
echo 'Error during conversion: ', $e->getMessage(), "\n";
}
// Cleanup
if (is_resource($jpgStream)) {
fclose($jpgStream);
}
Megjegyzés: Ez a kódrészlet a fő funkciót demonstrálja. Mielőtt a projektjében használná, győződjön meg róla, hogy frissítette a fájlútvonalakat és a konfigurációs értékeket a tényleges környezetnek megfelelően, ellenőrizze, hogy minden szükséges függőség megfelelően telepítve van, és alaposan tesztelje a fejlesztői környezetben. Ha problémákba ütközik, kérjük, tekintse meg a hivatalos dokumentációt vagy lépjen kapcsolatba a támogatási csapattal segítségért.
cURL használata JPG képek PDF dokumentumokká konvertálásához
Ha közvetlen REST hívást részesít előnyben, ugyanaz a konverzió végrehajtható cURL‑lel.
- Szerezzen hozzáférési tokent
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Töltse fel a forrás JPG-t a tárolóba
curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/sample.jpg" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--data-binary "@sample.jpg"
- A konverzió végrehajtása
curl -X GET "https://api.aspose.cloud/v4.0/words/sample.jpg?format=pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o result.pdf
- Töltse le a keletkezett PDF-et (ha nem használja a
-okapcsolót fent)
curl -X GET "https://api.aspose.cloud/v4.0/words/result.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o result.pdf
Ezek a parancsok ugyanazt a munkafolyamatot mutatják be PHP kód írása nélkül. További részletekért tekintse meg a hivatalos API dokumentációt.
A konverziós beállítások finomhangolása az optimális PDF kimenethez
Az SDK több lehetőséget kínál a generált PDF megjelenésének és méretének szabályozására.
- DPI (Dots Per Inch) - A magasabb DPI (például 300) élesebb kimenetet biztosít, amely nyomtatáshoz alkalmas. A
setDpiXéssetDpiYsegítségével állítható. - ImageQuality - A JPEG tömörítési szintet (0‑100) szabályozza. Az alacsonyabb értékek csökkentik a fájlméretet a vizuális hűség árán.
- Additional options - A
ConvertOptionsosztály támogatja asetPageSize,setPageOrientationéssetColorModemetódusokat is. Tekintse meg a API reference teljes listáját.
Példa a DPI és a minőség beállítására (már bemutatva a bemutatóban):
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300);
$convertOptions->setDpiY(300);
$convertOptions->setImageQuality(80);
Legfontosabb tanulságok
Az Aspose.Words Cloud SDK for PHP használatával egyszerűen konvertálhat JPG‑t PDF‑re PHP‑ban anélkül, hogy alacsony szintű képfeldolgozással kellene foglalkoznia. Az SDK kezeli a streaminget, a DPI‑t és a képminőséget, így az üzleti logikára koncentrálhat. Ne felejtse el biztonságban tartani a Client Id‑t és a Client Secret‑et, és fontolja meg az ideiglenes licencet az értékeléshez, mielőtt teljes licencet vásárolna. A termékoldalon elérhetők az árak részletei, és egy ideiglenes licencet a ideiglenes licenc oldal szerezhet be. Az itt megadott kóddal és cURL példákkal készen áll a JPG‑ról PDF‑re konvertálás integrálására bármely webes vagy asztali PHP alkalmazásba.
Felmerülő kérdések
-
Mi a legegyszerűbb módja a JPG PDF-re konvertálásának PHP-ben?
Az teljes példában bemutatott egy soros kód aConvertDocumentRequest-et használja, ahol a célformátum"pdf"-re van beállítva. Ez az egyetlen hívás végrehajtja a teljes konverziót. -
Konvertálhatok több JPG fájlt egyetlen kérésben?
Az API egy forrásfájlt dolgoz fel kérésenként. A kötegelt feldolgozáshoz iteráljon a fájllistán, és minden képre külön hívja meg a konvertálást. -
Hogyan szabályozhatom a kimeneti PDF méretét?
Állítsa be aDpiX,DpiYésImageQualityértékeket aConvertOptions-ban. Az alacsonyabb DPI és minőség csökkenti a fájlméretet, míg a magasabb értékek javítják a vizuális hűséget. -
Van korlátozás a konvertálható JPG kép méretére?
Az SDK a bemenetet streameli, így a memóriahasználat alacsony marad. Azonban a rendkívül nagy fájlok szolgáltatási korlátok alá eshetnek; tekintse meg a hivatalos dokumentációt a pontos határértékekért.