تبدیل DOCX به PDF در Java یک نیاز مکرر برای جریان‌های کاری اسناد سازمانی است که به خروجی قابل اعتماد و با کیفیت بالا نیاز دارند. Aspose.Cells Cloud SDK for Java کتابخانه‌ای قدرتمند فراهم می‌کند که بار سنگین را در سمت سرور بر عهده می‌گیرد و به شما امکان می‌دهد بر منطق کسب‌وکار تمرکز کنید. این راهنما شما را از تنظیم اعتبارنامه‌ها، یک مثال کامل کد، تماس‌های معادل cURL REST، ملاحظات امنیتی و بهترین روش‌ها برای ادغام تبدیل در برنامه‌های متمرکز بر رعایت مقررات راهنمایی می‌کند.

تبدیل DOCX به PDF در جاوا - مثال کامل کد

مثال زیر یک تبدیل حداقل انتها‑به‑انتها را با استفاده از کتابخانه Aspose.Cells Cloud نشان می‌دهد. این کتابخانه کلاینت API را مقداردهی اولیه می‌کند، یک فایل DOCX محلی را به صورت جریان می‌خواند، درخواست تبدیل به PDF را می‌فرستد و نتیجه را بر روی دیسک می‌نویسد.

import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.client.ApiClient;
import com.aspose.cloud.cells.client.Configuration;
import com.aspose.cloud.cells.model.ResponseMessage;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class DocxToPdfConverter {

// Replace with your actual Aspose Cloud credentials
    private static final String CLIENT_ID = "YOUR_CLIENT_ID";
    private static final String CLIENT_SECRET = "YOUR_CLIENT_SECRET";

public static void main(String[] args) {
        // Initialize API client with timeout settings for better performance
        ApiClient apiClient = new ApiClient();
        apiClient.setBasePath("https://api.aspose.cloud");
        apiClient.setReadTimeout(120_000);      // 2 minutes read timeout
        apiClient.setConnectTimeout(30_000);    // 30 seconds connect timeout
        apiClient.setClientId(CLIENT_ID);
        apiClient.setClientSecret(CLIENT_SECRET);
        Configuration.setDefaultApiClient(apiClient);

CellsApi cellsApi = new CellsApi();

File inputFile = new File("input.docx");
        String targetFormat = "pdf";

// Convert and write result to output file
        try (InputStream fileStream = new BufferedInputStream(new FileInputStream(inputFile));
             OutputStream outStream = new BufferedOutputStream(new FileOutputStream("output.pdf"))) {

// The API returns the converted file as a byte array when outPath is null
            ResponseMessage response = cellsApi.postConvertWorkbook(fileStream, targetFormat, null);

// Write the returned bytes directly to the output file
            outStream.write(response.getContent());
            outStream.flush();

System.out.println("Conversion completed successfully. Output saved as output.pdf");
        } catch (Exception e) {
            System.err.println("Error during conversion: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

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

تبدیل سند Word به PDF با استفاده از 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 - شناسه fileId بازگردانده شده را ذخیره کنید.
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/input.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary @input.docx
  1. درخواست تبدیل به PDF - API PDF را به‌عنوان یک جریان باینری برمی‌گرداند.
curl -X POST "https://api.aspose.cloud/v3.0/cells/convert?format=pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Accept: application/pdf" \
     -T input.docx \
     -o output.pdf
  1. دانلود PDF تبدیل‌شده (اگر آن را به‌جای پخش مستقیم در ذخیره‌سازی ابری ذخیره کرده‌اید).
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

برای دریافت فهرست کامل پارامترها و گزینه‌های پیشرفته، به مرجع رسمی API مراجعه کنید.

چگونه تبدیل DOCX به PDF در جاوا کار می‌کند

در زیر تجزیه و تحلیل مختصری از گام‌های کلیدی که توسط مثال کد انجام می‌شود آورده شده است:

  1. پیکربندی کلاینت API - ApiClient ایجاد می‌شود، مسیر پایه تنظیم می‌شود و زمان‌سنجی‌ها برای ارتباط شبکه‌ای قابل اطمینان پیکربندی می‌شوند.

    ApiClient apiClient = new ApiClient();
    apiClient.setBasePath("https://api.aspose.cloud");
    apiClient.setReadTimeout(120_000);
    apiClient.setConnectTimeout(30_000);
    
  2. احراز هویت با اعتبارنامه‌های مشتری - clientId و clientSecret به مشتری متصل می‌شوند و امکان بازیابی توکن OAuth را در پس‌زمینه فراهم می‌کنند.

apiClient.setClientId(CLIENT_ID);
apiClient.setClientSecret(CLIENT_SECRET);
Configuration.setDefaultApiClient(apiClient);
  1. آماده‌سازی جریان DOCX منبع - یک FileInputStream با بافر، فایل محلی input.docx را می‌خواند بدون اینکه کل فایل را در حافظه بارگذاری کند.

    InputStream fileStream = new BufferedInputStream(new FileInputStream(inputFile));
    
  2. فراخوانی نقطه انتهایی تبدیل - postConvertWorkbook جریان و فرمت هدف (pdf) را ارسال می‌کند. پاسخ شامل بایت‌های تبدیل‌شده است.

ResponseMessage response = cellsApi.postConvertWorkbook(fileStream, "pdf", null);
  1. نوشتن PDF بر روی دیسک - یک FileOutputStream با بافر، آرایه بایت را به‌صورت کارآمد می‌نویسد و فرآیند تبدیل را تکمیل می‌کند.
    outStream.write(response.getContent());
    outStream.flush();
    

برای جزئیات عمیق‌تر در مورد هر روش، به مرجع API مراجعه کنید.

نصب و پیکربندی Aspose.Cells Cloud SDK for Java

کتابخانه را با استفاده از Maven، Gradle یا با دانلود مستقیم JAR به پروژه خود اضافه کنید.

وابستگی Maven (تبدیل DOCX به PDF - وابستگی Maven در جاوا)

<!-- Maven -->
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells-cloud</artifactId>
    <version>26.8</version>
</dependency>

وابستگی Gradle (تبدیل DOCX به PDF با Gradle در جاوا)

// Gradle
implementation 'com.aspose:aspose-cells-cloud:26.8'

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

پیش‌نیازها

  • جاوا 8 یا بالاتر.
  • یک حساب Aspose Cloud با client_id و client_secret معتبر.
  • دسترسی شبکه به https://api.aspose.cloud.

پس از افزودن وابستگی، کلاس‌های مورد نیاز را همان‌طور که در مثال کد نشان داده شده است وارد کنید و قبل از انجام هر فراخوانی API، اعتبارنامه‌های خود را پیکربندی کنید.

نتیجه‌گیری

Converting DOCX to PDF در Java به‌سادگی با Aspose.Cells Cloud SDK for Java انجام می‌شود. این کتابخانه پخش جریان، تبدیل فرمت و رمزنگاری اختیاری PDF را مدیریت می‌کند و به شما امکان می‌دهد تا الزامات سخت‌گیرانه امنیتی و انطباقی مانند GDPR یا HIPAA را برآورده کنید. به‌خاطر داشته باشید که برای محافظت از PDFهای تولید شده، می‌توانید از ویژگی‌های اعمال رمز عبور یا محدودیت‌های دسترسی که به‌صورت آماده در همان SDK موجود است، استفاده کنید. برای استقرارهای تولیدی به یک لایسنس پرداختی نیاز خواهید داشت؛ می‌توانید برای تست یک لایسنس موقت از صفحه لایسنس موقت دریافت کنید. با گام‌های توضیح داده شده در این راهنما، می‌توانید تبدیل قابل اعتماد DOCX به PDF را در هر برنامه سازمانی مبتنی بر Java‑based یکپارچه کنید.

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

  • چگونه می‌توانم DOCX را به PDF در Java تبدیل کنم بدون اینکه خودم یک کلاینت HTTP بنویسم؟
    از Aspose.Cells Cloud SDK for Java استفاده کنید؛ متد postConvertWorkbook فراخوانی‌های REST را انتزاع می‌کند و بایت‌های PDF را مستقیماً باز می‌گرداند.

  • آیا راهی برای رمزگذاری PDF در حین تبدیل وجود دارد؟
    بله. پس از تبدیل، APIهای رمزگذاری PDF ارائه‌شده توسط همان کتابخانه را فراخوانی کنید. برای روش EncryptDocument به مستندات مراجعه کنید.

  • آیا می‌توانم وابستگی‌ها را با یک فایل JAR به جای Maven/Gradle مدیریت کنم؟
    مطمئناً. JAR را از آدرس دانلود دریافت کنید و به classpath پروژه خود اضافه کنید.

  • بهترین روش‌ها برای تبدیل بزرگ‌مقیاس DOCX به PDF چیست؟
    یک نمونه ApiClient را مجدداً استفاده کنید، به‌جای بارگذاری کامل فایل‌ها در حافظه، آن‌ها را به‌صورت جریان (stream) پردازش کنید و زمان‌سنجی‌های خواندن/نوشتن مناسب را همان‌طور که در مثال کد نشان داده شده است فعال کنید. این رویکرد با بهترین روش‌های تبدیل DOCX به PDF در جاوا هم‌راستا است.

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