At konvertere JPG billeder til PDF dokumenter programmatisk er et hyppigt krav for PHP‑udviklere, der bygger rapporterings‑ eller arkiveringsfunktioner. Aspose.Words Cloud SDK for PHP gør det muligt at konvertere JPG til PDF i PHP med kun et par linjer kode. I denne vejledning vil du se en trin‑for‑trin gennemgang, et komplet fungerende eksempel og cURL‑kommandoer til REST‑API‑en. Du vil også lære, hvordan du finjusterer DPI og billedkvalitet for optimale resultater.

Opsætning af Aspose.Words Cloud SDK til PHP

Før du starter, skal du sikre dig, at du har:

  • PHP 7.4 eller højere
  • Composer installeret
  • En Aspose Cloud-konto med Client Id og Client Secret
  • Netværksadgang til https://api.aspose.cloud

Installer SDK’en via Composer:

composer require aspose-cloud/aspose-words-cloud

Download den nyeste pakke fra den officielle udgivelsesside: Aspose.Words Cloud SDK for PHP Download.

Konfigurer nu SDK’en med dine legitimationsoplysninger:

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

Når konfigurationen er klar, kan du oprette en WordsApi‑instans og begynde at konvertere.

JPG til PDF-konvertering i PHP: Trin-for-trin gennemgang

Trin 1: Indlæs kilde‑dokumentet

Åbn JPG-filen som en strøm, så store billeder håndteres effektivt.

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

Trin 2: Konfigurer konverteringsindstillinger

Indstil den ønskede DPI og billedkvalitet. Disse indstillinger påvirker direkte output‑PDF‑ens størrelse og klarhed, hvilket er vigtigt, når du konverterer JPG til PDF i PHP.

use Aspose\Words\Model\ConvertOptions;

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

Trin 3: Opret konverteringsanmodning

Forbered anmodningsobjektet med inputstrømmen, målformatet og indstillingerne.

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

Trin 4: Udfør konvertering og gem PDF

Kald API’et, modtag binære PDF-data, og skriv den til en fil.

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

Fuldt fungerende eksempel på konvertering af JPG til PDF i PHP

Eksemplet nedenfor demonstrerer den komplette implementering fra start til slut.

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

Bemærk: Dette kodeeksempel demonstrerer kernefunktionaliteten. Før du bruger det i dit projekt, skal du sikre dig, at du opdaterer alle filstier og konfigurationsværdier, så de matcher dit faktiske miljø, bekræfter at alle nødvendige afhængigheder er korrekt installeret, og tester grundigt i dit udviklingsmiljø. Hvis du støder på problemer, så henvis til den officielle dokumentation eller kontakt supportteamet for assistance.

Brug af cURL til at konvertere JPG-billeder til PDF-dokumenter

Hvis du foretrækker et direkte REST‑kald, kan den samme konvertering udføres med cURL.

  1. Få en adgangstoken
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. Upload kilde-JPG til lageret
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. Udfør konverteringen
curl -X GET "https://api.aspose.cloud/v4.0/words/sample.jpg?format=pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf
  1. Download den resulterende PDF (hvis du ikke bruger -o ovenfor)
curl -X GET "https://api.aspose.cloud/v4.0/words/result.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o result.pdf

Disse kommandoer illustrerer den samme arbejdsproces uden at skrive nogen PHP‑kode. For flere detaljer, se den officielle API‑dokumentation.

Finjustering af konverteringsindstillinger for optimal PDF-uddata

SDK’en tilbyder flere muligheder for at kontrollere udseendet og størrelsen af den genererede PDF.

  • DPI (Dots Per Inch) - Højere DPI (f.eks. 300) giver skarpere output, der er egnet til udskrivning. Indstil med setDpiX og setDpiY.
  • ImageQuality - Styrer JPEG komprimeringsniveau (0‑100). Lavere værdier reducerer filstørrelsen på bekostning af visuel kvalitet.
  • Additional options - ConvertOptions-klassen understøtter også setPageSize, setPageOrientation og setColorMode. Se API reference for den fulde liste.

Eksempel på indstilling af DPI og kvalitet (allerede vist i gennemgangen):

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

Vigtige pointer

Ved hjælp af Aspose.Words Cloud SDK for PHP kan du nemt konvertere JPG til PDF i PHP uden at skulle beskæftige dig med lav‑niveau billedbehandling. Denne SDK håndterer streaming, DPI og billedkvalitet, så du kan fokusere på forretningslogik. Husk at sikre din Client Id og Client Secret, og overvej den midlertidige licens til evaluering, før du køber en fuld licens. Prisoplysninger er tilgængelige på produktsiden, og en midlertidig licens kan fås fra midlertidig licensside. Med den medfølgende kode og cURL‑eksempler er du klar til at integrere JPG‑til‑PDF‑konvertering i enhver web‑ eller desktop‑PHP‑applikation.

Spørgsmål du måske har

  • Hvad er den enkleste måde at konvertere JPG til PDF i PHP?
    Den ene‑linje vist i det komplette eksempel bruger ConvertDocumentRequest med målformatet sat til "pdf". Dette ene kald udfører hele konverteringen.

  • Kan jeg konvertere flere JPG-filer i en enkelt anmodning?
    API’en behandler én kildefil pr. anmodning. For at håndtere batcher, skal du iterere over din filliste og kalde konverteringen for hvert billede.

  • Hvordan kontrollerer jeg output-PDF‑størrelsen?
    Juster DpiX, DpiY og ImageQuality i ConvertOptions. Lavere DPI og kvalitet reducerer filstørrelsen, mens højere værdier forbedrer den visuelle kvalitet.

  • Er der en grænse for størrelsen på JPG-billedet, jeg kan konvertere?
    SDK’en streamer inputtet, så hukommelsesforbruget forbliver lavt. Dog kan ekstremt store filer være underlagt servicegrænser; konsulter den officielle dokumentation for de præcise grænser.

Yderligere læsning