تبدیل مدل‌های سه‌بعدی به اسنادی که به‌صورت جهانی قابل مشاهده هستند، یک نیاز رایج برای ابزارهای مهندسی و تجسم است.
Conholdate.Total for Java یک SDK قدرتمند فراهم می‌کند که تبدیل STL به PDF در جاوا را ساده می‌سازد.

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

مراحل تبدیل STL به PDF در جاوا

  1. تأیید فایل ورودی STL: اطمینان حاصل کنید که فایل STL منبع وجود دارد و قابل خواندن است.
String inputPath = "sample.stl";
if (!Files.isReadable(Paths.get(inputPath))) {
    System.err.println("Input STL file not found or not readable: " + inputPath);
    return;
}
  1. مقداردهی اولیه مبدل: یک نمونه Converter با مسیر فایل STL ایجاد کنید.
try (Converter converter = new Converter(inputPath)) {
    // conversion logic follows
}
  1. (اختیاری) اعمال گزینه‌های بارگذاری STL: اگر به رفتار بارگذاری سفارشی نیاز دارید، خطوط گزینه‌های بارگذاری را از حالت کامنت خارج کنید.
// LoadOptions loadOptions = new StlLoadOptions();
// converter.setLoadOptions(loadOptions);
  1. پیکربندی گزینه‌های تبدیل PDF: تنظیم اندازه صفحه، جهت، کیفیت و سایر تنظیمات PDF.
PdfConvertOptions pdfOptions = new PdfConvertOptions();
pdfOptions.setPageSize(PdfPageSize.A4);
pdfOptions.setPageOrientation(PdfPageOrientation.PORTRAIT);
pdfOptions.setQuality(100);
pdfOptions.setEmbedFonts(true);
pdfOptions.setOptimizeForPrint(true);
pdfOptions.setCompressImages(true);
  1. اجرای تبدیل و اعتبارسنجی: متد convert را فراخوانی کنید و سپس بررسی کنید که PDF تولید شده خالی نیست.
converter.convert("sample.pdf", pdfOptions);
File pdfFile = new File("sample.pdf");
if (pdfFile.exists() && pdfFile.length() > 0) {
    System.out.println("Generated PDF is valid. Size: " + pdfFile.length() + " bytes.");
}

STL به PDF Java - مثال کامل کد

مثال زیر کل جریان کار تبدیل STL به PDF را با استفاده از Conholdate.Total for Java نشان می‌دهد.

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.enums.PdfPageOrientation;
import com.groupdocs.conversion.enums.PdfPageSize;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.options.load.LoadOptions;
import com.groupdocs.conversion.options.load.StlLoadOptions;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class StlToPdfDemo {
    public static void main(String[] args) {
        // Input STL file and desired PDF output file
        String inputPath = "sample.stl";
        String outputPath = "sample.pdf";

// Verify that the input file exists and is readable
        if (!Files.isReadable(Paths.get(inputPath))) {
            System.err.println("Input STL file not found or not readable: " + inputPath);
            return;
        }

// Perform conversion inside a try‑with‑resources block to guarantee cleanup
        try (Converter converter = new Converter(inputPath)) {
            // If STL‑specific loading options are required, uncomment the following lines:
            // LoadOptions loadOptions = new StlLoadOptions();
            // converter.setLoadOptions(loadOptions);

// Configure PDF conversion options
            PdfConvertOptions pdfOptions = new PdfConvertOptions();
            pdfOptions.setPageSize(PdfPageSize.A4);
            pdfOptions.setPageOrientation(PdfPageOrientation.PORTRAIT);
            pdfOptions.setQuality(100);                 // Highest visual quality
            pdfOptions.setEmbedFonts(true);             // Ensure fonts are embedded
            pdfOptions.setOptimizeForPrint(true);       // Optimize PDF for printing
            pdfOptions.setCompressImages(true);         // Reduce PDF size without quality loss

// Execute the conversion
            converter.convert(outputPath, pdfOptions);
            System.out.println("STL to PDF conversion completed successfully: " + outputPath);
        } catch (Exception ex) {
            System.err.println("An error occurred during conversion:");
            ex.printStackTrace();
            return;
        }

// Simple validation of the generated PDF
        File pdfFile = new File(outputPath);
        if (pdfFile.exists() && pdfFile.length() > 0) {
            System.out.println("Generated PDF is valid. Size: " + pdfFile.length() + " bytes.");
        } else {
            System.err.println("PDF generation failed or resulted an empty file.");
        }
    }
}

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

