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.

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)));
                }
            }
        }
    } 

C#/VB.NET: Add, Hide or Delete Layers in PDF

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");
            }
        }
    }

C#/VB.NET: Add, Hide or Delete Layers in 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);
            }
        }
    }

C#/VB.NET: Add, Hide or Delete Layers in 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.

Guarda anche

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.

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)));
                }
            }
        }
    } 

C#/VB.NET: Add, Hide or Delete Layers in PDF

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");
            }
        }
    }

C#/VB.NET: Add, Hide or Delete Layers in 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);
            }
        }
    }

C#/VB.NET: Add, Hide or Delete Layers in 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.

Voir également

Friday, 18 August 2023 02:09

C#/VB.NET: Criar um documento PDF

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.

C#/VB.NET: Create a PDF Document

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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

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.

Veja também

Установлено через 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 — вертикально вниз. Все элементы, добавляемые в клиентскую область, должны основываться на указанных координатах.

C#/VB.NET: Create a PDF Document

Кроме того, в следующей таблице перечислены важные классы и методы, которые помогут вам легко понять фрагмент кода, представленный в следующем разделе.

Член Описание
класс 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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

Подать заявку на временную лицензию

Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.

Смотрите также

Friday, 18 August 2023 02:07

C#/VB.NET: Erstellen Sie ein PDF-Dokument

Über NuGet installiert

PM> Install-Package Spire.PDF

verwandte Links

Das Erstellen von PDF-Dokumenten aus Code bietet zahlreiche Vorteile. Sie können beispielsweise problemlos dynamische Inhalte wie Benutzereingaben, Datenbankeinträge oder Echtzeitdaten einbinden. Die codebasierte PDF-Generierung ermöglicht eine stärkere Anpassung und Automatisierung und minimiert manuelle Eingriffe bei der Erstellung hochgradig maßgeschneiderter Dokumente. In diesem Artikel erfahren Sie, wie das geht Erstellen Sie ein PDF-Dokument von Grund auf in C# und VB.NET Verwendung von Spire.PDF for .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

Hintergrundwissen

Eine Seite in Spire.PDF (dargestellt durch PdfPageBase) besteht aus einem Clientbereich und Rändern rundherum. Der Inhaltsbereich dient dem Benutzer zum Schreiben verschiedener Inhalte, und die Ränder sind normalerweise leere Kanten.

Wie in der folgenden Abbildung dargestellt, befindet sich der Ursprung des Koordinatensystems auf der Seite in der oberen linken Ecke des Clientbereichs, wobei die x-Achse horizontal nach rechts und die y-Achse vertikal nach unten verläuft. Alle dem Kundenbereich hinzugefügten Elemente müssen auf den angegebenen Koordinaten basieren.

C#/VB.NET: Create a PDF Document

Darüber hinaus listet die folgende Tabelle die wichtigen Klassen und Methoden auf, die Ihnen helfen können, den im folgenden Abschnitt bereitgestellten Codeausschnitt besser zu verstehen.

Mitglied Beschreibung
PDFDocument-Klasse Stellt ein PDF-Dokumentmodell dar.
PDFPageBase-Klasse Stellt eine Seite in einem PDF-Dokument dar.
PdfSolidBrush-Klasse Stellt einen Pinsel dar, der jedes Objekt mit einer Volltonfarbe füllt.
PdfTrueTypeFont-Klasse Stellt eine True-Type-Schriftart dar.
PdfStringFormat-Klasse Stellt Informationen zum Textformat dar, z. B. Ausrichtung, Zeichenabstand und Einzug.
PDFTextWidget-Klasse Stellt den Textbereich dar, der sich über mehrere Seiten erstrecken kann.
PDFTextLayout-Klasse Stellt die Textlayoutinformationen dar.
PdfDocument.Pages.Add()-Methode Fügt eine Seite zu einem PDF-Dokument hinzu.
PdfPageBase.Canvas.DrawString()-Methode Zeichnet eine Zeichenfolge auf einer Seite an der angegebenen Position mit angegebenen Schriftart- und Pinselobjekten.
PDFTextWidget.Draw()-Methode Zeichnet das Text-Widget auf einer Seite an der angegebenen Stelle.
PdfDocument.Save()-Methode Speichert das Dokument in einer PDF-Datei.

Erstellen Sie ein PDF-Dokument von Grund auf in C# und VB.NET

