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.