ITEXT知识库 在上一篇文章中,我们讨论了使用.NET应用程序中的C#/vb.net的2。 API使您可以创建,编辑和操纵PDF文档,而无需进入PDF文件格式的任何内部文件格式详细信息。使用itextpdf很容易使用,并且仅使用几行代码,您可以开始创建,读取和操纵PDF文件。 在本文中,我们将讨论在.NET应用程序中使用itextpdf在我们的C#应用​​程序中以编程方式创建,读取和保存PDF文件。因此,让我们开始,看看如何在C#中创建PDF。

itextpdf安装

您可以从 nugetItext文物服务器 安装Itextpdf API**。在创建用于使用ITEXTPDF API的C#应用​​程序之前,您需要从任何一个来源安装它。您可以参考用于安装ITEXTPDF API的指令文章,用于为此目的设置控制台应用程序。

Main ItextPDF API类的概述

一些主要的ItextPDF类如下。

pdfdocument

使用itextpdf创建的每个PDF文档都是使用PDFDocument类的对象启动的。

pdfwriter

PDFWriter类负责将PDF内容写入目的地,例如文件或流。它提供了创建PDF文档并指定输出目标的功能。 PDFWriter类的一些关键功能和职责如下。

Destination ConfigurationThe PdfWriter constructor allows you to specify the output destination for the PDF content. It can accept parameters like a file path, a Stream object, or an instance of IOutputStreamCounter. This determines where the PDF content will be written.
PDF Document CreationWhen you create a new instance of PdfWriter, it automatically creates a new PdfDocument object associated with it. The PdfDocument represents the logical structure of a PDF file and provides methods to manipulate its content.
PDF Compression and Version ControlThe PdfWriter class allows you to configure various aspects of the PDF file, such as compression settings and PDF version compatibility.
Writing PDF ContentOnce you have a PdfWriter instance, you can use it to write content to the associated PdfDocument. You can add pages, create annotations, add text, images, and other graphical elements to the PDF document using the provided methods.
Closing the WriterAfter you finish writing the PDF content, it’s important to close the PdfWriter to ensure the document is finalized and any necessary resources are released.

段落

段落类代表PDF文档中文本的段落。它用于将文本内容添加到PDF文档。以下是段落类的一些关键功能和职责:

Text ContentThe primary purpose of the Paragraph class is to hold and display textual content within a PDF document. You can pass a string or any other text representation to the Paragraph constructor to initialize its content.
Text FormattingThe Paragraph class allows you to apply various formatting options to the text, such as font size, font family, text color, bold, italic, underline, and more. You can use methods like SetFontSize(), SetFont(), SetBold(), SetItalic(), SetUnderline(), etc., to specify the desired formatting.
Alignment and IndentationThe Paragraph class provides methods to set the alignment of the text within the paragraph. You can align the text to the left, right, or center, or justify it. Additionally, you can apply indentation to control the left and right margins of the paragraph.
Inline ElementsApart from plain text, you can also add inline elements within a Paragraph. For example, you can include phrases or words with different formatting styles, add hyperlinks, insert images, or include other elements supported by iText.
NestingYou can nest multiple paragraphs within each other or combine them with other iText elements like tables, lists, or chunks to create complex document structures.
Integration with DocumentThe Paragraph instances can be added to the Document object using the Add() method. This allows you to include paragraphs in your PDF document at the desired location.

如何在C#中创建PDF文件?

现在,我们对ItextPDF及其主要类有一个好主意,让我们继续使用itextpdf API在C#中创建PDF文档。这可以通过下面的几个步骤完成。 1.在Visual Studio中创建一个新项目。 2.使用Nuget软件包管理器安装ITEXTPDF C#库。 3.创建PDFDocument和PDFWriter类的实例 4.创建文档和段落类的实例 5.使用document.close()方法关闭文档

c#代码段生成pdf文件

以下 C# 代码可用于生成PDF文件。

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main()
    {
        // Specify the output file path
        string outputPath = "example.pdf";
        // Create a new PDF document
        PdfWriter writer = new PdfWriter(outputPath);
        PdfDocument pdf = new PdfDocument(writer);
        // Create a document instance
        Document document = new Document(pdf);
        // Add content to the document
        document.Add(new Paragraph("Hello, World!"));
        // Close the document
        document.Close();
        Console.WriteLine("PDF created successfully.");
    }
}

如何更新C#中的PDF文件?

更新/编辑C#中的PDF文件可以轻松地使用itextpdf完成。 1.使用 pdfreader 对象打开现有的PDF文档。 2.使用新的或修改的输出目标(例如文件或流)创建一个 pdfwriter 对象。 3.使用 pdfreaderpdfwriter 对象创建一个 pdfdocument 对象。 4.使用PDFDocument实例访问文档的现有页面和内容。 5.对文档进行必要的修改,例如添加或删除内容,更新文本,修改注释等。 6.关闭 pdfdocument ,它将自动关闭关联的 pdfreaderpdfwriter ,并将更改保存到输出目标。

c#代码段以更新pdf文件

以下 c# 代码可用于更新PDF文件。

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

class Program
{
    static void Main()
    {
        string filePath = "existing.pdf";
        string outputPath = "updated.pdf";
        // Open the existing PDF document
        PdfReader reader = new PdfReader(filePath);
        // Create a new PDF document with modified output destination
        PdfWriter writer = new PdfWriter(outputPath);
        // Create a PdfDocument object with both the reader and writer
        PdfDocument pdfDoc = new PdfDocument(reader, writer);
        // Access the first page of the document
        PdfPage firstPage = pdfDoc.GetPage(1);
        // Create a document instance for the page
        Document document = new Document(pdfDoc, firstPage);
        // Add a new paragraph to the document
        document.Add(new Paragraph("This is a new paragraph added to the existing PDF."));
        // Close the document, which saves the changes
        document.Close();
        // Close the reader
        reader.Close();
        Console.WriteLine("PDF updated successfully.");
    }
}

结论

在本文中,我们探索了.NET的ITEXTPDF API,以了解从我们的.NET应用程序中创建和操纵PDF文件。 API是开源的,并以Itext-dotnet为托管在GitHub存储库上。在即将到来的博客中,我们将进一步探索此API,以与PDF文档的不同组件(例如表,图像,注释,编辑PDF等)一起工作。所以请继续关注。