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

  1. 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;
}
  1. Zainicjalizuj konwerter: Utwórz instancję Converter z ścieżką do pliku STL.
try (Converter converter = new Converter(inputPath)) {
    // conversion logic follows
}
  1. (Opcjonalnie) Zastosuj opcje ładowania STL: Jeśli potrzebujesz niestandardowego zachowania podczas ładowania, odkomentuj linie z opcjami ładowania.
// LoadOptions loadOptions = new StlLoadOptions();
// converter.setLoadOptions(loadOptions);
  1. 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);
  1. 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.A4 lub PdfPageSize.LETTER.
  • Page Orientation - Ustaw na PdfPageOrientation.PORTRAIT lub PdfPageOrientation.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 klasy Converter, skonfiguruj PdfConvertOptions i wywołaj convert(), 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 w PdfPageSize oraz zarówno orientację pionową, jak i poziomą za pomocą PdfPageOrientation.

  • Czy można osadzić własne czcionki w generowanym PDF?
    Tak. Ustaw pdfOptions.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.

Czytaj więcej