Bar kodları içeren PDF dosyalarını yapılandırılmış XML formatına dönüştürmek, makine‑okunabilir verilere ihtiyaç duyan envanter ve lojistik sistemleri için sık bir gereksinimdir. Aspose.BarCode Cloud SDK for PHP bu dönüşümü basit ve ölçeklenebilir hâle getiren bulut‑tabanlı bir kütüphane sağlar. Bu rehberde SDK’yı nasıl kuracağınızı, bir PDF okuyan, barkod bilgilerini çıkaran ve sonucu XML olarak yazan tam bir PHP betiğini çalıştırmayı, ayrıca eşdeğer bir cURL iş akışını ve en iyi uygulama ipuçlarını öğreneceksiniz.

PHP’de PDF’den XML’e Dönüştürme - Tam Çalışan Örnek

Bu örnek, bir PDF’yi okumak, barkodları tanımak ve sonucu XML olarak çıkarmak için Aspose.BarCode Cloud SDK for PHP’nin nasıl kullanılacağını gösterir.

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

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını (input.pdf, output.xml vb.) gerçek dosya konumlarınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.

cURL kullanarak REST API üzerinden PDF’den XML’ye Dönüştürme

Saf bir REST yaklaşımını tercih ediyorsanız, aynı dönüşüm cURL komutlarıyla gerçekleştirilebilir. Aşağıdaki adımlar, bir erişim belirteci almayı, PDF’yi yüklemeyi, barkod tanıma isteği göndermeyi ve XML sonucunu indirmeyi gösterir.

# 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"

Aspose kimlik bilgilerinizle YOUR_CLIENT_ID ve YOUR_CLIENT_SECRET değerlerini değiştirin. Yanıt, sonraki çağrılarda kullanacağınız bir access_token içerir.

# 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"

Yanıt gövdesi, tanınan barkod verileriyle XML içerir.

# 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

Parametrelerin ve hata kodlarının tam listesi için, resmi API belgeleri adresine bakın.

PHP’de PDF’den XML’e Dönüşüm Nasıl Çalışır

  1. Configure Credentials - Configuration nesnesi AppSid ve AppKey değerlerinizi saklar.

    $config = new Configuration();
    $config->setAppSid('YOUR_CLIENT_ID');
    $config->setAppKey('YOUR_CLIENT_SECRET');
    
  2. Create the API Client - BarcodeApi, tüm barkod işlemleri için giriş noktasıdır.

    $barcodeApi = new BarcodeApi(null, $config);
    
  3. Read the PDF File - Betik, PDF’yi belleğe tamamıyla yüklemek yerine akış olarak okur; bu, büyük belgeler için önemlidir.

    $handle = fopen($inputFile, 'rb');
    $pdfData = stream_get_contents($handle);
    fclose($handle);
    
  4. Build the Recognition Request - RecognizeBarcodeRequest, kaynak türünü (pdf), performans ön ayarını ve sonucun xml olarak döndürülmesini belirtir.

    $recognizeRequest = new RecognizeBarcodeRequest();
    $recognizeRequest->setFile($pdfData);
    $recognizeRequest->setType('pdf');
    $recognizeRequest->setPreset('HighPerformance');
    $recognizeRequest->setResultFormat('xml');
    
  5. Execute and Save - postBarcodeRecognize, isteği bulut hizmetine gönderir. Dönen XML dizesi output.xml dosyasına yazılır.

    $xmlResult = $barcodeApi->postBarcodeRecognize($recognizeRequest);
    file_put_contents($outputFile, $xmlResult);
    

Bu adımlar PHP’de PDF’den XML’e dönüşüm betiği’ni gösterir ve SDK’nın HTTP iletişimini soyutlayarak iş mantığınıza odaklanmanızı sağlar.

Aspose.BarCode Cloud SDK için Önkoşullar ve Kurulum

  • PHP version - PHP 7.4 veya daha yeni bir sürüm gereklidir.
  • Composer - SDK, Composer aracılığıyla dağıtılır. Aşağıdaki komutla kurun ve ardından paketi gerektirin.
composer require aspose-barcode-cloud
  • Kimlik Bilgileri - bir Aspose Cloud hesabına kaydolun, bir uygulama oluşturun ve Client Id ve Client Secret alın.

  • Yapılandırma kod parçacığı - Kurulumdan sonra, SDK’yı kimlik bilgilerinizle başlatmak için (daha önce gösterilen) yapılandırma kodunu ekleyin.

İndirilebilir ikili dosyaların tam listesi için, indirme sayfasını ziyaret edin.

Güvenilir PDF’den XML’e Dönüşüm İçin Pratik İpuçları

  • Yapılandırma nesnesini aynı betikte birden fazla dönüşüm için yeniden kullanın, böylece tekrarlanan kimlik doğrulama yükünden kaçının.
  • Büyük PDF’leri akış olarak işleyin tamamen yüklemek yerine; örnek bu amaçla fopen ve stream_get_contents kullanır.
  • HighPerformance ön ayarını seçin hız gerektiğinde ve PDF’leriniz standart barkod türlerini içerdiğinde.
  • Oluşturulan XML’i bir XML şemasına karşı doğrulayın, eğer alt sistemler katı biçimlendirme gerektiriyorsa.
  • API istisnalarını nazikçe ele alın; ApiException için catch bloğu hata ayrıntılarını kaydeder, bu da sorun giderme konusunda yardımcı olur.

Sonuç

Bu kılavuz, PHP’de PDF’den XML’e dönüşümü Aspose.BarCode Cloud SDK for PHP kullanarak size adım adım gösterdi. Artık çalıştırmaya hazır bir kod örneğiniz, bir cURL alternatifi ve doğru ve verimli barkod çıkarımını sağlamak için bir dizi en iyi uygulamanız var. Üretim dağıtımları için ücretli bir abonelik gerektiğini unutmayın; çözümü değerlendirirken geçici lisans sayfası üzerinden geçici bir lisansla başlayabilirsiniz. SDK’yı iş akışınıza entegre edin, gerçek belgelerle test edin ve barkod odaklı veri boru hatlarını güvenle otomatikleştirebileceksiniz.

SSS

Q: PHP’de PDF’den XML’e dönüşüm farklı barkod sembolojilerini nasıl ele alır?
A: SDK, kutudan çıktığı gibi geniş bir semboloji yelpazesini destekler. Belirli türlerle aramayı sınırlamanız gerekiyorsa RecognizeBarcodeRequest içinde ek seçenekler belirtebilirsiniz. Tam liste için API referansı adresine bakın.

Q: İnternet bağlantısı olmadan çalışan bir PHP PDF’den XML’e dönüşüm betiği var mı?
A: Cloud SDK, işlemlerin Aspose sunucularında gerçekleştiği için ağ bağlantısı gerektirir. Çevrim dışı senaryolar için, bu kütüphane tarafından kapsanmayan bir yerel (on‑premise) çözüm gerekir.

Q: PHP’de PDF’den XML’e dönüşüm performansı için en iyi uygulamalar nelerdir?
A: Dosyaları okurken akış (streaming) kullanın, Configuration nesnesini yeniden kullanın ve HighPerformance ön ayarını seçin. Ayrıca, bağlantı yükünü azaltmak için birden fazla dosyayı tek bir betikte toplu işleyin.

Q: Barkod çıkarma ve XML oluşturma ile ilgili daha fazla örneği nerede bulabilirim?
A: Resmi belgeler birçok kod parçacığı sunar ve Aspose.BarCode Cloud SDK for PHP topluluk forumu belirli sorular sormak için iyi bir yerdir.

Daha Fazla