Konwertowanie modeli 3D na dokumenty, które można przeglądać uniwersalnie, jest częstym wymogiem w narzędziach inżynieryjnych i wizualizacyjnych. Conholdate.Total for Java zapewnia solidny SDK, który umożliwia prostą konwersję z STL do PDF w Javie. W tym samouczku skonfigurujesz bibliotekę, przejdziesz przez kompletny przykład kodu, dostosujesz opcje PDF i poznasz najlepsze praktyki zapewniające niezawodne wyniki.
Kroki konwersji STL do PDF w Javie
- Sprawdź plik wejściowy STL: Upewnij się, że źródłowy plik STL istnieje i jest czytelny.
String inputPath = "sample.stl";
if (!Files.isReadable(Paths.get(inputPath))) {
System.err.println("Input STL file not found or not readable: " + inputPath);
return;
}
- Zainicjalizuj konwerter: Utwórz instancję
Converterz ścieżką do pliku STL.
try (Converter converter = new Converter(inputPath)) {
// conversion logic follows
}
- (Opcjonalnie) Zastosuj opcje ładowania STL: Jeśli potrzebujesz niestandardowego zachowania podczas ładowania, odkomentuj linie z opcjami ładowania.
// LoadOptions loadOptions = new StlLoadOptions();
// converter.setLoadOptions(loadOptions);
- Skonfiguruj opcje konwersji PDF: Ustaw rozmiar strony, orientację, jakość i inne ustawienia 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);
- Wykonaj konwersję i zweryfikuj: Wywołaj
convert, a następnie sprawdź, czy wygenerowany plik PDF nie jest pusty.
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 do PDF Java - Pełny przykład kodu
Poniższy przykład demonstruje cały przepływ pracy konwersji STL do PDF przy użyciu 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.");
}
}
}
Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki do plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia.
Wymagania wstępne i konfiguracja
Dodaj repozytorium Maven Conholdate oraz zależność SDK do swojego 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>
Pobierz najnowszy pakiet SDK ze strony pobierania. Biblioteka wymaga Java 8 lub nowszej.
Konfigurowanie opcji wyjściowych PDF
Conholdate.Total for Java oferuje kilka ustawień PDF, które możesz dostosować:
- Page Size - Wybierz spośród standardowych rozmiarów, takich jak
PdfPageSize.A4lubPdfPageSize.LETTER. - Page Orientation - Ustaw na
PdfPageOrientation.PORTRAITlubPdfPageOrientation.LANDSCAPE. - Quality - Metoda
setQuality(int)przyjmuje wartości od 0 do 100; 100 zapewnia najwyższą jakość wizualną. - Embed Fonts - Włączenie
setEmbedFonts(true)zapewnia zachowanie wszystkich czcionek w wyjściowym pliku PDF. - Optimize for Print -
setOptimizeForPrint(true)dostosowuje PDF do procesów drukowania. - Compress Images -
setCompressImages(true)zmniejsza rozmiar pliku bez zauważalnej utraty jakości.
Opcje te są przedstawione w powyższym fragmencie kodu i mogą być łączone, aby spełnić konkretne wymagania projektu.
Podsumowanie
Conholdate.Total for Java sprawia, że konwersja STL do PDF w Javie jest zarówno prosta, jak i potężna. Postępując zgodnie z krokami, korzystając z dostarczonego przykładu kodu i dostosowując opcje PDF, możesz generować wysokiej jakości pliki PDF z trójwymiarowych modeli STL dla aplikacji desktopowych lub serwerowych. Pamiętaj, aby uzyskać odpowiednią licencję do użytku produkcyjnego; możesz zapoznać się z cennikiem na stronie cenowej lub uzyskać tymczasową licencję ze strony tymczasowej licencji. Mając to SDK, integracja konwersji modeli 3D w Twoich projektach Java jest dziecinnie prosta.
FAQs
Jak wykonać konwersję STL do PDF w Javie przy użyciu Conholdate.Total?
Użyj klasyConverter, skonfigurujPdfConvertOptionsi wywołajconvert(), jak pokazano w pełnym przykładzie kodu. SDK zajmuje się ciężkim procesem renderowania modelu 3D do PDF.Jakie formaty stron PDF są obsługiwane podczas konwersji STL do PDF?
SDK obsługuje wszystkie standardowe rozmiary stron PDF zdefiniowane wPdfPageSizeoraz zarówno orientację pionową, jak i poziomą za pomocąPdfPageOrientation.Czy można osadzić własne czcionki w generowanym PDF?
Tak. UstawpdfOptions.setEmbedFonts(true), aby osadzić wszystkie czcionki użyte w renderowaniu STL, zapewniając, że PDF wygląda tak samo w każdym podglądzie.Gdzie mogę znaleźć więcej informacji o licencjonowaniu i wsparciu? Szczegóły licencji są dostępne na stronie cenowej i tymczasową licencję można zamówić na stronie tymczasowej licencji. W celu uzyskania pomocy technicznej odwiedź forum wsparcia.