Obwohl Spire.PDF for .NET das Hinzufügen verschiedener Arten von Elementen zu PDF-Dokumenten unterstützt, zeigt dieser Artikel nur, wie man ein PDF-Dokument mit einfachem Text erstellt. Im Folgenden finden Sie die detaillierten Schritte.

  • Erstellen Sie ein PdfDocument-Objekt.
  • Fügen Sie eine Seite mit der Methode PdfDocument.Pages.Add() hinzu.
  • Erstellen Sie Pinsel- und Schriftobjekte.
  • Zeichnen Sie mit der Methode PdfPageBase.Canvas.DrawString() eine Zeichenfolge auf der Seite an einer angegebenen Koordinate.
  • Erstellen Sie ein PdfTextWidget-Objekt, das einen Textblock enthält.
  • Zeichnen Sie das Text-Widget mit der Methode PdfTextWidget.Draw() an einer bestimmten Stelle auf der Seite.
  • Speichern Sie das Dokument mit der Methode PdfDocument.Save() in einer PDF-Datei.
  • 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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

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.

Siehe auch

Friday, 18 August 2023 02:05

C#/VB.NET: Crear un documento PDF

Instalado a través de NuGet

PM> Install-Package Spire.PDF

enlaces relacionados

La creación de documentos PDF a partir de código ofrece una amplia gama de beneficios. Por ejemplo, puede incorporar fácilmente contenido dinámico, como entradas de usuarios, registros de bases de datos o datos en tiempo real. La generación de PDF basada en código permite una mayor personalización y automatización, minimizando la intervención manual en la creación de documentos altamente personalizados. En este artículo, aprenderá cómo crear un documento PDF desde cero en C# y VB.NET utilizando Spire.PDF for .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

Conocimiento de fondo

Una página en Spire.PDF (representada por PdfPageBase) consiste en un área de cliente y márgenes alrededor. El área de contenido es para que los usuarios escriban varios contenidos, y los márgenes suelen ser bordes en blanco.

Como se muestra en la figura a continuación, el origen del sistema de coordenadas en la página se encuentra en la esquina superior izquierda del área del cliente, con el eje x extendiéndose horizontalmente hacia la derecha y el eje y extendiéndose verticalmente hacia abajo. Todos los elementos agregados al área del cliente deben basarse en las coordenadas especificadas.

C#/VB.NET: Create a PDF Document

Además, la siguiente tabla enumera las clases y los métodos importantes, que pueden ayudarlo a comprender fácilmente el fragmento de código proporcionado en la siguiente sección.

Miembro Descripción
clase PdfDocument Representa un modelo de documento PDF.
clase PdfPageBase Representa una página en un documento PDF.
Clase PdfSolidBrush Representa un pincel que rellena cualquier objeto con un color sólido.
Clase PdfTrueTypeFont Representa una fuente de tipo verdadero.
Clase PdfStringFormat Representa información de formato de texto, como alineación, espaciado entre caracteres y sangría.
clase PdfTextWidget Representa el área de texto con la capacidad de abarcar varias páginas.
class PdfTextLayout Representa la información de diseño del texto.
Método PdfDocument.Pages.Add() Agrega una página a un documento PDF.
Método PdfPageBase.Canvas.DrawString() Dibuja una cadena en una página en la ubicación especificada con la fuente y los objetos de pincel especificados.
Método PdfTextWidget.Draw() Dibuja el widget de texto en una página en la ubicación especificada.
Método PdfDocument.Save() Guarda el documento en un archivo PDF.

Cree un documento PDF desde cero en C# y VB.NET

Aunque Spire.PDF for .NET admite la adición de varios tipos de elementos a los documentos PDF, este artículo solo muestra cómo crear un documento PDF con texto sin formato. Los siguientes son los pasos detallados.

  • Cree un objeto PdfDocument.
  • Agrega una página usando el método PdfDocument.Pages.Add().
  • Cree pinceles y objetos de fuente.
  • Dibuje una cadena en la página en una coordenada especificada utilizando el método PdfPageBase.Canvas.DrawString().
  • Cree un objeto PdfTextWidget para contener un fragmento de texto.
  • Dibuje el widget de texto en la página en una ubicación específica utilizando el método PdfTextWidget.Draw().
  • Guarde el documento en un archivo PDF utilizando el 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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

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.

Ver también

Friday, 18 August 2023 02:04

C#/VB.NET: PDF 문서 만들기

NuGet을 통해 설치됨

PM> Install-Package Spire.PDF

관련된 링크들

