تبدیل اسناد Word به پیش‌نمایش‌های تصویر یک نیاز مکرر هنگام ساخت پورتال‌های وب یا ابزارهای گزارش‌گیری است. Aspose.OMR Cloud SDK for PHP به توسعه‌دهندگان PHP این امکان را می‌دهد که به‌صورت برنامه‌نویسی DOCX را به JPG در PHP با دقت بالا تبدیل کنند. در این آموزش، یک مثال کامل PHP، جریان کاری معادل cURL REST، و تمام موارد مورد نیاز برای آماده‌سازی محیط را خواهید دید. در پایان، یک راه‌حل قابل استفاده مجدد خواهید داشت که می‌تواند در هر برنامه PHP یکپارچه شود.

مثال کامل کارآمد برای تبدیل DOCX به JPG در PHP با استفاده از Aspose.OMR Cloud SDK

این مثال نشان می‌دهد که چگونه می‌توان از Aspose.OMR Cloud SDK for PHP برای تبدیل یک فایل DOCX به تصویر JPG استفاده کرد.

<?php
require __DIR__ . '/vendor/autoload.php';

use Aspose\OMR\Configuration;
use Aspose\OMR\Api\ConvertApi;
use Aspose\OMR\Model\ConvertDocumentRequest;
use Aspose\OMR\ApiException;

// -----------------------------------------------------------------------------
// Configuration – replace with your actual credentials
// -----------------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setApiKey('YOUR_API_KEY');

// -----------------------------------------------------------------------------
// Initialize the Convert API
// -----------------------------------------------------------------------------
$convertApi = new ConvertApi($config);

// -----------------------------------------------------------------------------
// File paths (adjust as needed)
// -----------------------------------------------------------------------------
$inputDocxPath  = __DIR__ . '/input.docx';
$outputJpgPath  = __DIR__ . '/output.jpg';

// -----------------------------------------------------------------------------
// Prepare request – stream the input file to avoid loading whole file into memory
// -----------------------------------------------------------------------------
$inputStream = fopen($inputDocxPath, 'rb');
if ($inputStream === false) {
    throw new RuntimeException("Unable to open input file: $inputDocxPath");
}

$request = new ConvertDocumentRequest();
$request->setFile($inputStream);          // Input DOCX stream
$request->setOutputFormat('jpg');         // Desired output format
$request->setOutputFileName('output.jpg'); // Optional: name for the generated file

try {
    // -------------------------------------------------------------------------
    // Perform conversion
    // -------------------------------------------------------------------------
    $responseStream = $convertApi->convertDocument($request);

// -------------------------------------------------------------------------
    // Write the resulting JPG to disk using a buffered copy (efficient for large files)
    // -------------------------------------------------------------------------
    $outputHandle = fopen($outputJpgPath, 'wb');
    if ($outputHandle === false) {
        throw new RuntimeException("Unable to open output file: $outputJpgPath");
    }

while (!feof($responseStream)) {
        $buffer = fread($responseStream, 8192);
        if ($buffer === false) {
            throw new RuntimeException('Error reading from response stream.');
        }
        fwrite($outputHandle, $buffer);
    }

fclose($outputHandle);
    fclose($inputStream);
    fclose($responseStream);

echo "Conversion successful. JPG saved to: $outputJpgPath\n";
} catch (ApiException $e) {
    // -------------------------------------------------------------------------
    // Handle API errors (e.g., authentication, unsupported format)
    // -------------------------------------------------------------------------
    fclose($inputStream);
    echo 'API Exception: ', $e->getMessage(), PHP_EOL;
    exit(1);
} catch (Exception $e) {
    // -------------------------------------------------------------------------
    // General error handling
    // -------------------------------------------------------------------------
    if (is_resource($inputStream)) {
        fclose($inputStream);
    }
    echo 'Error: ', $e->getMessage(), PHP_EOL;
    exit(1);
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روزرسانی کنید که با محیط واقعی شما مطابقت داشته باشد، تأیید کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند، و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه نمایید.

تبدیل DOCX به JPG از طریق REST API با استفاده از cURL

اگر ترجیح می‌دهید از رویکرد کاملاً REST استفاده کنید، می‌توانید همان تبدیل را با چند فرمان cURL انجام دهید.

  1. دریافت توکن دسترسی - متغیرهای جایگزین را با اعتبارهای کلاینت خود جایگزین کنید.
curl -X POST "https://api.aspose.cloud/connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. بارگذاری فایل DOCX - از توکن مرحلهٔ قبلی استفاده کنید.
curl -X PUT "https://api.aspose.cloud/v4.0/omr/storage/file/input.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
  --data-binary "@input.docx"
  1. درخواست تبدیل به JPG
curl -X POST "https://api.aspose.cloud/v4.0/omr/convert" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "FileName": "input.docx",
        "OutputFormat": "jpg",
        "OutputFileName": "output.jpg"
      }' -o response.json
  1. JPG تولید شده را دانلود کنید
curl -X GET "https://api.aspose.cloud/v4.0/omr/storage/file/output.jpg" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o output.jpg

برای مرجع کامل، مستندات رسمی API را ببینید.

