Das konvertieren von JPG Bildern zu PDF Dokumenten programmgesteuert ist eine häufige Anforderung für PHP‑Entwickler, die Reporting‑ oder Archivierungsfunktionen erstellen.
Aspose.Words Cloud SDK for PHP ermöglicht es Ihnen, JPG in PDF in PHP mit nur wenigen Codezeilen zu konvertieren.
In diesem Leitfaden sehen Sie eine Schritt‑für‑Schritt‑Durchführung, ein vollständiges funktionierendes Beispiel und cURL‑Befehle für die REST‑API.
Sie lernen außerdem, wie Sie DPI und Bildqualität für optimale Ergebnisse feinabstimmen.
Einrichten von Aspose.Words Cloud SDK for PHP
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- PHP 7.4 oder höher
- Composer installiert
- Ein Aspose Cloud‑Konto mit Client Id und Client Secret
- Netzwerkzugriff auf
https://api.aspose.cloud
Installieren Sie das SDK über Composer:
composer require aspose-cloud/aspose-words-cloud
Laden Sie das neueste Paket von der offiziellen Release‑Seite herunter: Aspose.Words Cloud SDK for PHP Download.
Konfigurieren Sie jetzt das SDK mit Ihren Anmeldeinformationen:
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');
Wenn die Konfiguration fertig ist, können Sie eine WordsApi‑Instanz erstellen und mit der Konvertierung beginnen.
JPG zu PDF-Konvertierung in PHP: Schritt‑für‑Schritt‑Anleitung
Schritt 1: Laden des Quelldokuments
Öffnen Sie die JPG‑Datei als Stream, damit große Bilder effizient verarbeitet werden.
$inputJpgPath = __DIR__ . '/sample.jpg'; // source JPG
$jpgStream = fopen($inputJpgPath, 'rb');
Schritt 2: Konvertierungsoptionen konfigurieren
Stellen Sie die gewünschte DPI und Bildqualität ein. Diese Einstellungen wirken sich direkt auf die Größe und Klarheit der Ausgabepdf aus, was wichtig ist, wenn Sie JPG in PDF in PHP konvertieren.
use Aspose\Words\Model\ConvertOptions;
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300); // horizontal DPI
$convertOptions->setDpiY(300); // vertical DPI
$convertOptions->setImageQuality(80); // 0‑100
Schritt 3: Erstellen Sie die Konvertierungsanforderung
Bereiten Sie das Anforderungsobjekt mit dem Eingabestream, dem Zielformat und den Optionen vor.
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
);
Schritt 4: Konvertierung ausführen und PDF speichern
Rufen Sie die API auf, erhalten Sie binäre PDF‑Daten und schreiben Sie sie in eine Datei.
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";
}
Vollständiges funktionierendes Beispiel zur Konvertierung von JPG in PDF mit PHP
Das folgende Beispiel demonstriert die vollständige Implementierung von Anfang bis Ende.
<?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);
}
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
Verwendung von cURL zum Konvertieren von JPG-Bildern in PDF-Dokumente
Wenn Sie einen direkten REST‑Aufruf bevorzugen, kann die gleiche Konvertierung mit cURL durchgeführt werden.
- Zugriffstoken erhalten
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Laden Sie das Quell‑JPG in den Speicher hoch
curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/sample.jpg" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--data-binary "@sample.jpg"
- Führen Sie die Konvertierung aus
curl -X GET "https://api.aspose.cloud/v4.0/words/sample.jpg?format=pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o result.pdf
- Laden Sie das resultierende PDF herunter (wenn Sie
-ooben nicht verwenden)
curl -X GET "https://api.aspose.cloud/v4.0/words/result.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o result.pdf
Diese Befehle veranschaulichen denselben Workflow, ohne PHP‑Code zu schreiben. Weitere Details finden Sie in der offiziellen API‑Dokumentation.
Feinabstimmung der Konvertierungseinstellungen für optimale PDF-Ausgabe
Das SDK bietet mehrere Optionen, um das Aussehen und die Größe des erzeugten PDFs zu steuern.
- DPI (Dots Per Inch) - Höhere DPI (z. B. 300) liefert ein schärferes Ergebnis, das sich zum Drucken eignet. Einstellen mit
setDpiXundsetDpiY. - ImageQuality - Steuert das Komprimierungsniveau von JPEG (0‑100). Niedrigere Werte reduzieren die Dateigröße zulasten der visuellen Treue.
- Zusätzliche Optionen - Die Klasse
ConvertOptionsunterstützt außerdemsetPageSize,setPageOrientationundsetColorMode. Siehe die API reference für die vollständige Liste.
Beispiel für das Einstellen von DPI und Qualität (bereits im Durchlauf gezeigt):
$convertOptions = new ConvertOptions();
$convertOptions->setDpiX(300);
$convertOptions->setDpiY(300);
$convertOptions->setImageQuality(80);
Wichtige Erkenntnisse
Mit dem Aspose.Words Cloud SDK for PHP können Sie JPG problemlos in PDF in PHP konvertieren, ohne sich mit der Low‑Level‑Bildverarbeitung befassen zu müssen. Das SDK übernimmt Streaming, DPI und Bildqualität, sodass Sie sich auf die Geschäftslogik konzentrieren können. Denken Sie daran, Ihre Client Id und Client Secret zu sichern, und ziehen Sie für die Evaluierung vor dem Kauf einer Volllizenz die temporäre Lizenz in Betracht. Preisdetails finden Sie auf der Produktseite, und eine temporäre Lizenz kann von der temporären Lizenzseite bezogen werden. Mit dem bereitgestellten Code und den cURL‑Beispielen sind Sie bereit, die JPG‑zu‑PDF‑Konvertierung in jede Web‑ oder Desktop‑PHP‑Anwendung zu integrieren.
Fragen, die Sie haben könnten
-
Was ist der einfachste Weg, JPG in PDF in PHP zu konvertieren?
Der in dem vollständigen Beispiel gezeigte Einzeiler verwendetConvertDocumentRequestmit dem Zielformat"pdf". Dieser einzelne Aufruf führt die gesamte Konvertierung durch. -
Kann ich mehrere JPG-Dateien in einer einzigen Anfrage konvertieren?
Die API verarbeitet pro Anfrage eine Quelldatei. Um Stapelverarbeitungen zu handhaben, iterieren Sie über Ihre Dateiliste und rufen die Konvertierung für jedes Bild auf. -
Wie kann ich die Größe der ausgegebenen PDF steuern?
Passen SieDpiX,DpiYundImageQualityinConvertOptionsan. Niedrigere DPI und Qualität reduzieren die Dateigröße, während höhere Werte die visuelle Treue verbessern. -
Gibt es ein Limit für die Größe des JPG-Bildes, das ich konvertieren kann?
Das SDK streamt die Eingabe, sodass der Speicherverbrauch niedrig bleibt. Sehr große Dateien können jedoch Service‑Grenzen unterliegen; konsultieren Sie die offizielle Dokumentation für die genauen Schwellenwerte.