پیش‌نیازها و تنظیمات

مخزن Maven Conholdate و وابستگی SDK را به pom.xml خود اضافه کنید:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

آخرین بسته SDK را از صفحه دانلود دریافت کنید. این کتابخانه به Java 8 یا بالاتر نیاز دارد.

پیکربندی گزینه‌های خروجی PDF

Conholdate.Total for Java چند تنظیم PDF را ارائه می‌دهد که می‌توانید تنظیم کنید:

  • اندازه صفحه - از اندازه‌های استاندارد مانند PdfPageSize.A4 یا PdfPageSize.LETTER انتخاب کنید.
  • جهت صفحه - به PdfPageOrientation.PORTRAIT یا PdfPageOrientation.LANDSCAPE تنظیم کنید.
  • کیفیت - متد setQuality(int) مقادیر از 0 تا 100 را می‌پذیرد؛ 100 بالاترین دقت بصری را فراهم می‌کند.
  • جاسازی قلم‌ها - فعال‌سازی setEmbedFonts(true) اطمینان می‌دهد که تمام قلم‌ها در PDF خروجی حفظ شوند.
  • بهینه‌سازی برای چاپ - setOptimizeForPrint(true) PDF را برای گردش کار چاپی تنظیم می‌کند.
  • فشرده‌سازی تصاویر - setCompressImages(true) اندازه فایل را بدون کاهش محسوس کیفیت کاهش می‌دهد.

این گزینه‌ها در قطعه کد بالا نشان داده شده‌اند و می‌توانند برای برآورده کردن نیازهای خاص پروژه ترکیب شوند.

نتیجه‌گیری

Conholdate.Total for Java تبدیل STL به PDF در Java را هم ساده و هم قدرتمند می‌کند. با دنبال کردن مراحل، استفاده از مثال کد ارائه‌شده و تنظیم گزینه‌های PDF، می‌توانید PDFهای با کیفیت بالا از مدل‌های 3D STL برای برنامه‌های دسکتاپ یا سرور تولید کنید. به‌خاطر داشته باشید که برای استفاده در تولید، یک لایسنس مناسب تهیه کنید؛ می‌توانید قیمت‌ها را در صفحهٔ قیمت‌گذاری بررسی کنید یا لایسنس موقت را از صفحهٔ لایسنس موقت دریافت کنید. با داشتن این SDK، ادغام تبدیل مدل‌های 3D در پروژه‌های Java شما بسیار آسان است.

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

  • چگونه می‌توانم تبدیل STL به PDF را در جاوا با Conholdate.Total انجام دهم؟
    از کلاس Converter استفاده کنید، PdfConvertOptions را پیکربندی کنید و همان‌طور که در مثال کامل کد نشان داده شده است، convert() را فراخوانی کنید. SDK بار سنگین رندر مدل 3D را به PDF بر عهده می‌گیرد.

  • در حین تبدیل STL به PDF، چه قالب‌های صفحه PDF پشتیبانی می‌شوند؟
    SDK تمام اندازه‌های استاندارد صفحه PDF تعریف‌شده در PdfPageSize و هر دو جهت پرتره و لنداسکیپ را از طریق PdfPageOrientation پشتیبانی می‌کند.

  • آیا امکان جاسازی فونت‌های سفارشی در PDF تولید شده وجود دارد؟
    بله. با تنظیم pdfOptions.setEmbedFonts(true) می‌توانید هر فونتی که در رندرینگ STL استفاده شده است را جاسازی کنید، به‌طوری که PDF در هر نمایشگر یکسان به نظر برسد.

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

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