Het omzetten van 3D-modellen naar universeel bekijkbare documenten is een veelvoorkomende eis voor engineering- en visualisatietools. Conholdate.Total for Java biedt een robuuste SDK die de conversie van STL naar PDF in Java eenvoudig maakt. In deze tutorial stelt u de bibliotheek in, doorloopt u een volledig codevoorbeeld, past u PDF‑opties aan en leert u best practices voor betrouwbare resultaten.

Stappen voor STL naar PDF-conversie in Java

  1. Controleer STL-invoerbestand: Zorg ervoor dat het bron‑STL‑bestand bestaat en leesbaar is.
String inputPath = "sample.stl";
if (!Files.isReadable(Paths.get(inputPath))) {
    System.err.println("Input STL file not found or not readable: " + inputPath);
    return;
}
  1. Initialiseer de Converter: Maak een Converter‑instantie met het STL‑bestandspad.
try (Converter converter = new Converter(inputPath)) {
    // conversion logic follows
}
  1. (Optioneel) STL‑laadopties toepassen: Als u aangepast laadgedrag nodig heeft, verwijder dan de commentaartekens van de laadopties‑regels.
// LoadOptions loadOptions = new StlLoadOptions();
// converter.setLoadOptions(loadOptions);
  1. Configureer PDF-conversieopties: Stel paginagrootte, oriëntatie, kwaliteit en andere PDF‑instellingen in.
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. Conversie uitvoeren en valideren: Roep convert aan en controleer vervolgens of de gegenereerde PDF niet leeg is.
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 naar PDF Java - Volledig codevoorbeeld

Het volgende voorbeeld toont de volledige workflow voor STL-naar-PDF-conversie met behulp van 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.");
        }
    }
}

Opmerking: Dit codevoorbeeld toont de kernfunctionaliteit. Voordat u het in uw project gebruikt, moet u ervoor zorgen dat alle bestandspaden en configuratiewaarden worden bijgewerkt zodat ze overeenkomen met uw werkelijke omgeving, verifiëren dat alle vereiste afhankelijkheden correct zijn geïnstalleerd, en grondig testen in uw ontwikkelomgeving. Als u problemen ondervindt, raadpleeg dan de officiële documentatie of neem contact op met het ondersteuningsteam voor hulp.

Voorvereisten en installatie

Voeg de Conholdate Maven-repository en de SDK-afhankelijkheid toe aan uw 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>

Download het nieuwste SDK‑pakket van de downloadpagina. De bibliotheek vereist Java 8 of hoger.

PDF‑uitvoeropties configureren

Conholdate.Total for Java biedt verschillende PDF‑instellingen die u kunt aanpassen:

  • Paginagrootte - Kies uit standaardgroottes zoals PdfPageSize.A4 of PdfPageSize.LETTER.
  • Paginaoriëntatie - Stel in op PdfPageOrientation.PORTRAIT of PdfPageOrientation.LANDSCAPE.
  • Kwaliteit - De setQuality(int)-methode accepteert waarden van 0 tot 100; 100 levert de hoogste visuele getrouwheid.
  • Lettertypen insluiten - Door setEmbedFonts(true) in te schakelen, worden alle lettertypen behouden in de gegenereerde PDF.
  • Optimaliseren voor afdrukken - setOptimizeForPrint(true) past de PDF aan voor afdrukwerkstromen.
  • Afbeeldingen comprimeren - setCompressImages(true) verkleint de bestandsgrootte zonder merkbaar kwaliteitsverlies.

Deze opties worden gedemonstreerd in het codefragment hierboven en kunnen worden gecombineerd om aan specifieke projectvereisten te voldoen.

Conclusie

Conholdate.Total for Java maakt STL-naar-PDF-conversie in Java zowel eenvoudig als krachtig. Door de stappen te volgen, de meegeleverde code‑voorbeeld te gebruiken en de PDF-opties af te stemmen, kun je PDF‑bestanden van hoge kwaliteit genereren uit 3D STL-modellen voor desktop- of servertoepassingen. Vergeet niet een juiste licentie aan te schaffen voor productiegebruik; je kunt de prijzen bekijken op de prijspagina of een tijdelijke licentie verkrijgen via de pagina voor tijdelijke licentie. Met deze SDK kun je 3D-modelconversie moeiteloos integreren in je Java-projecten.

FAQs

  • Hoe voer ik STL-naar-PDF-conversie uit in Java met Conholdate.Total?
    Gebruik de Converter-klasse, configureer PdfConvertOptions en roep convert() aan zoals weergegeven in het volledige codevoorbeeld. De SDK verzorgt het zware werk van het renderen van het 3D-model naar een PDF.

  • Welke PDF-paginaformaten worden ondersteund tijdens STL naar PDF-conversie?
    De SDK ondersteunt alle standaard PDF-paginaformaten die zijn gedefinieerd in PdfPageSize en zowel portret- als landschapsoriëntaties via PdfPageOrientation.

  • Is het mogelijk om aangepaste lettertypen in de gegenereerde PDF in te sluiten?
    Ja. Stel pdfOptions.setEmbedFonts(true) in om alle lettertypen die in de STL‑weergave worden gebruikt in te sluiten, zodat de PDF er op elke viewer hetzelfde uitziet.

  • Waar kan ik meer informatie vinden over licenties en ondersteuning?
    Licentiegegevens zijn beschikbaar op de prijspagina en een tijdelijke licentie kan worden aangevraagd via de tijdelijke licentiepagina. Voor technische hulp, bezoek het ondersteuningsforum.

Lees meer