Das Konvertieren von 3D‑Modellen in universell anzeigbare Dokumente ist eine häufige Anforderung für Ingenieur‑ und Visualisierungstools. Conholdate.Total for Java bietet ein robustes SDK, das die Konvertierung von STL zu PDF in Java unkompliziert macht. In diesem Tutorial richten Sie die Bibliothek ein, gehen ein vollständiges Codebeispiel durch, passen PDF‑Optionen an und lernen bewährte Methoden für zuverlässige Ergebnisse kennen.

Schritte zur STL-zu-PDF-Konvertierung in Java

  1. STL-Eingabedatei überprüfen: Stellen Sie sicher, dass die Quell‑STL‑Datei existiert und lesbar ist.
String inputPath = "sample.stl";
if (!Files.isReadable(Paths.get(inputPath))) {
    System.err.println("Input STL file not found or not readable: " + inputPath);
    return;
}
  1. Initialisieren Sie den Konverter: Erstellen Sie eine Converter-Instanz mit dem STL-Dateipfad.
try (Converter converter = new Converter(inputPath)) {
    // conversion logic follows
}
  1. (Optional) STL-Ladeoptionen anwenden: Wenn Sie ein benutzerdefiniertes Ladeverhalten benötigen, entfernen Sie die Kommentarzeichen von den Ladeoptionen‑Zeilen.
// LoadOptions loadOptions = new StlLoadOptions();
// converter.setLoadOptions(loadOptions);
  1. PDF-Konvertierungsoptionen konfigurieren: Seitenformat, Ausrichtung, Qualität und weitere PDF‑Einstellungen festlegen.
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. Ausführen der Konvertierung und Validieren: Rufen Sie convert auf und prüfen Sie anschließend, ob das erzeugte PDF nicht leer ist.
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 zu PDF Java - Vollständiges Codebeispiel

Das folgende Beispiel demonstriert den gesamten Arbeitsablauf für die STL-zu-PDF-Konvertierung mit Conholdate.Total für 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.");
        }
    }
}

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, überprüfen Sie, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind, und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.

Voraussetzungen und Einrichtung

Fügen Sie das Conholdate Maven-Repository und die SDK-Abhängigkeit zu Ihrer pom.xml hinzu:

<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>

Laden Sie das neueste SDK‑Paket von der Download‑Seite herunter. Die Bibliothek erfordert Java 8 oder höher.

Konfigurieren von PDF‑Ausgabeoptionen

Conholdate.Total for Java bietet mehrere PDF‑Einstellungen, die Sie anpassen können:

  • Seitenformat – Wählen Sie aus Standardgrößen wie PdfPageSize.A4 oder PdfPageSize.LETTER.
  • Seitenorientierung – Legen Sie PdfPageOrientation.PORTRAIT oder PdfPageOrientation.LANDSCAPE fest.
  • Qualität – Die Methode setQuality(int) akzeptiert Werte von 0 bis 100; 100 liefert die höchste visuelle Treue.
  • Schriftarten einbetten – Durch Aktivieren von setEmbedFonts(true) wird sichergestellt, dass alle Schriftarten im erzeugten PDF erhalten bleiben.
  • Für Druck optimieren – setOptimizeForPrint(true) passt das PDF an Druck‑Workflows an.
  • Bilder komprimieren – setCompressImages(true) reduziert die Dateigröße, ohne einen merklichen Qualitätsverlust.

Diese Optionen werden im obigen Code‑Snippet demonstriert und können kombiniert werden, um spezifische Projektanforderungen zu erfüllen.

Fazit

Conholdate.Total for Java ermöglicht die STL‑zu‑PDF‑Konvertierung in Java sowohl einfach als auch leistungsstark. Wenn Sie den Schritten folgen, das bereitgestellte Code‑Beispiel verwenden und die PDF‑Optionen anpassen, können Sie hochwertige PDFs aus 3D‑STL‑Modellen für Desktop‑ oder Server‑Anwendungen erzeugen. Denken Sie daran, für den Produktionseinsatz eine passende Lizenz zu erwerben; Sie können die Preise auf der Preisseite einsehen oder eine temporäre Lizenz auf der temporären Lizenzseite erhalten. Mit diesem SDK ist die Integration der 3D‑Modell‑Konvertierung in Ihre Java‑Projekte ein Kinderspiel.

FAQs

  • Wie führe ich die STL-zu-PDF-Konvertierung in Java mit Conholdate.Total durch?
    Verwenden Sie die Converter-Klasse, konfigurieren Sie PdfConvertOptions und rufen Sie convert() wie im vollständigen Codebeispiel gezeigt auf. Das SDK übernimmt die aufwändige Verarbeitung der 3D‑Modelldarstellung in ein PDF.

  • Welche PDF‑Seitenformate werden während der STL‑zu‑PDF‑Konvertierung unterstützt?
    Das SDK unterstützt alle standardmäßigen PDF‑Seitengrößen, die in PdfPageSize definiert sind, sowie sowohl Hoch‑ als auch Querformat über PdfPageOrientation.

  • Ist es möglich, benutzerdefinierte Schriftarten in das erzeugte PDF einzubetten?
    Ja. Setzen Sie pdfOptions.setEmbedFonts(true), um alle im STL-Rendering verwendeten Schriftarten einzubetten, sodass das PDF in jedem Viewer gleich aussieht.

  • Wo finde ich weitere Informationen zu Lizenzierung und Support?
    Lizenzdetails sind auf der Preisseite verfügbar und eine temporäre Lizenz kann über die temporäre Lizenzseite angefordert werden. Für technische Hilfe besuchen Sie das Support-Forum.

Mehr lesen