Преобразование 3D‑моделей в документы, доступные для просмотра на любых устройствах, часто требуется в инженерных и визуализационных инструментах. Conholdate.Total for Java предоставляет мощный SDK, который упрощает конвертацию 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 in 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, которые вы можете настроить:
- Page Size - Выберите из стандартных размеров, таких как
PdfPageSize.A4илиPdfPageSize.LETTER. - Page Orientation - Установите
PdfPageOrientation.PORTRAITилиPdfPageOrientation.LANDSCAPE. - Quality - Метод
setQuality(int)принимает значения от 0 до 100; 100 обеспечивает наивысшую визуальную точность. - Embed Fonts - Включение
setEmbedFonts(true)гарантирует сохранение всех шрифтов в результирующем PDF. - Optimize for Print -
setOptimizeForPrint(true)адаптирует PDF для печатных процессов. - Compress Images -
setCompressImages(true)уменьшает размер файла без заметной потери качества.
Эти параметры продемонстрированы в приведённом выше фрагменте кода и могут быть объединены для удовлетворения конкретных требований проекта.
Заключение
Conholdate.Total for Java делает преобразование STL в PDF в Java простым и мощным. Следуя инструкциям, используя предоставленный пример кода и настраивая параметры PDF, вы можете создавать PDF высокого качества из 3D‑моделей STL для настольных или серверных приложений. Не забудьте получить соответствующую лицензию для использования в продакшене; вы можете ознакомиться с ценами на странице цен или получить временную лицензию на странице временной лицензии. С этим SDK интеграция конвертации 3D‑моделей в ваши Java‑проекты становится простой задачей.
Часто задаваемые вопросы
Как выполнить конвертацию STL в PDF в Java с помощью Conholdate.Total?
Используйте классConverter, настройтеPdfConvertOptionsи вызовитеconvert(), как показано в полном примере кода. SDK берет на себя всю тяжелую работу по рендерингу 3D‑модели в PDF.Какие форматы страниц PDF поддерживаются при конвертации STL в PDF?
SDK поддерживает все стандартные размеры страниц PDF, определённые вPdfPageSize, а также обе ориентации — портретную и альбомную — черезPdfPageOrientation.Можно ли встроить пользовательские шрифты в сгенерированный PDF?
Да. УстановитеpdfOptions.setEmbedFonts(true), чтобы встроить любые шрифты, используемые при рендеринге STL, гарантируя, что PDF будет выглядеть одинаково во всех просмотрщиках.Где я могу найти более подробную информацию о лицензировании и поддержке?
Подробности о лицензировании доступны на странице страница с ценами и временную лицензию можно запросить на странице страница временной лицензии. Для технической помощи посетите форум поддержки.