코드에서 PDF 문서를 만들면 다양한 이점이 있습니다. 예를 들어 사용자 입력, 데이터베이스 레코드 또는 실시간 데이터와 같은 동적 콘텐츠를 쉽게 통합할 수 있습니다. 코드 기반 PDF 생성을 통해 사용자 정의 및 자동화가 향상되어 고도로 맞춤화된 문서를 만드는 데 수동 개입이 최소화됩니다. 이 기사에서는 다음을 수행하는 방법을 배웁니다 C# 및 VB.NET에서 처음부터 PDF 문서 만들기 Spire.PDF for .NET사용.

Spire.PDF for .NET 설치

먼저 Spire.PDF for .NET 패키지에 포함된 DLL 파일을 .NET 프로젝트의 참조로 추가해야 합니다. DLL 파일은 이 링크에서 다운로드하거나 NuGet을 통해 설치할 수 있습니다.

PM> Install-Package Spire.PDF

배경 지식

Spire.PDF의 페이지(PdfPageBase로 표시)는 클라이언트 영역과 여백으로 구성됩니다. 콘텐츠 영역은 사용자가 다양한 콘텐츠를 작성하는 영역이며 여백은 일반적으로 빈 가장자리입니다.

아래 그림과 같이 페이지의 좌표계 원점은 클라이언트 영역의 왼쪽 상단 모서리에 위치하며 x축은 오른쪽으로 가로로 확장되고 y축은 세로로 아래로 확장됩니다. 클라이언트 영역에 추가되는 모든 요소는 지정된 좌표를 기반으로 해야 합니다.

C#/VB.NET: Create a PDF Document

또한 다음 표에는 다음 섹션에서 제공하는 코드 조각을 쉽게 이해하는 데 도움이 되는 중요한 클래스와 메서드가 나열되어 있습니다.

회원 설명
Pdf문서 클래스 PDF 문서 모델을 나타냅니다.
PdfPageBase 클래스 PDF 문서의 페이지를 나타냅니다.
PdfSolidBrush 클래스 모든 개체를 단색으로 채우는 브러시를 나타냅니다.
PdfTrueTypeFont 클래스 트루 타입 글꼴을 나타냅니다.
PdfStringFormat 클래스 정렬, 문자 간격 및 들여쓰기와 같은 텍스트 형식 정보를 나타냅니다.
PdfTextWidget 클래스 여러 페이지에 걸쳐 있는 기능으로 텍스트 영역을 나타냅니다.
PDFTextLayout 클래스 텍스트 레이아웃 정보를 나타냅니다.
PdfDocument.Pages.Add() 메서드 PDF 문서에 페이지를 추가합니다.
PdfPageBase.Canvas.DrawString() 메서드 지정된 글꼴 및 브러시 개체를 사용하여 지정된 위치의 페이지에 문자열을 그립니다.
PdfTextWidget.Draw() 메서드 페이지의 지정된 위치에 텍스트 위젯을 그립니다.
PdfDocument.Save() 메서드 문서를 PDF 파일로 저장합니다.

C# 및 VB.NET에서 처음부터 PDF 문서 만들기

Spire.PDF for .NET는 PDF 문서에 다양한 종류의 요소 추가를 지원하지만 이 문서에서는 일반 텍스트로 PDF 문서를 만드는 방법만 보여줍니다. 다음은 세부 단계입니다.

  • PdfDocument 개체를 만듭니다.
  • PdfDocument.Pages.Add() 메서드를 사용하여 페이지를 추가합니다.
  • 브러시 및 글꼴 개체를 만듭니다.
  • PdfPageBase.Canvas.DrawString() 메서드를 사용하여 지정된 좌표에서 페이지에 문자열을 그립니다.
  • 텍스트 덩어리를 담을 PdfTextWidget 개체를 만듭니다.
  • PdfTextWidget.Draw() 메서드를 사용하여 페이지의 지정된 위치에 텍스트 위젯을 그립니다.
  • PdfDocument.Save() 메서드를 사용하여 문서를 PDF 파일로 저장합니다.
  • 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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

임시 면허 신청

생성된 문서에서 평가 메시지를 제거하거나 기능 제한을 제거하려면 다음을 수행하십시오 30일 평가판 라이선스 요청 자신을 위해.

또한보십시오

Friday, 18 August 2023 02:02

C#/VB.NET: crea un documento PDF

Installato tramite NuGet

PM> Install-Package Spire.PDF

Link correlati

La creazione di documenti PDF dal codice offre una vasta gamma di vantaggi. Ad esempio, è possibile incorporare facilmente contenuto dinamico come input dell'utente, record di database o dati in tempo reale. La generazione di PDF basata su codice consente una maggiore personalizzazione e automazione, riducendo al minimo l'intervento manuale nella creazione di documenti altamente personalizzati. In questo articolo imparerai come creare un documento PDF da zero in C# e VB.NET utilizzando Spire.PDF for .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

