C#/VB.NET : Ajouter une couleur d'arrière-plan ou une image d'arrière-plan au PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
Dans un document PDF, l'arrière-plan fait référence à l'aspect visuel général derrière le contenu des pages. L'arrière-plan peut être une simple couleur unie ou une image de votre choix. L'ajout d'arrière-plans aux PDF peut vous aider à ajouter un intérêt visuel à vos documents et également à améliorer la lisibilité. Dans cet article, vous apprendrez à programmer définir la couleur ou l'image d'arrière-plan pour le PDF en utilisant Spire.PDF for .NET.
- Ajouter une couleur d'arrière-plan aux documents PDF
- Ajouter des images d'arrière-plan aux documents PDF
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Ajouter une couleur d'arrière-plan aux documents PDF en C# et VB.NET
La propriété PdfPageBase.BackgroundColor proposée par Spire.PDF for .NET vous permet de définir une couleur unie comme arrière-plan du PDF. Voici les étapes détaillées.
- Créez une instance PdfDocument.
- Chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Parcourez toutes les pages PDF et ajoutez une couleur d'arrière-plan à chaque page à l'aide de la propriété PdfPageBase.BackgroundColor.
- Définissez l'opacité de l'arrière-plan à l'aide de la propriété PdfPageBase.BackgroudOpacity.
- Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using System.Drawing; namespace PDFBackgroundColor { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF file from disk pdf.LoadFromFile("input.pdf"); //Loop through the pages in the PDF file foreach (PdfPageBase page in pdf.Pages) { //Set the background color for each page page.BackgroundColor = Color.Yellow; //Set the opacity of the background page.BackgroudOpacity = 0.1f; } //Save the result PDF file pdf.SaveToFile("BackgroundColor.pdf"); pdf.Close(); } } }
Ajouter des images d'arrière-plan aux documents PDF C# et VB.NET
Si vous souhaitez ajouter une image comme arrière-plan pour correspondre au thème du document, vous pouvez utiliser la propriété PdfPageBase.BackgroundImage. Voici les étapes détaillées.
- Créez une instance PdfDocument.
- Chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Parcourez toutes les pages PDF et ajoutez une image d'arrière-plan à chaque page à l'aide de la propriété PdfPageBase.BackgroundImage.
- Définissez l'opacité de l'arrière-plan à l'aide de la propriété PdfPageBase.BackgroudOpacity.
- Enregistrez le document de résultat à l'aide de la méthode PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using System.Drawing; namespace PDFBackgroundImage { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF file from disk pdf.LoadFromFile("input.pdf"); //Load an image Image background = Image.FromFile("background.png"); //Loop through the pages in the PDF file foreach (PdfPageBase page in pdf.Pages) { //Set the loaded image as the background image for each page page.BackgroundImage = background; //Set the opacity of the background page.BackgroudOpacity = 0.2f; } //Save the result PDF file pdf.SaveToFile("BackgroundImage.pdf"); pdf.Close(); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
- C#/VB.NET : définir les préférences de la visionneuse et les facteurs de zoom pour les PDF
- C#/VB.NET : définir ou obtenir des propriétés PDF
- C#/VB.NET : ajuster les marges d'un document PDF
- C#/VB.NET : réorganiser les pages dans un PDF
- C#/VB.NET : ajouter des numéros de page aux documents PDF existants
C#/VB.NET: Adicionar, ocultar ou excluir camadas em PDF
Índice
Instalado via NuGet
PM> Install-Package Spire.PDF
Links Relacionados
Camada PDF é um recurso que organiza o conteúdo de um arquivo PDF em camadas, o que permite aos usuários definir seletivamente alguns conteúdos para serem visíveis e outros para serem invisíveis no mesmo arquivo PDF. As camadas de PDF são um elemento comum usado em ilustrações em camadas, mapas e desenhos CAD. Este artigo demonstrará como programaticamente adicionar, ocultar ou excluir camadas em um arquivo PDF usando Spire.PDF for .NET.
- Adicionar camadas a um documento PDF em C# e VB.NET
- Definir visibilidade de camadas em um documento PDF em C# e VB.NET
- Excluir camadas em um documento PDF em C# e VB.NET
Instalar o Spire.PDF for .NET
Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.PDF for.NET como referências em seu projeto .NET. Os arquivos DLLs podem ser baixados deste link ou instalados via NuGet.
PM> Install-Package Spire.PDF
Adicionar camadas a um documento PDF em C# e VB.NET
O Spire.PDF for .NET fornece o método PdfDocument.Layers.AddLayer() para adicionar uma camada em um documento PDF e você pode desenhar texto, linhas, imagens ou formas na camada PDF. As etapas detalhadas são as seguintes.
- Crie uma instância PdfDocument.
- Carregue um arquivo PDF de amostra usando o método PdfDocument.LoadFromFile().
- Adicione uma camada com o nome especificado no PDF usando o método PdfDocument.Layers.AddLayer(String). Ou você também pode definir a visibilidade da camada ao adicioná-la usando o método PdfDocument.Layers.AddLayer(String, PdfVisibility).
- Crie uma tela para a camada usando o método PdfLayer.CreateGraphics().
- Desenhe texto, imagem ou outros elementos na tela.
- Salve o documento resultante usando o método 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))); } } } }
Definir visibilidade de camadas em um documento PDF em C# e VB.NET
Para definir a visibilidade de uma camada existente, você precisará obter uma camada especificada por seu índice ou nome usando a propriedade PdfDocument.Layers e, em seguida, mostrar ou ocultar a camada usando a propriedade PdfLayer.Visibility.As etapas detalhadas são as seguintes.
- Crie uma instância PdfDocument.
- Carregue um documento PDF de amostra usando o método PdfDocument.LoadFromFile().
- Defina a visibilidade de uma camada especificada usando a propriedade PdfDocument.Layers.Visibility.
- Salve o documento resultante usando o método 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"); } } }
Excluir camadas em um documento PDF em C# e VB.NET
Spire.PDF for .NET também permite que você remova uma camada existente por seu nome usando o método PdfDocument.Layers.RemoveLayer(String). Mas observe que os nomes das camadas PDF podem não ser exclusivos e este método removerá todas as camadas PDF com o mesmo nome. As etapas detalhadas são as seguintes.
- Crie uma instância PdfDocument.
- Carregue um documento PDF de amostra usando o método PdfDocument.LoadFromFile().
- Exclua uma camada especificada por seu nome usando o método PdfDocument.Layers.RemoveLayer(String).
- Salve o documento resultante usando o método 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); } } }
Solicitar uma licença temporária
Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de avaliação de 30 dias para você mesmo.
C#/VB.NET: добавление, скрытие или удаление слоев в PDF
Оглавление
Установлено через NuGet
PM> Install-Package Spire.PDF
Ссылки по теме
Слой PDF — это функция, которая упорядочивает содержимое файла PDF по слоям, что позволяет пользователям выборочно устанавливать отображение одного содержимого в одном и том же файле PDF, а другое — невидимым. Слои PDF — это распространенный элемент, используемый в многоуровневых графических объектах, картах и чертежах САПР. В этой статье будет показано, как программно добавлять, скрывать или удалять слои в файле PDF используя Spire.PDF for .NET.
- Добавление слоев в документ PDF на C# и VB.NET
- Установите видимость слоев в документе PDF в C# и VB.NET
- Удалить слои в документе PDF в C# и VB.NET
Установите Spire.PDF for .NET
Для начала вам нужно добавить файлы DLL, включенные в пакет Spire.PDF for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.
PM> Install-Package Spire.PDF
Добавление слоев в документ PDF на C# и VB.NET
Spire.PDF for .NET предоставляет метод PdfDocument.Layers.AddLayer() для добавления слоя в документ PDF, после чего вы можете рисовать текст, линии, изображения или фигуры на слое PDF. Подробные шаги следующие.
- Создайте экземпляр PdfDocument.
- Загрузите образец PDF-файла с помощью метода PdfDocument.LoadFromFile().
- Добавьте слой с указанным именем в PDF, используя метод PdfDocument.Layers.AddLayer(String). Или вы также можете установить видимость слоя при его добавлении с помощью метода PdfDocument.Layers.AddLayer(String, PdfVisibility).
- Создайте холст для слоя, используя метод PdfLayer.CreateGraphics().
- Нарисуйте текст, изображение или другие элементы на холсте.
- Сохраните результирующий документ с помощью метода 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))); } } } }
Установите видимость слоев в документе PDF в C# и VB.NET
Чтобы установить видимость существующего слоя, вам нужно получить указанный слой по его индексу или имени с помощью свойства PdfDocument.Layers, а затем показать или скрыть слой с помощью свойства PdfLayer.Visibility. Подробные шаги следующие.
- Создайте экземпляр PdfDocument.
- Загрузите образец PDF-документа с помощью метода PdfDocument.LoadFromFile().
- Установите видимость указанного слоя с помощью свойства PdfDocument.Layers.Visibility.
- Сохраните результирующий документ с помощью метода 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"); } } }
Удалить слои в документе PDF в C# и VB.NET
Spire.PDF for .NET также позволяет удалить существующий слой по его имени с помощью метода PdfDocument.Layers.RemoveLayer(String). Но учтите, что имена слоев PDF могут не быть уникальными, и этот метод удалит все слои PDF с одинаковыми именами. Подробные шаги следующие.
- Создайте экземпляр PdfDocument.
- Загрузите образец PDF-документа с помощью метода PdfDocument.LoadFromFile().
- Удалить указанный слой по его имени с помощью метода PdfDocument.Layers.RemoveLayer(String).
- Сохраните результирующий документ с помощью метода 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); } } }
Подать заявку на временную лицензию
Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.
C#/VB.NET: Ebenen in PDF hinzufügen, ausblenden oder löschen
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.
C#/VB.NET: agregar, ocultar o eliminar capas en PDF
Tabla de contenido
Instalado a través de NuGet
PM> Install-Package Spire.PDF
enlaces relacionados
La capa de PDF es una función que organiza el contenido de un archivo PDF en capas, lo que permite a los usuarios configurar selectivamente algunos contenidos para que sean visibles y otros para que sean invisibles en el mismo archivo PDF. Las capas de PDF son un elemento común utilizado en ilustraciones en capas, mapas y dibujos CAD. Este artículo demostrará cómo programáticamente agregar, ocultar o eliminar capas en un archivo PDF utilizando Spire.PDF for .NET.
- Agregar capas a un documento PDF en C# y VB.NET
- Establecer la visibilidad de las capas en un documento PDF en C# y VB.NET
- Eliminar capas en un documento PDF en C# y VB.NET
Instalar Spire.PDF for .NET
Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.PDF for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalar a través de NuGet.
PM> Install-Package Spire.PDF
Agregar capas a un documento PDF en C# y VB.NET
Spire.PDF for .NET proporciona el método PdfDocument.Layers.AddLayer() para agregar una capa en un documento PDF y luego puede dibujar texto, líneas, imágenes o formas en la capa PDF. Los pasos detallados son los siguientes.
- Cree una instancia de PdfDocument.
- Cargue un archivo PDF de muestra usando el método PdfDocument.LoadFromFile().
- Agregue una capa con el nombre especificado en el PDF usando el método PdfDocument.Layers.AddLayer(String) O también puede establecer la visibilidad de la capa mientras la agrega usando el método PdfDocument.Layers.AddLayer(String, PdfVisibility).
- Cree un lienzo para la capa usando el método PdfLayer.CreateGraphics().
- Dibuja texto, imagen u otros elementos en el lienzo.
- Guarde el documento de resultados utilizando el método 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))); } } } }
Establecer la visibilidad de las capas en un documento PDF en C# y VB.NET
Para establecer la visibilidad de una capa existente, deberá obtener una capa específica por su índice o nombre mediante la propiedad PdfDocument.Layers y, a continuación, mostrar u ocultar la capa mediante la propiedad PdfLayer.Visibility. Los pasos detallados son los siguientes.
- Cree una instancia de PdfDocument.
- Cargue un documento PDF de muestra utilizando el método PdfDocument.LoadFromFile().
- Establezca la visibilidad de una capa específica usando la propiedad PdfDocument.Layers.Visibility.
- Guarde el documento de resultados utilizando el método 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"); } } }
Eliminar capas en un documento PDF en C# y VB.NET
Spire.PDF for .NET también le permite eliminar una capa existente por su nombre usando el método PdfDocument.Layers.RemoveLayer(String).Pero tenga en cuenta que los nombres de las capas PDF pueden no ser únicos y este método eliminará todas las capas PDF con mismo nombre Los pasos detallados son los siguientes.
- Cree una instancia de PdfDocument.
- Cargue un documento PDF de muestra utilizando el método PdfDocument.LoadFromFile().
- Elimine una capa específica por su nombre usando el método PdfDocument.Layers.RemoveLayer(String).
- Guarde el documento de resultados utilizando el método 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); } } }
Solicitar una Licencia Temporal
Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.
C#/VB.NET: PDF에서 레이어 추가, 숨기기 또는 삭제
목차
NuGet을 통해 설치됨
PM> Install-Package Spire.PDF
관련된 링크들
PDF 레이어는 PDF 파일의 내용을 레이어로 배열하는 기능으로, 동일한 PDF 파일에서 사용자가 선택적으로 일부 내용은 보이고 다른 내용은 보이지 않도록 설정할 수 있습니다. PDF 레이어는 레이어로 구성된 아트웍, 지도 및 CAD 도면에 사용되는 공통 요소입니다. 이 문서에서는 프로그래밍 방식으로 PDF 파일에서 레이어 추가, 숨기기 또는 삭제 Spire.PDF for .NET사용.
Spire.PDF for .NET 설치
먼저 Spire.PDF for .NET 패키지에 포함된 DLL 파일을 .NET 프로젝트의 참조로 추가해야 합니다. DLL 파일은 이 링크에서 다운로드하거나 NuGet을 통해 설치할 수 있습니다.
PM> Install-Package Spire.PDF
C# 및 VB.NET에서 PDF 문서에 레이어 추가
Spire.PDF for .NET은 PdfDocument.Layers.AddLayer() 메서드를 제공하여 PDF 문서에 레이어를 추가한 다음 PDF 레이어에 텍스트, 선, 이미지 또는 모양을 그릴 수 있습니다. 자세한 단계는 다음과 같습니다.
- PdfDocument 인스턴스를 만듭니다.
- PdfDocument.LoadFromFile() 메서드를 사용하여 샘플 PDF 파일을 로드합니다.
- PdfDocument.Layers.AddLayer(String) 메서드를 사용하여 PDF에 지정된 이름의 레이어를 추가합니다. 또는 PdfDocument.Layers.AddLayer(String, PdfVisibility) 메서드를 사용하여 레이어를 추가하는 동안 레이어의 가시성을 설정할 수도 있습니다.
- PdfLayer.CreateGraphics() 메서드를 사용하여 레이어의 캔버스를 만듭니다.
- 캔버스에 텍스트, 이미지 또는 기타 요소를 그립니다.
- 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))); } } } }
C# 및 VB.NET에서 PDF 문서의 레이어 가시성 설정
기존 레이어의 가시성을 설정하려면 PdfDocument.Layers 속성을 사용하여 인덱스 또는 이름으로 지정된 레이어를 가져온 다음 PdfLayer.Visibility 속성을 사용하여 레이어를 표시하거나 숨길 필요가 있습니다. 자세한 단계는 다음과 같습니다.
- PdfDocument 인스턴스를 만듭니다.
- PdfDocument.LoadFromFile() 메서드를 사용하여 샘플 PDF 문서를 로드합니다.
- PdfDocument.Layers.Visibility 속성을 사용하여 지정된 레이어의 가시성을 설정합니다.
- 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"); } } }
C# 및 VB.NET에서 PDF 문서의 레이어 삭제
Spire.PDF for .NET 사용하면 PdfDocument.Layers.RemoveLayer(String) 메서드를 사용하여 해당 이름으로 기존 레이어를 제거할 수도 있습니다. 그러나 PDF 레이어의 이름은 고유하지 않을 수 있으며 이 방법은 동일한 이름을 가진 모든 PDF 레이어를 제거합니다. 자세한 단계는 다음과 같습니다.
- PdfDocument 인스턴스를 만듭니다.
- PdfDocument.LoadFromFile() 메서드를 사용하여 샘플 PDF 문서를 로드합니다.
- PdfDocument.Layers.RemoveLayer(String) 메서드를 사용하여 이름별로 지정된 레이어를 삭제합니다.
- 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); } } }
임시 면허 신청
생성된 문서에서 평가 메시지를 제거하거나 기능 제한을 제거하려면 다음을 수행하십시오 30일 평가판 라이선스 요청 자신을 위해.
C#/VB.NET: aggiungi, nascondi o elimina livelli in PDF
Sommario
Installato tramite NuGet
PM> Install-Package Spire.PDF
Link correlati
Il livello PDF è una funzione che dispone il contenuto di un file PDF in livelli, che consente agli utenti di impostare selettivamente alcuni contenuti in modo che siano visibili e altri invisibili nello stesso file PDF. I livelli PDF sono un elemento comune utilizzato nella grafica a più livelli, nelle mappe e nei disegni CAD. Questo articolo dimostrerà come eseguire a livello di codice aggiungere, nascondere o eliminare livelli in un file PDF utilizzando Spire.PDF for .NET.
- Aggiungi livelli a un documento PDF in C# e VB.NET
- Imposta la visibilità dei livelli in un documento PDF in C# e VB.NET
- Elimina livelli in un documento PDF in C# e VB.NET
Installa Spire.PDF for .NET
Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.
PM> Install-Package Spire.PDF
Aggiungi livelli a un documento PDF in C# e VB.NET
Spire.PDF for .NET fornisce il metodo PdfDocument.Layers.AddLayer() per aggiungere un livello in un documento PDF e puoi quindi disegnare testo, linee, immagini o forme sul livello PDF. I passaggi dettagliati sono i seguenti.
- Creare un'istanza PdfDocument.
- Carica un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
- Aggiungi un livello con il nome specificato nel PDF utilizzando il metodo PdfDocument.Layers.AddLayer(String) oppure puoi anche impostare la visibilità del livello durante l'aggiunta utilizzando il metodo PdfDocument.Layers.AddLayer(String, PdfVisibility).
- Crea una tela per il livello usando il metodo PdfLayer.CreateGraphics().
- Disegna testo, immagine o altri elementi sulla tela.
- Salvare il documento risultato utilizzando il metodo 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))); } } } }
Imposta la visibilità dei livelli in un documento PDF in C# e VB.NET
Per impostare la visibilità di un layer esistente, è necessario ottenere un layer specificato in base al suo indice o nome utilizzando la proprietà PdfDocument.Layers, quindi mostrare o nascondere il layer utilizzando la proprietà PdfLayer.Visibility.I passaggi dettagliati sono i seguenti.
- Creare un'istanza PdfDocument.
- Carica un documento PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
- Imposta la visibilità di un layer specificato utilizzando la proprietà PdfDocument.Layers.Visibility.
- Salvare il documento risultato utilizzando il metodo 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"); } } }
Elimina livelli in un documento PDF in C# e VB.NET
Spire.PDF for .NET ti consente anche di rimuovere un livello esistente in base al suo nome utilizzando il metodo PdfDocument.Layers.RemoveLayer(String).Ma tieni presente che i nomi dei livelli PDF potrebbero non essere univoci e questo metodo rimuoverà tutti i livelli PDF con lo stesso nome I passaggi dettagliati sono i seguenti.
- Creare un'istanza PdfDocument.
- Carica un documento PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
- Elimina un layer specificato in base al suo nome utilizzando il metodo PdfDocument.Layers.RemoveLayer(String).
- Salvare il documento risultato utilizzando il metodo 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); } } }
Richiedi una licenza temporanea
Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.
C#/VB.NET : ajouter, masquer ou supprimer des calques dans un PDF
Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
La couche PDF est une fonctionnalité qui organise le contenu d'un fichier PDF en couches, ce qui permet aux utilisateurs de définir de manière sélective certains contenus pour qu'ils soient visibles et d'autres pour qu'ils soient invisibles dans le même fichier PDF. Les couches PDF sont un élément couramment utilisé dans les illustrations en couches, les cartes et les dessins CAO. Cet article vous montrera comment programmer ajouter, masquer ou supprimer des calques dans un fichier PDF en utilisant Spire.PDF for .NET.
- Ajouter des calques à un document PDF en C# et VB.NET
- Définir la visibilité des calques dans un document PDF en C# et VB.NET
- Supprimer des calques dans un document PDF en C# et VB.NET
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Ajouter des calques à un document PDF en C# et VB.NET
Spire.PDF for .NET fournit la méthode PdfDocument.Layers.AddLayer() pour ajouter un calque dans un document PDF, et vous pouvez ensuite dessiner du texte, des lignes, des images ou des formes sur le calque PDF. Les étapes détaillées sont les suivantes.
- Créez une instance PdfDocument.
- Chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Ajoutez un calque avec le nom spécifié dans le PDF à l'aide de la méthode PdfDocument.Layers.AddLayer(String). Ou vous pouvez également définir la visibilité du calque lors de son ajout à l'aide de la méthode PdfDocument.Layers.AddLayer(String, PdfVisibility).
- Créez un canevas pour le calque à l'aide de la méthode PdfLayer.CreateGraphics().
- Dessinez du texte, une image ou d'autres éléments sur la toile.
- Enregistrez le document de résultat à l'aide de la méthode 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))); } } } }
Définir la visibilité des calques dans un document PDF en C# et VB.NET
Pour définir la visibilité d'un calque existant, vous devez obtenir un calque spécifié par son index ou son nom à l'aide de la propriété PdfDocument.Layers, puis afficher ou masquer le calque à l'aide de la propriété PdfLayer.Visibility. Les étapes détaillées sont les suivantes.
- Créez une instance PdfDocument.
- Chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Définissez la visibilité d'un calque spécifié à l'aide de la propriété PdfDocument.Layers.Visibility.
- Enregistrez le document de résultat à l'aide de la méthode 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"); } } }
Supprimer des calques dans un document PDF en C# et VB.NET
Spire.PDF for .NET vous permet également de supprimer une couche existante par son nom à l'aide de la méthode PdfDocument.Layers.RemoveLayer(String). Mais veuillez noter que les noms des calques PDF peuvent ne pas être uniques et cette méthode supprimera tous les calques PDF portant le même nom. Les étapes détaillées sont les suivantes.
- Créez une instance PdfDocument.
- Chargez un exemple de document PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Supprimez un calque spécifié par son nom à l'aide de la méthode PdfDocument.Layers.RemoveLayer(String).
- Enregistrez le document de résultat à l'aide de la méthode 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); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
C#/VB.NET: Criar um documento PDF
Índice
Instalado via NuGet
PM> Install-Package Spire.PDF
Links Relacionados
A criação de documentos PDF a partir do código oferece uma ampla gama de benefícios. Por exemplo, você pode incorporar facilmente conteúdo dinâmico, como entrada do usuário, registros de banco de dados ou dados em tempo real. A geração de PDF baseada em código permite maior personalização e automação, minimizando a intervenção manual na criação de documentos altamente personalizados. Neste artigo, você aprenderá como criar um documento PDF do zero em C# e VB.NET usando Spire.PDF for .NET.
Instalar o Spire.PDF for .NET
Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.PDF for.NET como referências em seu projeto .NET. Os arquivos DLLs podem ser baixados deste link ou instalados via NuGet.
PM> Install-Package Spire.PDF
Conhecimento prévio
Uma página em Spire.PDF (representada por PdfPageBase) consiste na área do cliente e nas margens ao redor. A área de conteúdo é para os usuários escreverem vários conteúdos e as margens geralmente são bordas em branco.
Conforme mostrado na figura abaixo, a origem do sistema de coordenadas na página está localizada no canto superior esquerdo da área do cliente, com o eixo x estendendo-se horizontalmente para a direita e o eixo y estendendo-se verticalmente para baixo. Todos os elementos adicionados à área do cliente devem ser baseados nas coordenadas especificadas.
Além disso, a tabela a seguir lista as classes e métodos importantes, que podem ajudá-lo a entender facilmente o trecho de código fornecido na seção a seguir.
Membro | Descrição |
classe PDFDocument | Representa um modelo de documento PDF. |
Classe PdfPageBase | Representa uma página em um documento PDF. |
classe PdfSolidBrush | Representa um pincel que preenche qualquer objeto com uma cor sólida. |
Classe PDFTrueTypeFont | Representa uma fonte true type. |
Classe PDFStringFormat | Representa informações de formato de texto, como alinhamento, espaçamento de caracteres e recuo. |
Classe PDFTextWidget | Representa a área de texto com a capacidade de abranger várias páginas. |
Classe PDFTextLayout | Representa as informações de layout de texto. |
Método PdfDocument.Pages.Add() | Adiciona uma página a um documento PDF. |
Método PdfPageBase.Canvas.DrawString() | Desenha uma string em uma página no local especificado com fontes e objetos de pincel especificados. |
Método PdfTextWidget.Draw() | Desenha o widget de texto em uma página no local especificado. |
Método PdfDocument.Save() | Salva o documento em um arquivo PDF. |
Crie um documento PDF do zero em C# e VB.NET
Embora o Spire.PDF for .NET suporte a adição de vários tipos de elementos a documentos PDF, este artigo apenas demonstra como criar um documento PDF com texto simples. A seguir estão as etapas detalhadas.
- Crie um objeto PdfDocument.
- Adicione uma página usando o método PdfDocument.Pages.Add().
- Crie objetos de pincel e fonte.
- Desenhe string na página em uma coordenada especificada usando o método PdfPageBase.Canvas.DrawString().
- Crie um objeto PdfTextWidget para armazenar um pedaço de texto.
- Desenhe o widget de texto na página em um local especificado usando o método PdfTextWidget.Draw().
- Salve o documento em um arquivo PDF usando o método PdfDocument.Save().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace CreatePdfDocument { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Add a page PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f)); //Specify heading text String titleText = "What is MySQL"; //Create solid brushes PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue)); PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black)); //Create true type fonts PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true); PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true); //Set the text alignment via PdfStringFormat class PdfStringFormat format = new PdfStringFormat(); format.Alignment = PdfTextAlignment.Center; //Draw heading on the center of the page page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format); //Get paragraph content from a .txt file string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt"); //Create a PdfTextWidget object to hold the paragrah content PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush); //Create a rectangle where the paragraph content will be placed RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height); //Set the PdfLayoutType to Paginate to make the content paginated automatically PdfTextLayout layout = new PdfTextLayout(); layout.Layout = PdfLayoutType.Paginate; //Draw the widget on the page widget.Draw(page, rect, layout); //Save to file doc.SaveToFile("CreatePdfDocument.pdf"); doc.Dispose(); } } }
Solicitar uma licença temporária
Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.
C#/VB.NET: создание PDF-документа
Оглавление
Установлено через NuGet
PM> Install-Package Spire.PDF
Ссылки по теме
Создание PDF-документов из кода предлагает широкий спектр преимуществ. Например, вы можете легко включать динамический контент, такой как пользовательский ввод, записи базы данных или данные в реальном времени. Создание PDF-файлов на основе кода обеспечивает более широкие возможности настройки и автоматизации, сводя к минимуму ручное вмешательство при создании узкоспециализированных документов. В этой статье вы узнаете, как создать PDF-документ с нуля на C# и VB.NET используя Spire.PDF for .NET.
Установите Spire.PDF for .NET
Для начала вам нужно добавить файлы DLL, включенные в пакет Spire.PDF for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.
PM> Install-Package Spire.PDF
Жизненный опыт
Страница в Spire.PDF (представленная PdfPageBase) состоит из клиентской области и полей вокруг нее. Область содержимого предназначена для того, чтобы пользователи могли писать различное содержимое, а поля обычно представляют собой пустые края.
Как показано на рисунке ниже, начало системы координат на странице расположено в верхнем левом углу клиентской области, при этом ось X идет горизонтально вправо, а ось Y — вертикально вниз. Все элементы, добавляемые в клиентскую область, должны основываться на указанных координатах.
Кроме того, в следующей таблице перечислены важные классы и методы, которые помогут вам легко понять фрагмент кода, представленный в следующем разделе.
Член | Описание |
класс PdfDocument | Представляет модель документа PDF. |
Класс PdfPageBase | Представляет страницу в документе PDF. |
Класс PdfSolidBrush | Представляет собой кисть, которая закрашивает любой объект сплошным цветом. |
Класс PdfTrueTypeFont | Представляет шрифт истинного типа. |
класс PdfStringFormat | Представляет информацию о текстовом формате, такую как выравнивание, расстояние между символами и отступ. |
Класс PdfTextWidget | Представляет текстовую область с возможностью занимать несколько страниц. |
Класс PdfTextLayout | Представляет информацию о макете текста. |
Метод PdfDocument.Pages.Add() | Добавляет страницу в документ PDF. |
Метод PdfPageBase.Canvas.DrawString() | Рисует строку на странице в указанном месте с указанными объектами шрифта и кисти. |
Метод PdfTextWidget.Draw() | Рисует текстовый виджет на странице в указанном месте. |
PdfDocument.Save() method Saves the document to a PDF file. | Сохраняет документ в файл PDF. |
Создание PDF-документа с нуля на C# и VB.NET
Хотя Spire.PDF for .NET поддерживает добавление различных типов элементов в документы PDF, в этой статье показано только создание документа PDF с обычным текстом. Ниже приведены подробные шаги.
- Создайте объект PdfDocument.
- Добавьте страницу с помощью метода PdfDocument.Pages.Add().
- Создание объектов кисти и шрифта.
- Нарисуйте строку на странице по указанной координате с помощью метода PdfPageBase.Canvas.DrawString().
- Создайте объект PdfTextWidget для хранения фрагмента текста.
- Нарисуйте текстовый виджет на странице в указанном месте с помощью метода PdfTextWidget.Draw().
- Сохраните документ в файл PDF с помощью метода PdfDocument.Save().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace CreatePdfDocument { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Add a page PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f)); //Specify heading text String titleText = "What is MySQL"; //Create solid brushes PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue)); PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black)); //Create true type fonts PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true); PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true); //Set the text alignment via PdfStringFormat class PdfStringFormat format = new PdfStringFormat(); format.Alignment = PdfTextAlignment.Center; //Draw heading on the center of the page page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format); //Get paragraph content from a .txt file string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt"); //Create a PdfTextWidget object to hold the paragrah content PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush); //Create a rectangle where the paragraph content will be placed RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height); //Set the PdfLayoutType to Paginate to make the content paginated automatically PdfTextLayout layout = new PdfTextLayout(); layout.Layout = PdfLayoutType.Paginate; //Draw the widget on the page widget.Draw(page, rect, layout); //Save to file doc.SaveToFile("CreatePdfDocument.pdf"); doc.Dispose(); } } }
Подать заявку на временную лицензию
Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.