在Java中的PDF文档中添加或删除级别
#java #pdf #layer #pdflayer

PDF级别(也称为可见级别或成瘾水平)是组织和控制PDF文档中内容可见性的一种选项。您可以用来创建交互式文档,隐藏敏感信息并创建多语言版本。通过添加和删除级别,根据需要调整PDF文档的显示和内容。本文介绍了如何在PDF文档中添加免费的Free Spire.PDF for Java 级别或从PDF文档中删除

添加染色

可以从offiziellen Website手动下载Java的free Spire.pdf,并在项目中安装或通过输入以下代码。

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

添加PDF级别

使用 pdfdocument.gelayers()。addlayer(),您可以在PDF文档中创建级别。一旦您创建了一个良好的水平,就可以利用要添加元素的水平。确切的过程如下。

  • 创建类的对象 pdfdocument
  • 使用 pdfdocument.loadfromfile()
  • 下载PDF文档
  • 使用 pdfdocument.getlayers()。addlayer()
  • 在文档中创建级别
  • 在级别上画一张图片。
  • 使用 pdfdocument.savetofile()
  • 保存文档

代码示例
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

PDF级别的losche

方法 pdfdocument.getlayers()。removelayer()可以根据名称倾斜级别。详细的方法如下。

  • 创建类的对象 pdfdocument
  • 使用 pdfdocument.loadfromfile()下载PDF文档。 使用 pdfdocument.glayers()。removelayer()根据您的名字删除“标头”级别。 使用 pdfdocument.savetofile()
  • 保存文档

代码示例
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();
    }
}

本文介绍了如何在PDF文档中使用Spire.pdf添加和删除和删除级别。 Java的Free Spire.pdf还支持许多其他功能,例如隐藏和隐藏PDF级别。您可以在Spire.PDF for Java-Tutorial中找到更多信息。您也可以在Spire.PDF-Forum中讨论并提供反馈。