JPG görüntülerini programlı olarak PDF belgelerine dönüştürmek, raporlama veya arşivleme özellikleri geliştiren PHP geliştiricileri için sık bir gereksinimdir. Aspose.Words Cloud SDK for PHP sadece birkaç satır kodla PHP’de JPG’yi PDF’ye dönüştürmenizi sağlar. Bu rehberde adım adım bir yürütme, tam bir çalışan örnek ve REST API için cURL komutlarını göreceksiniz. Ayrıca optimum sonuçlar için DPI ve görüntü kalitesini nasıl ince ayar yapacağınızı öğreneceksiniz.

Aspose.Words Cloud SDK’sını PHP için Kurma

Başlamadan önce, şunların olduğundan emin olun:

  • PHP 7.4 veya üzeri
  • Composer yüklü
  • Aspose Cloud hesabı ve Client Id ile Client Secret
  • Ağ erişimi https://api.aspose.cloud

Composer aracılığıyla SDK’yı kurun:

composer require aspose-cloud/aspose-words-cloud

En son paketi resmi sürüm sayfasından indirin: Aspose.Words Cloud SDK for PHP İndir.

Şimdi SDK’yı kimlik bilgilerinizle yapılandırın:

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');

Yapılandırma hazır olduğunda, bir WordsApi örneği oluşturabilir ve dönüştürmeye başlayabilirsiniz.

PHP’de JPG’den PDF’ye Dönüştürme: Adım Adım Kılavuz

Adım 1: Kaynak Belgeyi Yükleyin

JPG dosyasını bir akış olarak açın, böylece büyük görüntüler verimli bir şekilde işlenir.

$inputJpgPath  = __DIR__ . '/sample.jpg';   // source JPG
$jpgStream = fopen($inputJpgPath, 'rb');

Adım 2: Dönüştürme Seçeneklerini Yapılandır

İstenen DPI ve görüntü kalitesini ayarlayın. Bu ayarlar, çıktının PDF boyutu ve netliğini doğrudan etkiler; bu, PHP’de JPG’yi PDF’ye dönüştürürken önemlidir.

use Aspose\Words\Model\ConvertOptions;

$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300);   // horizontal DPI
$convertOptions->setDpiY(300);   // vertical DPI
$convertOptions->setImageQuality(80); // 0‑100

Adım 3: Dönüştürme İsteğini Oluştur

İstek nesnesini giriş akışı, hedef format ve seçeneklerle hazırlayın.

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
);

Adım 4: Dönüştürmeyi Gerçekleştir ve PDF’yi Kaydet

API’yi çağırın, ikili PDF verisini alın ve bir dosyaya yazın.

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";
}

PHP’de JPG’yi PDF’ye Dönüştürmek için Tam Çalışan Örnek

Aşağıdaki örnek, baştan sona tam uygulamayı gösterir.

<?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);
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğini doğruladığınızdan ve geliştirme ortamınızda kapsamlı bir şekilde test ettiğinizden emin olun. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler adresine bakın veya destek ekibi ile iletişime geçin.

cURL Kullanarak JPG Görüntüleri PDF Belgelerine Dönüştürme

Doğrudan bir REST çağrısını tercih ediyorsanız, aynı dönüşüm cURL ile gerçekleştirilebilir.

  1. Erişim belirteci alın
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. Kaynak JPG’yi depolamaya yükleyin
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. Dönüşümü yürütün
curl -X GET "https://api.aspose.cloud/v4.0/words/sample.jpg?format=pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf
  1. Oluşturulan PDF’yi indirin (-o kullanmadıysanız)
curl -X GET "https://api.aspose.cloud/v4.0/words/result.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf

Bu komutlar, herhangi bir PHP kodu yazmadan aynı iş akışını gösterir. Daha fazla ayrıntı için, resmi API belgelerine bakın.

Optimal PDF Çıktısı İçin Dönüştürme Ayarlarını İnce Ayarlama

SDK, oluşturulan PDF’nin görünümünü ve boyutunu kontrol etmek için çeşitli seçenekler sunar.

  • DPI (Dots Per Inch) - Daha yüksek DPI (ör., 300) baskı için uygun daha keskin çıktı verir. setDpiX ve setDpiY ile ayarlayın.
  • ImageQuality - JPEG sıkıştırma seviyesini (0‑100) kontrol eder. Daha düşük değerler görsel doğruluk pahasına dosya boyutunu azaltır.
  • Additional options - ConvertOptions sınıfı ayrıca setPageSize, setPageOrientation ve setColorMode öğelerini destekler. Tam liste için API reference sayfasına bakın.

DPI ve kalite ayarlama örneği (zaten yürütme kılavuzunda gösterildi):

$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300);
$convertOptions->setDpiY(300);
$convertOptions->setImageQuality(80);

Anahtar Çıkarımlar

Aspose.Words Cloud SDK for PHP‘yi kullanarak, düşük seviyeli görüntü işleme ile uğraşmadan PHP’de JPG’yi PDF’ye kolayca dönüştürebilirsiniz. SDK, akış, DPI ve görüntü kalitesini yönetir, böylece iş mantığına odaklanabilirsiniz. Client Id ve Client Secret‘ınızı güvenli bir şekilde saklamayı unutmayın ve tam lisans satın almadan önce değerlendirme için geçici lisansı düşünün. Fiyatlandırma detayları ürün sayfasında mevcuttur ve geçici lisans geçici lisans sayfası üzerinden alınabilir. Sağlanan kod ve cURL örnekleriyle, JPG’den PDF’ye dönüşümü herhangi bir web veya masaüstü PHP uygulamasına entegre etmeye hazırsınız.

Sahip Olabileceğiniz Sorular

  • JPG’yi PHP’de PDF’ye dönüştürmenin en basit yolu nedir?
    Tam örnekte gösterilen tek satır, hedef formatı "pdf" olarak ayarlayan ConvertDocumentRequest kullanır. Bu tek çağrı tüm dönüşümü gerçekleştirir.

  • Tek bir istek içinde birden fazla JPG dosyasını dönüştürebilir miyim?
    API, istek başına bir kaynak dosya işler. Toplu işlemler için dosya listeniz üzerinde döngü oluşturup her görüntü için dönüşümü çağırın.

  • Çıktı PDF boyutunu nasıl kontrol ederim?
    ConvertOptions içinde DpiX, DpiY ve ImageQuality ayarlarını değiştirin. Daha düşük DPI ve kalite dosya boyutunu azaltır, daha yüksek değerler görsel doğruluğu artırır.

  • JPG görüntüsünün dönüştürebileceğim boyutu konusunda bir sınırlama var mı?
    SDK girişi akış olarak işler, bu yüzden bellek kullanımı düşük kalır. Ancak, çok büyük dosyalar hizmet limitlerine tabi olabilir; kesin eşik değerleri için resmi belgeler bölümüne bakın.

İleri Okuma