Konvertering af PDF filer, der indeholder stregkoder, til struktureret XML er et hyppigt krav for lager‑ og logistiksystemer, der har brug for maskinlæselige data. Aspose.BarCode Cloud SDK for PHP leverer et cloud‑baseret bibliotek, der gør denne konvertering enkel og skalerbar. I denne vejledning vil du lære, hvordan du opsætter SDK’et, kører et komplet PHP script, der læser en PDF, udtrækker stregkodeinformation og skriver resultatet som XML, samt et tilsvarende cURL‑arbejdsgang og bedste praksistips.
PDF til XML‑konvertering i PHP - Fuld fungerende eksempel
Dette eksempel demonstrerer, hvordan man bruger Aspose.BarCode Cloud SDK for PHP til at læse en PDF, genkende stregkoder og outputte resultatet som XML.
<?php
require __DIR__ . '/vendor/autoload.php';
use Aspose\BarCode\Cloud\Configuration;
use Aspose\BarCode\Cloud\Api\BarcodeApi;
use Aspose\BarCode\Cloud\Model\RecognizeBarcodeRequest;
use Aspose\BarCode\Cloud\ApiException;
try {
// -------------------------------------------------
// 1. Configuration – replace with your credentials
// -------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID'); // App SID / Client ID
$config->setAppKey('YOUR_CLIENT_SECRET'); // App Key / Client Secret
// -------------------------------------------------
// 2. Initialise the Barcode API client
// -------------------------------------------------
$barcodeApi = new BarcodeApi(null, $config);
// -------------------------------------------------
// 3. Validate and read the source PDF (input.pdf)
// -------------------------------------------------
$inputFile = __DIR__ . '/input.pdf';
if (!is_file($inputFile) || !is_readable($inputFile)) {
throw new RuntimeException('Input PDF file is missing or unreadable.');
}
// Use a stream to avoid loading the whole file into memory at once
$handle = fopen($inputFile, 'rb');
if ($handle === false) {
throw new RuntimeException('Failed to open input PDF file.');
}
$pdfData = stream_get_contents($handle);
fclose($handle);
// -------------------------------------------------
// 4. Build the recognition request (PDF → XML)
// -------------------------------------------------
$recognizeRequest = new RecognizeBarcodeRequest();
$recognizeRequest->setFile($pdfData); // binary PDF content
$recognizeRequest->setType('pdf'); // source type
$recognizeRequest->setPreset('HighPerformance'); // performance hint
$recognizeRequest->setResultFormat('xml'); // ask for XML output
// -------------------------------------------------
// 5. Execute the request
// -------------------------------------------------
$xmlResult = $barcodeApi->postBarcodeRecognize($recognizeRequest);
// -------------------------------------------------
// 6. Write the XML to output.xml
// -------------------------------------------------
$outputFile = __DIR__ . '/output.xml';
$bytesWritten = file_put_contents($outputFile, $xmlResult);
if ($bytesWritten === false) {
throw new RuntimeException('Failed to write XML output file.');
}
echo "PDF successfully converted to XML. Output saved at: {$outputFile}\n";
} catch (ApiException $apiEx) {
// Handles errors returned by Aspose.BarCode Cloud service
error_log('Aspose.BarCode API error: ' . $apiEx->getMessage());
echo "API error occurred. Check logs for details.\n";
} catch (Exception $ex) {
// Handles all other runtime errors
error_log('General error: ' . $ex->getMessage());
echo "An error occurred. Check logs for details.\n";
}
Bemærk: Dette kodeeksempel demonstrerer kernefunktionaliteten. Før du bruger det i dit projekt, skal du sørge for at opdatere filstierne (
input.pdf,output.xmlosv.) så de matcher dine faktiske filplaceringer, bekræfte at alle nødvendige afhængigheder er korrekt installeret, og teste grundigt i dit udviklingsmiljø. Hvis du støder på problemer, så se venligst den officielle dokumentation eller kontakt supportteamet for assistance.
PDF til XML‑konvertering via REST API ved hjælp af cURL
Hvis du foretrækker en ren REST‑tilgang, kan den samme konvertering udføres med cURL‑kommandoer. Trinnene nedenfor viser, hvordan du får en adgangstoken, uploader PDF‑filen, anmoder om stregkodegenkendelse og downloader XML‑resultatet.
# 1. Get an access token
curl -X POST "https://api.aspose.cloud/v3.0/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
Erstat YOUR_CLIENT_ID og YOUR_CLIENT_SECRET med dine Aspose-legitimationsoplysninger. Svaret indeholder en access_token, som du vil bruge i efterfølgende kald.
# 2. Upload the source PDF (optional – you can also send the file directly)
curl -X PUT "https://api.aspose.cloud/v3.0/barcode/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "input.pdf"
# 3. Execute the PDF → XML barcode recognition
curl -X POST "https://api.aspose.cloud/v3.0/barcode/recognize" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "file=@input.pdf" \
-F "type=pdf" \
-F "preset=HighPerformance" \
-F "resultFormat=xml"
Svarlegemet indeholder XML med genkendte stregkode-data.
# 4. Save the XML response to a file
curl -X GET "https://api.aspose.cloud/v3.0/barcode/recognize/result" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xml
For en komplet liste over parametre og fejlkoder, se den officielle API-dokumentation(officielle API-dokumentation).
Sådan fungerer PDF til XML‑konvertering i PHP
- Konfigurer legitimationsoplysninger -
Configuration‑objektet gemmer dinAppSidogAppKey.$config = new Configuration(); $config->setAppSid('YOUR_CLIENT_ID'); $config->setAppKey('YOUR_CLIENT_SECRET'); - Opret API‑klienten -
BarcodeApier indgangspunktet for alle stregkodeoperationer.$barcodeApi = new BarcodeApi(null, $config); - Læs PDF‑filen - Scriptet streamer PDF’en for at undgå at indlæse hele filen i hukommelsen, hvilket er vigtigt for store dokumenter.
$handle = fopen($inputFile, 'rb'); $pdfData = stream_get_contents($handle); fclose($handle); - Opbyg genkendelsesforespørgslen -
RecognizeBarcodeRequestangiver kildetypen (pdf), præstationsforudindstillingen og at resultatet skal returneres somxml.$recognizeRequest = new RecognizeBarcodeRequest(); $recognizeRequest->setFile($pdfData); $recognizeRequest->setType('pdf'); $recognizeRequest->setPreset('HighPerformance'); $recognizeRequest->setResultFormat('xml'); - Udfør og gem -
postBarcodeRecognizesender forespørgslen til cloud‑tjenesten. Den returnerede XML‑streng skrives tiloutput.xml.$xmlResult = $barcodeApi->postBarcodeRecognize($recognizeRequest); file_put_contents($outputFile, $xmlResult);
Disse trin illustrerer PDF til XML konverteringsscriptet i PHP og viser, hvordan SDK’en abstraherer HTTP‑kommunikationen, så du kan fokusere på forretningslogikken.
Forudsætninger og installation for Aspose.BarCode Cloud SDK
- PHP version - PHP 7.4 eller senere er påkrævet.
- Composer - SDK’en distribueres via Composer. Installer den med kommandoen nedenfor og kræv derefter pakken.
composer require aspose-barcode-cloud
-
Legitimationsoplysninger - Tilmeld dig en Aspose Cloud-konto, opret en applikation, og få
Client IdogClient Secret. -
Configuration snippet - Efter installationen skal du tilføje konfigurationskoden (vist tidligere) for at initialisere SDK’en med dine legitimationsoplysninger.
For den komplette liste over downloadbare binære filer, besøg download-siden.
Praktiske tips til pålidelig PDF til XML‑konvertering
- Genbrug Configuration-objektet for flere konverteringer i samme script for at undgå gentagen autentificeringsoverhead.
- Stream store PDF-filer i stedet for at indlæse dem fuldstændigt; eksemplet bruger
fopenogstream_get_contentstil dette formål. - Vælg
HighPerformance-forudindstillingen når du har brug for hastighed, og dine PDF-filer indeholder standard stregkode-typer. - Valider den genererede XML mod et XML-skema, hvis efterfølgende systemer kræver streng formatering.
- Håndter API-undtagelser elegant; catch-blokken for
ApiExceptionlogger fejldetaljerne, hvilket hjælper med fejlfinding.
Konklusion
Dette vejledning har guidet dig gennem PDF til XML‑konvertering i PHP ved hjælp af Aspose.BarCode Cloud SDK for PHP. Du har nu et klar‑til‑kørsel kodeeksempel, et cURL‑alternativ og et sæt bedste praksisser for at sikre præcis og effektiv stregkodeudtrækning. Husk, at produktionsimplementeringer kræver et betalt abonnement; du kan starte med en midlertidig licens fra midlertidig licensside, mens du evaluerer løsningen. Integrer SDK’en i din arbejdsgang, test med rigtige dokumenter, så vil du kunne automatisere stregkode‑drevede datapipelines med selvtillid.
FAQs
Q: Hvordan håndterer PDF til XML‑konvertering i PHP forskellige stregkode‑symbologier?
A: SDK’en understøtter et bredt udvalg af symbologier direkte ud af boksen. Du kan angive yderligere indstillinger i RecognizeBarcodeRequest, hvis du skal begrænse søgningen til bestemte typer. Se API‑referencen for den fulde liste.
Q: Er der et PDF til XML konverteringsscript i PHP, som fungerer uden internetadgang?
A: Cloud SDK’en kræver netværksforbindelse, fordi behandlingen foregår på Aspose-servere. Til offline‑scenarier vil du have brug for en on‑premise‑løsning, som ikke er dækket af dette bibliotek.
Q: Hvad er de bedste praksisser for PDF til XML konverteringsydelse i PHP?
A: Brug streaming til at læse filer, genbrug Configuration-objektet, og vælg HighPerformance-forudindstillingen. Batch også flere filer i et enkelt script for at reducere forbindelsesoverhead.
Q: Hvor kan jeg finde flere eksempler på stregkodeudtrækning og XML‑generering?
A: Den officielle dokumentation giver mange kodeeksempler, og community‑forummet på Aspose.BarCode Cloud SDK for PHP er et godt sted at stille specifikke spørgsmål.