Inhaltsverzeichnis
Über NuGet installiert
PM> Install-Package Spire.PDF
verwandte Links
Bei der PDF-Ebene handelt es sich um eine Funktion, die den Inhalt einer PDF-Datei in Ebenen anordnet. Dadurch können Benutzer gezielt festlegen, dass einige Inhalte in derselben PDF-Datei sichtbar und andere unsichtbar sind. PDF-Ebenen sind ein häufiges Element, das in geschichteten Grafiken, Karten und CAD-Zeichnungen verwendet wird. In diesem Artikel wird die programmgesteuerte Vorgehensweise demonstriert Ebenen in einer PDF-Datei hinzufügen, ausblenden oder löschen Verwendung von Spire.PDF for .NET.
- Fügen Sie Ebenen zu einem PDF-Dokument in C# und VB.NET hinzu
- Legen Sie die Sichtbarkeit von Ebenen in einem PDF-Dokument in C# und VB.NET fest
- Löschen Sie Ebenen in einem PDF-Dokument in C# und VB.NET
Installieren Sie Spire.PDF for .NET
Zunächst müssen Sie die im Spire.PDF for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLLs-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.
PM> Install-Package Spire.PDF
Fügen Sie Ebenen zu einem PDF-Dokument in C# und VB.NET hinzu
Spire.PDF for .NET bietet die Methode PdfDocument.Layers.AddLayer() zum Hinzufügen einer Ebene in einem PDF-Dokument. Anschließend können Sie Text, Linien, Bilder oder Formen auf der PDF-Ebene zeichnen. Die detaillierten Schritte sind wie folgt.
- Erstellen Sie eine PdfDocument-Instanz.
- Laden Sie eine Beispiel-PDF-Datei mit der Methode PdfDocument.LoadFromFile().
- Fügen Sie mit der Methode PdfDocument.Layers.AddLayer(String) eine Ebene mit dem angegebenen Namen in die PDF-Datei ein. Sie können die Sichtbarkeit der Ebene auch beim Hinzufügen mit der Methode PdfDocument.Layers.AddLayer(String, PdfVisibility) festlegen.
- Erstellen Sie mit der Methode PdfLayer.CreateGraphics() eine Leinwand für die Ebene.
- Zeichnen Sie Text, Bilder oder andere Elemente auf die Leinwand.
- Speichern Sie das Ergebnisdokument mit der Methode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Graphics.Layer;
using System.Drawing;
namespace AddLayersToPdf
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument instance and load a sample PDF file
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.pdf");
//Invoke AddLayerWatermark method to add a watermark layer
AddLayerWatermark(pdf);
//Invoke AddLayerHeader method to add a header layer
AddLayerHeader(pdf);
//Save to file
pdf.SaveToFile("AddLayers.pdf");
pdf.Close();
}
private static void AddLayerWatermark(PdfDocument doc)
{
//Create a layer named "Watermark"
PdfLayer layer = doc.Layers.AddLayer("Watermark");
//Create a font
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 48), true);
//Specify the watermark text
string watermarkText = "CONFIDENTIAL";
//Get text size
SizeF fontSize = font.MeasureString(watermarkText);
//Calculate two offsets
float offset1 = (float)(fontSize.Width * System.Math.Sqrt(2) / 4);
float offset2 = (float)(fontSize.Height * System.Math.Sqrt(2) / 4);
//Get page count
int pageCount = doc.Pages.Count;
//Declare two variables
PdfPageBase page;
PdfCanvas canvas;
//Loop through the pages
for (int i = 0; (i < pageCount); i++)
{
page = doc.Pages[i];
//Create a canvas from layer
canvas = layer.CreateGraphics(page.Canvas);
canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2);
canvas.SetTransparency(0.4f);
canvas.RotateTransform(-45);
//Draw sting on the canvas of layer
canvas.DrawString(watermarkText, font, PdfBrushes.DarkBlue, 0, 0);
}
}
private static void AddLayerHeader(PdfDocument doc)
{
// Create a layer named "Header"
PdfLayer layer = doc.Layers.AddLayer("Header");
//Get page size
SizeF size = doc.Pages[0].Size;
//Specify the initial values of X and y
float x = 90;
float y = 40;
//Get page count
int pageCount = doc.Pages.Count;
//Declare two variables
PdfPageBase page;
PdfCanvas canvas;
//Loop through the pages
for (int i = 0; (i < pageCount); i++)
{
//Draw an image on the layer
PdfImage pdfImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\img.jpg");
float width = pdfImage.Width;
float height = pdfImage.Height;
page = doc.Pages[i];
canvas = layer.CreateGraphics(page.Canvas);
canvas.DrawImage(pdfImage, x, y, width, height);
//Draw a line on the layer
PdfPen pen = new PdfPen(PdfBrushes.DarkGray, 2);
canvas.DrawLine(pen, x, (y + (height + 5)), (size.Width - x), (y + (height + 2)));
}
}
}
}

Legen Sie die Sichtbarkeit von Ebenen in einem PDF-Dokument in C# und VB.NET fest
Um die Sichtbarkeit einer vorhandenen Ebene festzulegen, müssen Sie eine bestimmte Ebene anhand ihres Index oder Namens mithilfe der Eigenschaft „PdfDocument.Layers“ abrufen und die Ebene dann mithilfe der Eigenschaft „PdfLayer.Visibility“ ein- oder ausblenden. Die detaillierten Schritte sind wie folgt.
- Erstellen Sie eine PdfDocument-Instanz.
- Laden Sie ein Beispiel-PDF-Dokument mit der Methode PdfDocument.LoadFromFile().
- Legen Sie die Sichtbarkeit einer bestimmten Ebene mit der Eigenschaft PdfDocument.Layers.Visibility fest.
- Speichern Sie das Ergebnisdokument mit der Methode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics.Layer;
namespace HideLayer
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument instance
PdfDocument pdf = new PdfDocument();
//Load a sample PDF document
pdf.LoadFromFile("AddLayers.pdf");
//Hide a specified layer by index
pdf.Layers[0].Visibility = PdfVisibility.Off;
//Hide a specified layer by name
//pdf.Layers["Watermark"].Visibility = PdfVisibility.Off;
//Save the result document
pdf.SaveToFile("HideLayer.pdf");
}
}
}

Löschen Sie Ebenen in einem PDF-Dokument in C# und VB.NET
Spire.PDF for .NET können Sie mit der Methode PdfDocument.Layers.RemoveLayer(String) auch eine vorhandene Ebene anhand ihres Namens entfernen. Bitte beachten Sie jedoch, dass die Namen der PDF-Ebenen möglicherweise nicht eindeutig sind und diese Methode alle PDF-Ebenen mit demselben Namen entfernt. Die detaillierten Schritte sind wie folgt.
- Erstellen Sie eine PdfDocument-Instanz.
- Laden Sie ein Beispiel-PDF-Dokument mit der Methode PdfDocument.LoadFromFile().
- Löschen Sie eine angegebene Ebene anhand ihres Namens mit der Methode PdfDocument.Layers.RemoveLayer(String).
- Speichern Sie das Ergebnisdokument mit der Methode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf;
namespace DeleteLayer
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument instance
PdfDocument pdf = new PdfDocument();
//Load a sample PDF document
pdf.LoadFromFile("AddLayers.pdf");
//Remove a layer by name
pdf.Layers.RemoveLayer(("Watermark"));
//Save the result document
pdf.SaveToFile("DeleteLayer.pdf", FileFormat.PDF);
}
}
}

Beantragen Sie eine temporäre Lizenz
Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.