Conoscenze di base

Una pagina in Spire.PDF (rappresentata da PdfPageBase) è costituita da area client e margini tutt'intorno. L'area del contenuto consente agli utenti di scrivere vari contenuti e i margini sono generalmente bordi vuoti.

Come mostrato nella figura seguente, l'origine del sistema di coordinate sulla pagina si trova nell'angolo in alto a sinistra dell'area client, con l'asse x che si estende orizzontalmente verso destra e l'asse y che si estende verticalmente verso il basso. Tutti gli elementi aggiunti all'area client devono essere basati sulle coordinate specificate.

C#/VB.NET: Create a PDF Document

Inoltre, la tabella seguente elenca le classi e i metodi importanti, che possono aiutarti a comprendere facilmente il frammento di codice fornito nella sezione seguente.

Membro Descrizione
Classe PdfDocument Rappresenta un modello di documento PDF.
Classe PdfPageBase Rappresenta una pagina in un documento PDF.
Classe PdfSolidBrush Rappresenta un pennello che riempie qualsiasi oggetto con un colore a tinta unita.
Classe PdfTrueTypeFont Rappresenta un font true type.
Classe PdfStringFormat Rappresenta le informazioni sul formato del testo, come l'allineamento, la spaziatura dei caratteri e il rientro.
Classe PdfTextWidget Rappresenta l'area di testo con la possibilità di estendersi su più pagine.
Classe PdfTextLayout Rappresenta le informazioni sul layout del testo.
Metodo PdfDocument.Pages.Add() Aggiunge una pagina a un documento PDF.
Metodo PdfPageBase.Canvas.DrawString() Disegna una stringa su una pagina nella posizione specificata con caratteri e oggetti pennello specificati.
Metodo PdfTextWidget.Draw() Disegna il widget di testo su una pagina nella posizione specificata.
Metodo PdfDocument.Save() Salva il documento in un file PDF.

Crea un documento PDF da zero in C# e VB.NET

Sebbene Spire.PDF for .NET supporti l'aggiunta di vari tipi di elementi ai documenti PDF, questo articolo illustra solo come creare un documento PDF con testo normale. Di seguito sono riportati i passaggi dettagliati.

  • Creare un oggetto PdfDocument.
  • Aggiungere una pagina utilizzando il metodo PdfDocument.Pages.Add().
  • Crea oggetti pennello e carattere.
  • Disegna la stringa sulla pagina in corrispondenza di una coordinata specificata utilizzando il metodo PdfPageBase.Canvas.DrawString().
  • Crea un oggetto PdfTextWidget per contenere una porzione di testo.
  • Disegna il widget di testo sulla pagina in una posizione specificata utilizzando il metodo PdfTextWidget.Draw().
  • Salvare il documento in un file PDF utilizzando il metodo 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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

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.

Guarda anche

Friday, 18 August 2023 02:01

C#/VB.NET : créer un document PDF

Installé via NuGet

PM> Install-Package Spire.PDF

La création de documents PDF à partir de code offre un large éventail d'avantages. Par exemple, vous pouvez facilement incorporer du contenu dynamique tel que des entrées d'utilisateurs, des enregistrements de base de données ou des données en temps réel. La génération de PDF basée sur le code permet une plus grande personnalisation et automatisation, minimisant l'intervention manuelle dans la création de documents hautement personnalisés. Dans cet article, vous apprendrez à créer un document PDF à partir de rien en C# et VB.NET en utilisant Spire.PDF for .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

Connaissances de base

Une page dans Spire.PDF (représentée par PdfPageBase) se compose d'une zone client et de marges tout autour. La zone de contenu permet aux utilisateurs d'écrire divers contenus et les marges sont généralement des bords vierges.

Comme le montre la figure ci-dessous, l'origine du système de coordonnées sur la page est située dans le coin supérieur gauche de la zone client, l'axe des x s'étendant horizontalement vers la droite et l'axe des y s'étendant verticalement vers le bas. Tous les éléments ajoutés à la zone client doivent être basés sur les coordonnées spécifiées.

C#/VB.NET: Create a PDF Document

En outre, le tableau suivant répertorie les classes et méthodes importantes, qui peuvent vous aider à comprendre facilement l'extrait de code fourni dans la section suivante.

