Hinzufügen oder Entfernen von Ebenen in PDF-Dokumenten in Java
Tags: java, pdf, layer, pdflayer
Published: 2023-08-04 09:44:10

PDF-Ebenen (auch sichtbare Ebenen oder zusätzliche Ebenen genannt) sind eine Möglichkeit, die Sichtbarkeit von Inhalten in einem PDF-Dokument zu organisieren und zu steuern. Sie können verwendet werden, um interaktive Dokumente zu erstellen, sensible Informationen zu verbergen und mehrsprachige Versionen zu erstellen. Durch das Hinzufügen und Entfernen von Ebenen können Benutzer die Anzeige und den Inhalt eines PDF-Dokuments nach Bedarf anpassen. Dieser Artikel beschreibt, wie man mit dem kostenlosen [Free Spire.PDF for Java](https://www.e-iceblue.com/Introduce/free-pdf-for-java.html) **Ebenen zu einem PDF-Dokument hinzufügt oder aus einem PDF-Dokument entfernt**.

- **[Hinzufügen von PDF-Ebenen](#hinzuf%C3%BCgen-von-pdfebenen)**
- **[Löschen von PDF-Ebenen](#l%C3%B6schen-von-pdfebenen)**

### Hinzufügen von Abhängigkeiten
Free Spire.PDF for Java kann manuell von der [offiziellen Website](https://www.e-iceblue.com/Download/pdf-for-java-free.html) heruntergeladen und in einem Projekt installiert werden oder durch Eingabe des folgenden Codes in Maven.
```xml
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
```

## Hinzufügen von PDF-Ebenen
Mit der Methode **PdfDocument.getLayers().addLayer()** können Sie Ebenen in Ihrem PDF-Dokument erstellen. Sobald Sie eine gute Ebene erstellt haben, können Sie auf der Ebene zeichnen, zu der Sie Elemente hinzufügen möchten. Die genaue Vorgehensweise ist wie folgt.
- Erstellen Sie ein Objekt der Klasse **PdfDocument**.
- Laden Sie das PDF-Dokument mit der Methode **PdfDocument.loadFromFile()**.
- Erstellen Sie Ebenen im Dokument mit der Methode **PdfDocument.getLayers().addLayer()**.
- Zeichnen Sie ein Bild auf die Ebene.
- Speichern des Dokuments mit der Methode **PdfDocument.saveToFile()**.

**Code-Beispiel**
Java
```java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;
import com.spire.pdf.graphics.layer.PdfLayer;

import java.awt.geom.Dimension2D;
import java.io.IOException;

public class addLayersToPdf {

    public static void main(String[] args) throws IOException {

        // Erstellen Sie ein Objekt der Klasse PdfDocument
        PdfDocument pdf = new PdfDocument();

        // Laden Sie das PDF-Dokument
        pdf.loadFromFile("Beispiel.pdf");

        // Erstellen Sie eine Ebene mit dem Namen "Kopfzeile"
        PdfLayer layer = pdf.getLayers().addLayer("Kopfzeile");

        // Holen Sie sich die Größe der Seite
        Dimension2D size = pdf.getPages().get(0).getSize();

        // Holen Sie sich die Anzahl der Seiten
        int pageCount = pdf.getPages().getCount();

        // Deklarieren Sie zwei Variablen
        PdfPageBase page;
        PdfCanvas canvas;

        // Verarbeiten Sie alle Seiten in einer Schleife
        for (int i = 0; i < pageCount; i++) {

            // Zeichnen Sie ein Bild auf der Ebene
            PdfImage pdfImage = PdfImage.fromFile("Kopfzeile.jpg");
            page = pdf.getPages().get(i);
            float width = pdfImage.getWidth();
            float height = pdfImage.getHeight();
            float x = (float) size.getWidth() / 2 - width / 2;
            float y = 30;
            canvas = layer.createGraphics(page.getCanvas());
            canvas.drawImage(pdfImage, x, y, width, height);

            // Zeichnen Sie eine Linie auf der Ebene
            PdfPen pen = new PdfPen(PdfBrushes.getDarkGray(), 2f);
            canvas.drawLine(pen, x, y + height + 5, size.getWidth() - x, y + height + 2);
        }

        // Speichern Sie das Dokument
        pdf.saveToFile("Hinzufügen von Schichten.pdf");
        pdf.dispose();
    }
}
```

![Hinzufügen von PDF-Ebenen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/egzqp57pv641wtza20ou.png)

## Löschen von PDF-Ebenen
Die Methode **PdfDocument.getLayers().removeLayer()** kann verwendet werden, um eine Ebene nach Namen zu löschen. Die detaillierte Vorgehensweise ist wie folgt.

- Erstellen Sie ein Objekt der Klasse **PdfDocument**.
- Laden Sie das PDF-Dokument mit der Methode **PdfDocument.loadFromFile()**.
Verwenden Sie die Methode **PdfDocument.getLayers().removeLayer()**, um die Ebene "Kopfzeile" anhand ihres Namens zu entfernen.
Speichern Sie das Dokument mit der Methode **PdfDocument.saveToFile()**.

**Code-Beispiel**
Java
```java
import com.spire.pdf.PdfDocument;

public class deleteLayers {

    public static void main(String[] args) {

        // Erstellen Sie ein Objekt der Klasse PdfDocument
        PdfDocument pdf = new PdfDocument();

        // Laden Sie das PDF-Dokument
        pdf.loadFromFile("Hinzufügen von Schichten.pdf");

        // Löschen Sie die angegebene Ebene mit ihrem Namen
        pdf.getLayers().removeLayer("Kopfzeile");

        // Speichern Sie die Datei
        pdf.saveToFile("Löschen von PDF-Ebenen.pdf");
        pdf.close();
    }
}
```

Dieser Artikel beschreibt, wie Sie mit Spire.PDF für Java Ebenen in einem PDF-Dokument hinzufügen und entfernen können. Das kostenlose Spire.PDF für Java unterstützt auch viele andere Funktionen, wie das Ein- und Ausblenden von PDF-Ebenen. Weitere Informationen finden Sie im [Spire.PDF for Java-Tutorial](https://www.e-iceblue.com/Tutorials/JAVA/Spire.PDF-for-JAVA/Program-Guide/Spire.PDF-Program-Guide-Content-for-JAVA.html). Sie können auch im [Spire.PDF-Forum](https://www.e-iceblue.com/forum/spire-pdf-f7.html) diskutieren und Feedback geben.