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.
- 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"
- 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"
- 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
- Oluşturulan PDF’yi indirin (
-okullanmadı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.
setDpiXvesetDpiYile 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 -
ConvertOptionssınıfı ayrıcasetPageSize,setPageOrientationvesetColorModeöğ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 ayarlayanConvertDocumentRequestkullanı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?
ConvertOptionsiçindeDpiX,DpiYveImageQualityayarları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.