Membre Description
Classe PdfDocument Représente un modèle de document PDF.
Classe PdfPageBase Représente une page dans un document PDF.
Classe PdfSolidBrush Représente un pinceau qui remplit n'importe quel objet avec une couleur unie.
Classe PdfTrueTypeFont Représente une police True Type.
Classe PdfStringFormat Représente les informations de format de texte, telles que l'alignement, l'espacement des caractères et le retrait.
Classe PdfTextWidget Représente la zone de texte avec la possibilité de s'étendre sur plusieurs pages.
Classe PdfTextLayout Représente les informations de mise en page du texte.
Méthode PdfDocument.Pages.Add() Ajoute une page à un document PDF.
Méthode PdfPageBase.Canvas.DrawString() Dessine une chaîne sur une page à l'emplacement spécifié avec les objets de police et de pinceau spécifiés.
Méthode PdfTextWidget.Draw() Dessine le widget de texte sur une page à l'emplacement spécifié.
Méthode PdfDocument.Save() Enregistre le document dans un fichier PDF.

Créer un document PDF à partir de zéro en C# et VB.NET

Bien que Spire.PDF for .NET prenne en charge l'ajout de divers types d'éléments aux documents PDF, cet article montre uniquement comment créer un document PDF avec du texte brut. Voici les étapes détaillées.

  • Créez un objet PdfDocument.
  • Ajoutez une page à l'aide de la méthode PdfDocument.Pages.Add().
  • Créez des objets de pinceau et de police.
  • Dessinez une chaîne sur la page à une coordonnée spécifiée à l'aide de la méthode PdfPageBase.Canvas.DrawString().
  • Créez un objet PdfTextWidget pour contenir un morceau de texte.
  • Dessinez le widget de texte sur la page à un emplacement spécifié à l'aide de la méthode PdfTextWidget.Draw().
  • Enregistrez le document dans un fichier PDF à l'aide de la méthode 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();
            }
        }
    }

C#/VB.NET: Create a PDF Document

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.

Voir également

В определенных ситуациях полезно разделить один 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

Разделить PDF на одностраничные PDF-файлы в C#, VB.NET

Spire.PDF предлагает метод Split() для разделения многостраничного PDF-документа на несколько одностраничных файлов. Ниже приведены подробные шаги.

  • Создайте объект PdfDcoument.
  • Загрузите документ PDF с помощью метода PdfDocument.LoadFromFile().
  • Разделите документ на одностраничные файлы PDF с помощью метода PdfDocument.Split(string destFilePattern, int startNumber).
  • C#
  • VB.NET
using System;
    using Spire.Pdf;
    
    namespace SplitPDFIntoIndividualPages
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Specify the input file path
                String inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";
    
                //Specify the output directory
                String outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";
    
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Load a PDF file
                doc.LoadFromFile(inputFile);
    
                //Split the PDF to one-page PDFs
                doc.Split(outputDirectory + "output-{0}.pdf", 1);
            }
        }
    }

C#/VB.NET: Split PDF into Separate PDFs

Разделить PDF по диапазонам страниц в C#, VB.NET

Не существует простого метода разделения PDF-документов по диапазонам страниц. Для этого мы создаем два или более новых PDF-документа и импортируем в них страницу или диапазон страниц из исходного документа. Вот подробные шаги.

  • Загрузите исходный файл PDF при инициализации объекта PdfDocument.
  • Создайте два дополнительных объекта PdfDocument.
  • Импортируйте первую страницу из исходного файла в первый документ с помощью метода PdfDocument.InsertPage().
  • Импортируйте оставшиеся страницы из исходного файла во второй документ с помощью метода PdfDocument.InsertPageRange().
  • Сохраните два документа как отдельные файлы PDF, используя метод PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using System;
    
    namespace SplitPdfByPageRanges
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Specify the input file path
                String inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";
    
                //Specify the output directory
                String outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";
    
                //Load the source PDF file while initialing the PdfDocument object
                PdfDocument sourceDoc = new PdfDocument(inputFile);
    
                //Create two additional PdfDocument objects
                PdfDocument newDoc_1 = new PdfDocument();
                PdfDocument newDoc_2 = new PdfDocument();
    
                //Insert the first page of source file to the first document
                newDoc_1.InsertPage(sourceDoc, 0);
    
                //Insert the rest pages of source file to the second document
                newDoc_2.InsertPageRange(sourceDoc, 1, sourceDoc.Pages.Count - 1);
    
                //Save the two documents as PDF files
                newDoc_1.SaveToFile(outputDirectory + "output-1.pdf");
                newDoc_2.SaveToFile(outputDirectory + "output-2.pdf");
            }
        }
    }

C#/VB.NET: Split PDF into Separate PDFs

Подать заявку на временную лицензию

Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.

Смотрите также