Перетворення PDF файлів, що містять штрихкоди, у структурований XML є поширеною вимогою для систем інвентаризації та логістики, які потребують машинозчитуваних даних. Aspose.BarCode Cloud SDK for PHP забезпечує хмарну бібліотеку, яка робить це перетворення простим і масштабованим. У цьому посібнику ви дізнаєтеся, як налаштувати SDK, запустити повний скрипт PHP, який читає PDF, витягує інформацію про штрихкоди та записує результат у XML, а також ознайомитеся з еквівалентним робочим процесом cURL та рекомендаціями щодо кращих практик.
Конвертація PDF у XML у PHP — повний робочий приклад
Цей приклад демонструє, як використовувати Aspose.BarCode Cloud SDK for PHP для читання PDF, розпізнавання штрих‑кодів та виведення результату у форматі 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";
}
Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили шляхи до файлів (
input.pdf,output.xmlтощо), щоб вони відповідали вашим фактичним розташуванням файлів, перевірте, що всі необхідні залежності правильно встановлені, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.
Конвертація PDF у XML за допомогою REST API за допомогою cURL
Якщо ви віддаєте перевагу чистому підходу REST, те ж саме перетворення можна виконати за допомогою команд cURL. Нижче наведено кроки, які показують, як отримати токен доступу, завантажити PDF, запросити розпізнавання штрих‑коду та завантажити результат у форматі XML.
# 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"
Замініть YOUR_CLIENT_ID і YOUR_CLIENT_SECRET на ваші облікові дані Aspose. Відповідь містить access_token, який ви будете використовувати у наступних викликах.
# 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"
Тіло відповіді містить XML з розпізнаними даними штрихкоду.
# 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
Для повного списку параметрів і кодів помилок перегляньте офіційну документацію API.
Як працює конвертація PDF у XML у PHP
- Налаштування облікових даних - Об’єкт
Configurationзберігає вашіAppSidіAppKey.$config = new Configuration(); $config->setAppSid('YOUR_CLIENT_ID'); $config->setAppKey('YOUR_CLIENT_SECRET'); - Створення клієнта API -
BarcodeApiє точкою входу для всіх операцій зі штрих‑кодами.$barcodeApi = new BarcodeApi(null, $config); - Читання PDF‑файлу - Скрипт передає PDF потоком, щоб уникнути завантаження всього файлу в пам’ять, що важливо для великих документів.
$handle = fopen($inputFile, 'rb'); $pdfData = stream_get_contents($handle); fclose($handle); - Створення запиту розпізнавання -
RecognizeBarcodeRequestвказує тип джерела (pdf), пресет продуктивності та те, що результат має бути повернений у форматіxml.$recognizeRequest = new RecognizeBarcodeRequest(); $recognizeRequest->setFile($pdfData); $recognizeRequest->setType('pdf'); $recognizeRequest->setPreset('HighPerformance'); $recognizeRequest->setResultFormat('xml'); - Виконання та збереження -
postBarcodeRecognizeнадсилає запит до хмарного сервісу. Повернутий рядок XML записується уoutput.xml.$xmlResult = $barcodeApi->postBarcodeRecognize($recognizeRequest); file_put_contents($outputFile, $xmlResult);
Ці кроки ілюструють скрипт конвертації PDF у XML на PHP і показують, як SDK абстрагує HTTP‑комунікацію, дозволяючи вам зосередитися на бізнес‑логіці.
Вимоги та встановлення для Aspose.BarCode Cloud SDK
- PHP version – PHP 7.4 або новіша версія є обов’язковою.
- Composer – SDK розповсюджується через Composer. Встановіть його за допомогою наведеної нижче команди, а потім підключіть пакет.
composer require aspose-barcode-cloud
-
Облікові дані - Зареєструйтесь у обліковому записі Aspose Cloud, створіть застосунок і отримайте
Client IdтаClient Secret. -
Configuration snippet - Після встановлення додайте код конфігурації (показаний раніше), щоб ініціалізувати SDK з вашими обліковими даними.
Для повного списку завантажуваних бінарних файлів відвідайте сторінку завантаження.
Практичні поради щодо надійного перетворення PDF у XML
- Повторно використовуйте об’єкт Configuration для кількох конвертацій у тому ж скрипті, щоб уникнути повторних накладних витрат на автентифікацію.
- Потоково обробляйте великі PDF замість повного завантаження; у прикладі використовується
fopenтаstream_get_contentsдля цього. - Виберіть пресет
HighPerformanceколи вам потрібна швидкість і ваші PDF містять стандартні типи штрих‑кодів. - Перевірте згенерований XML за допомогою XML‑схеми, якщо підсистеми вимагають суворого форматування.
- Обробляйте виключення API делікатно; блок catch для
ApiExceptionзаписує деталі помилки, що допомагає у вирішенні проблем.
Висновок
У цьому посібнику ви пройшли процес конвертації PDF у XML за допомогою Aspose.BarCode Cloud SDK for PHP. Тепер у вас є готовий до запуску зразок коду, альтернатива cURL та набір кращих практик, які забезпечують точне та ефективне вилучення штрих‑коду. Пам’ятайте, що для розгортання у продакшн потрібна платна підписка; під час оцінки рішення ви можете розпочати з тимчасової ліцензії зі сторінки тимчасової ліцензії. Інтегруйте SDK у ваш робочий процес, тестуйте з реальними документами, і ви зможете впевнено автоматизувати конвеєри даних, керовані штрих‑кодами.
Питання та відповіді
Q: Як у PHP здійснюється конвертація PDF у XML з урахуванням різних символьних кодів штрих‑коду?
A: SDK підтримує широкий спектр символьних кодів «з коробки». Ви можете вказати додаткові параметри в RecognizeBarcodeRequest, якщо потрібно обмежити пошук певними типами. Дивіться довідка API для повного списку.
Q: Чи існує скрипт PHP для конвертації PDF у XML, який працює без підключення до інтернету?
A: Cloud SDK вимагає підключення до мережі, оскільки обробка виконується на серверах Aspose. Для офлайн‑сценаріїв вам знадобиться рішення на місці, яке не підтримується цією бібліотекою.
Q: Які кращі практики для підвищення продуктивності конвертації PDF у XML у PHP?
A: Використовуйте потокове читання файлів, повторно використовуйте об’єкт Configuration і вибирайте пресет HighPerformance. Також групуйте кілька файлів в одному скрипті, щоб зменшити накладні витрати на з’єднання.
Q: Де я можу знайти більше прикладів вилучення штрих‑коду та генерації XML?
A: Офіційна документація містить багато фрагментів коду, а спільнота на форумі Aspose.BarCode Cloud SDK for PHP є хорошим місцем для задавання конкретних питань.