تحويل النماذج ثلاثية الأبعاد إلى مستندات يمكن عرضها عالميًا هو طلب شائع لأدوات الهندسة والتصوير البصري. Conholdate.Total for Java يوفر مجموعة تطوير برمجيات قوية تجعل تحويل STL إلى PDF في Java أمرًا بسيطًا. في هذا البرنامج التعليمي ستقوم بإعداد المكتبة، وتستعرض مثالًا كاملاً للكود، وتضبط خيارات PDF، وتتعلم أفضل الممارسات للحصول على نتائج موثوقة.
خطوات تحويل STL إلى PDF في Java
- تحقق من ملف 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;
}
- تهيئة المحول: إنشاء مثيل
Converterمع مسار ملف STL.
try (Converter converter = new Converter(inputPath)) {
// conversion logic follows
}
- (اختياري) تطبيق خيارات تحميل STL: إذا كنت بحاجة إلى سلوك تحميل مخصص، قم بإلغاء التعليق عن أسطر خيارات التحميل.
// LoadOptions loadOptions = new StlLoadOptions();
// converter.setLoadOptions(loadOptions);
- تكوين خيارات تحويل 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);
- تنفيذ التحويل والتحقق: استدعِ
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.");
}
}
}
ملاحظة: يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث أي مسارات ملفات وقيم التكوين لتتناسب مع بيئتك الفعلية، وتحقق من أن جميع الاعتمادات المطلوبة مثبتة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.
المتطلبات المسبقة والإعداد
أضف مستودع Conholdate Maven واعتماد 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 عالية الجودة من نماذج STL ثلاثية الأبعاد لتطبيقات سطح المكتب أو الخادم. تذكر الحصول على ترخيص مناسب للاستخدام الإنتاجي؛ يمكنك استكشاف الأسعار على صفحة التسعير أو الحصول على ترخيص مؤقت من صفحة الترخيص المؤقت. مع وجود هذه الـ SDK، يصبح دمج تحويل النماذج ثلاثية الأبعاد في مشاريع Java الخاصة بك سهلًا.
الأسئلة المتكررة
كيف يمكنني إجراء تحويل STL إلى PDF في Java باستخدام Conholdate.Total؟
استخدم الفئةConverter، وقم بتكوينPdfConvertOptions، واستدعِconvert()كما هو موضح في مثال الشيفرة الكامل. يتولى SDK التعامل مع الجزء المعقد من تحويل النموذج ثلاثي الأبعاد إلى PDF.ما هي تنسيقات صفحات PDF المدعومة أثناء تحويل STL إلى PDF؟
يدعم SDK جميع أحجام صفحات PDF القياسية المعرفة فيPdfPageSizeوكلا الاتجاهين العمودي والأفقي عبرPdfPageOrientation.هل من الممكن تضمين خطوط مخصصة في ملف PDF المُولد؟
نعم. قم بتعيينpdfOptions.setEmbedFonts(true)لتضمين أي خطوط مستخدمة في عرض STL، مما يضمن أن يبدو ملف PDF نفسه على أي عارض.أين يمكنني العثور على مزيد من المعلومات حول الترخيص والدعم؟
تتوفر تفاصيل الترخيص على صفحة الأسعار ويمكن طلب ترخيص مؤقت من صفحة الترخيص المؤقت. للحصول على مساعدة تقنية، زر منتدى الدعم.
