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.

  1. 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"
  1. 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"
  1. 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
  1. Töltse le a keletkezett PDF-et (ha nem használja a -o kapcsoló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 és setDpiY segí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 ConvertOptions osztály támogatja a setPageSize, setPageOrientation és setColorMode metó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 a ConvertDocumentRequest-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 a DpiX, DpiY és ImageQuality értékeket a ConvertOptions-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.

További olvasmányok