تحلیل تبدیل DOCX به JPG در PHP با Aspose.OMR Cloud SDK

تجزیه و تحلیل شماره‌دار زیر، هر بخش از کد PHP را که تبدیل DOCX به JPG را در جریان کار PHP انجام می‌دهد، توضیح می‌دهد.

  1. پیکربندی تنظیمات - کلاس Configuration مقادیر AppSid و ApiKey شما را نگه می‌دارد.
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setApiKey('YOUR_API_KEY');
  1. راه‌اندازی API - یک نمونه از ConvertApi با پیکربندی ایجاد می‌شود.
$convertApi = new ConvertApi($config);
  1. آماده‌سازی جریان ورودی - فایل DOCX به‌عنوان یک جریان باینری باز می‌شود تا از بارگذاری کل فایل در حافظه جلوگیری شود.
$inputStream = fopen($inputDocxPath, 'rb');
  1. ساختن درخواست - ConvertDocumentRequest مشخص می‌کند جریان ورودی، فرمت خروجی مورد نظر (jpg) و یک نام فایل خروجی اختیاری.
$request = new ConvertDocumentRequest();
$request->setFile($inputStream);
$request->setOutputFormat('jpg');
$request->setOutputFileName('output.jpg');
  1. اجرای تبدیل و ذخیره نتیجه - convertDocument یک جریان پاسخ برمی‌گرداند که با استفاده از کپی با بافر به output.jpg نوشته می‌شود.
$responseStream = $convertApi->convertDocument($request);
$outputHandle = fopen($outputJpgPath, 'wb');
while (!feof($responseStream)) {
    $buffer = fread($responseStream, 8192);
    fwrite($outputHandle, $buffer);
}

برای جزئیات بیشتر در مورد کلاس ConvertApi، به مرجع API مراجعه کنید.

آماده‌سازی محیط برای Aspose.OMR Cloud SDK در PHP

  1. نصب SDK از طریق Composer
composer require aspose/aspose-omr-cloud

پکیج همچنین می‌تواند از صفحه انتشار دانلود شود.

  1. تأیید نسخه PHP - SDK نیاز به PHP 7.2 یا بالاتر دارد.

  2. تنظیم اعتبارها - مقادیر YOUR_APP_SID و YOUR_API_KEY را در کد با مقادیر حساب Aspose Cloud خود جایگزین کنید.

  3. بارگذاری خودکار وابستگی‌ها - فایلی vendor/autoload.php که توسط Composer تولید شده است، تمام کلاس‌های مورد نیاز را بارگذاری می‌کند.

با تکمیل این مراحل، آماده‌اید تا DOCX را به JPG در PHP با استفاده از Aspose.OMR Cloud SDK تبدیل کنید.

نتیجه‌گیری

اکنون می‌دانید چگونه DOCX را به JPG در PHP به‌صورت کارآمد با Aspose.OMR Cloud SDK تبدیل کنید. نمونه کد ارائه‌شده، جریان کاری REST cURL و دستورالعمل‌های راه‌اندازی، یک راه‌حل کامل و آماده برای تولید به شما می‌دهند که می‌تواند در هر پروژه PHP، از جمله برنامه‌های Laravel، یکپارچه شود. برای استفاده تجاری، یک لایسنس را در صفحه محصول Aspose.OMR Cloud SDK for PHP خریداری کنید؛ یک لایسنس موقت نیز از طریق صفحه لایسنس موقت در دسترس است. امروز شروع به تبدیل اسناد Word خود به تصاویر JPG با کیفیت بالا کنید.

سوالات متداول

چگونه می‌توانم DOCX را به JPG در PHP تبدیل کنم؟
از Aspose.OMR Cloud SDK for PHP استفاده کنید. پس از نصب SDK و پیکربندی اعتبارنامه‌های خود، مثال کد PHP بالا گام‌های دقیق برای تبدیل یک فایل DOCX به تصویر JPG را نشان می‌دهد.

آیا می‌توان DOCX را به JPG در Laravel در PHP تبدیل کرد؟
بله. SDK با هر چارچوب PHP، از جمله Laravel، کار می‌کند. منطق تبدیل را داخل یک کنترلر یا کلاس سرویس قرار دهید و از مسیرهای خود فراخوانی کنید.

بهترین روش برای تبدیل DOCX به JPG با وضوح بالا در PHP چیست؟
پارامترهای وضوح خروجی (در صورت پشتیبانی) را در درخواست تبدیل تنظیم کنید. SDK امکان مشخص کردن تنظیمات DPI را در بدنه درخواست برای خروجی JPG با کیفیت بالاتر فراهم می‌کند.

آیا می‌توانم چندین فایل DOCX را به JPG در PHP با یک اسکریپت تبدیل کنم؟
به‌طور قطع. یک آرایه از مسیرهای فایل‌های DOCX را حلقه بزنید، همان نمونه ConvertApi را دوباره استفاده کنید و برای هر فایل convertDocument را فراخوانی کنید. این رویکرد برای پردازش دسته‌ای به‌خوبی مقیاس‌پذیر است.

بیشتر بخوانید