تبدیل فایل‌های DOC به PDF یک نیاز مکرر برای برنامه‌های Java است که باید اسناد قابل چاپ یا آرشیوی تولید کنند. Aspose.HTML Cloud SDK for Java یک کتابخانه قدرتمند مبتنی بر ابر ارائه می‌دهد که این کار را ساده می‌کند. در این راهنما شما یاد خواهید گرفت چگونه SDK را تنظیم کنید، کد تبدیل را بنویسید، و همان عملیات را با دستورات cURL انجام دهید تا بتوانید تبدیل DOC به PDF را به‌صورت کارآمد در Java خودکار کنید.

چرا تبدیل فایل‌های DOC به PDF در جاوا به خودکارسازی نیاز دارد

بسیاری از شرکت‌ها دسته‌های بزرگ اسناد قدیمی DOC را پردازش می‌کنند که باید برای سازگاری و امنیت به صورت PDF توزیع مجدد شوند. تبدیل دستی زمان‌بر، مستعد خطا است و برای بارهای کاری با حجم بالا مقیاس‌پذیر نیست. توسعه‌دهندگان به رویکرد برنامه‌نویسی نیاز دارند که بر روی سرورها کار کند، با خطوط لوله CI یکپارچه شود و به صحت سند احترام بگذارد.

رویکرد: تبدیل خط فرمان مبتنی بر ابر

Aspose.HTML Cloud SDK for Java یک API مبتنی بر REST ارائه می‌دهد که می‌تواند از کد Java یا به‌صورت مستقیم از طریق ابزارهای خط فرمان مانند cURL فراخوانی شود. این SDK به‌صورت پیش‌فرض تشخیص فرمت، جاسازی فونت و تنظیمات کیفیت تصویر را مدیریت می‌کند. با بهره‌گیری از سرویس ابری، از نصب کتابخانه‌های بومی سنگین بر روی سرورهای خود جلوگیری می‌کنید و در عین حال تبدیل DOC به PDF با کیفیت بالا را به دست می‌آورید. استفاده جزئیات API در مستندات رسمی و مرجع API توضیح داده شده است.

پیاده‌سازی تبدیل DOC به PDF در Java با Aspose.HTML

راه‌اندازی وابستگی Maven

برای اینکه کتابخانه در زمان کامپایل در دسترس باشد، وابستگی Aspose.HTML Cloud Maven را به فایل pom.xml خود اضافه کنید.

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-html-cloud</artifactId>
    <version>25.11.1</version>
</dependency>

شما می‌توانید آخرین بسته را از صفحه دانلود دریافت کنید.

پیکربندی اعتبارهای ابری Aspose.HTML

یک شیء Configuration ایجاد کنید و AppSid و AppKey خود را تنظیم کنید. این مقادیر از داشبورد Aspose Cloud دریافت می‌شوند.

Configuration config = new Configuration();
config.setAppKey("YOUR_APP_KEY");
config.setAppSid("YOUR_APP_SID");

بارگذاری فایل DOC و آماده‌سازی درخواست تبدیل

فایل DOC منبع را به یک آرایه بایت بخوانید و یک ConvertDocumentRequest بسازید که فرمت ورودی و فرمت هدف را مشخص می‌کند.

byte[] inputBytes = Files.readAllBytes(Paths.get("input.docx"));

ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setInputFile(inputBytes);
request.setFileName("input.docx");      // source format hint
request.setOutputFormat("pdf");         // target format

تعریف گزینه‌های خروجی PDF

به‌صورت اختیاری می‌توانید تولید PDF را سفارشی کنید، برای مثال با جاسازی قلم‌ها و تنظیم کیفیت تصویر.

Map<String, Object> pdfOptions = new HashMap<>();
pdfOptions.put("embedFonts", true);
pdfOptions.put("imageQuality", 90);
request.setConversionOptions(pdfOptions);

اجرای تبدیل و ذخیره PDF

مشتری API را مقداردهی اولیه کنید، تبدیل را فراخوانی کنید و بایت‌های PDF حاصل را در یک فایل بنویسید.

try (ApiClient apiClient = new ApiClient(config)) {
    HtmlApi htmlApi = new HtmlApi(apiClient);
    ConvertDocumentResponse response = htmlApi.convertDocument(request);
    Files.write(Paths.get("output.pdf"), response.getDocument());
}

این مراحل جریان کاری کامل برای تبدیل DOC به PDF در جاوا را با استفاده از کتابخانه Aspose.HTML Cloud نشان می‌دهند.

مثال کامل کد: تبدیل DOC به PDF در Java با Aspose.HTML

مثال زیر تمام قطعات را در یک برنامهٔ قابل اجرا ترکیب می‌کند.

import com.aspose.html.cloud.ApiClient;
import com.aspose.html.cloud.Configuration;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.requests.ConvertDocumentRequest;
import com.aspose.html.cloud.model.responses.ConvertDocumentResponse;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;

