DEV Community

SirOnly
SirOnly

Posted on

Hinzufügen oder Entfernen von Ebenen in PDF-Dokumenten in Java

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 Ebenen zu einem PDF-Dokument hinzufügt oder aus einem PDF-Dokument entfernt.

Hinzufügen von Abhängigkeiten

Free Spire.PDF for Java kann manuell von der offiziellen Website heruntergeladen und in einem Projekt installiert werden oder durch Eingabe des folgenden Codes in Maven.

<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>
Enter fullscreen mode Exit fullscreen mode

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

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();
    }
}
Enter fullscreen mode Exit fullscreen mode

Hinzufügen von PDF-Ebenen

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

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();
    }
}
Enter fullscreen mode Exit fullscreen mode

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. Sie können auch im Spire.PDF-Forum diskutieren und Feedback geben.

Top comments (0)