public class DocToPdfConverter {
    public static void main(String[] args) throws Exception {
        // Configure Aspose.HTML Cloud credentials
        Configuration config = new Configuration();
        config.setAppKey("YOUR_APP_KEY");
        config.setAppSid("YOUR_APP_SID");

// Initialize API client (auto‑closeable)
        try (ApiClient apiClient = new ApiClient(config)) {
            HtmlApi htmlApi = new HtmlApi(apiClient);

// Input DOCX and output PDF file paths
            String inputPath = "input.docx";
            String outputPath = "output.pdf";

// Load DOCX file into memory
            byte[] inputBytes = Files.readAllBytes(Paths.get(inputPath));

// Build conversion request
            ConvertDocumentRequest request = new ConvertDocumentRequest();
            request.setInputFile(inputBytes);
            request.setFileName("input.docx");      // source format hint
            request.setOutputFormat("pdf");         // target format

// Optional conversion options for PDF output
            Map<String, Object> pdfOptions = new HashMap<>();
            pdfOptions.put("embedFonts", true);
            pdfOptions.put("imageQuality", 90);
            request.setConversionOptions(pdfOptions);

// Execute conversion
            ConvertDocumentResponse response = htmlApi.convertDocument(request);

// Write resulting PDF to disk
            Files.write(Paths.get(outputPath), response.getDocument());
        }
    }
}

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

انجام تبدیل سند با استفاده از cURL و REST API

می‌توانید همان تبدیل DOC به PDF را بدون نوشتن کد Java با فراخوانی مستقیم نقاط انتهایی REST سرویس Aspose.HTML Cloud انجام دهید.

1. احراز هویت و دریافت توکن دسترسی

curl -X POST "https://api.aspose.cloud/v4.0/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

پاسخ شامل یک access_token است که در تماس‌های بعدی استفاده می‌شود.

2. بارگذاری فایل DOC منبع

curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/input.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @input.docx

3. اجرای تبدیل

curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     -d @input.docx \
     -o output.pdf

4. دانلود PDF خروجی (اگر مستقیماً ذخیره نشده باشد)

curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

این دستورات cURL به شما امکان می‌دهند تبدیل DOC به PDF را در اسکریپت‌ها، خطوط لوله CI یا هر محیطی که می‌تواند درخواست‌های HTTP ارسال کند، یکپارچه کنید. برای جزئیات بیشتر به مرجع API مراجعه کنید.

نتیجه‌گیری

پیاده‌سازی تبدیل DOC به PDF در جاوا به‌صورت ساده‌ای با Aspose.HTML Cloud SDK for Java امکان‌پذیر است. این کتابخانه تمام کارهای سنگین را انجام می‌دهد، از تشخیص قالب تا تولید PDF با کیفیت بالا، در حالی که روش اختیاری cURL انعطاف‌پذیری برای اسکریپت‌های خودکار فراهم می‌کند. به‌خاطر داشته باشید که برای استفاده در محیط تولید یک لایسنس مناسب تهیه کنید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید یک لایسنس موقت برای ارزیابی از صفحه لایسنس موقت دریافت کنید. با گام‌ها و کدهای ارائه‌شده، اکنون می‌توانید تبدیل مستندات قابل اعتماد را در برنامه‌های جاوا خود ادغام کنید.

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

چگونه Aspose.HTML Cloud SDK for Java را راه‌اندازی کنم؟

در گام اول پیاده‌سازی، وابستگی Maven نشان داده شده را اضافه کنید، سپس AppSid و AppKey خود را با استفاده از کلاس Configuration پیکربندی کنید. دستورالعمل‌های دقیق تنظیمات در مستندات محصول موجود است.

اگر تبدیل با خطا شکست بخورد، چه کاری باید انجام دهم؟

اطمینان حاصل کنید که مسیر فایل ورودی صحیح است و اعتبارنامه‌های شما معتبر هستند. API پیام‌های خطای توصیفی را برمی‌گرداند؛ همچنین می‌توانید برای نکات رفع مشکل به انجمن پشتیبانی مراجعه کنید.

آیا می‌توانم خروجی PDF را سفارشی‌سازی کنم، مانند جاسازی فونت‌ها؟

بله. از نقشه conversionOptions برای تنظیم پارامترهایی مانند embedFonts و imageQuality قبل از فراخوانی convertDocument استفاده کنید. برای تمام گزینه‌های موجود به مستندات API مراجعه کنید.

آیا امکان تبدیل چندین فایل DOC به صورت یکجا وجود دارد؟

در حالی که SDK برای هر درخواست یک فایل را پردازش می‌کند، می‌توانید در Java بر روی مجموعه‌ای از فایل‌ها حلقه بزنید و منطق تبدیل را برای هر یک فراخوانی کنید و بدون تغییرات اضافی در API، پردازش دسته‌ای را انجام دهید.

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