itext知識ベース 以前の投稿では、.NETアプリケーションでC#/VB.NETを使用してPDFファイルを操作するためのITEXTPDF APIについて説明しました。 APIを使用すると、PDFファイル形式の内部ファイル形式の詳細を作成せずに、PDFドキュメントを作成、編集、操作できます。 ITEXTPDFの使用は簡単に作業でき、数行のコードを使用すると、PDFファイルの作成、読み取り、および操作を開始できます。 この記事では、.NETアプリケーションでITEXTPDFを使用して、C#アプリケーションでプログラムでPDFファイルを作成、読み取り、保存することについて説明します。それでは、C#でPDFを作成する方法を見てみましょう。

itextpdfインストール

** nuget または itext artifactory server**からitextpdf APIをインストールできます。 ITEXTPDF APIを使用するためにC#アプリケーションを作成する前に、これらのソースのいずれかからインストールする必要があります。この目的のためにコンソールアプリケーションをセットアップするには、itextPDF APIをインストールするための指示記事を参照できます。

メイン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.

paragraph

段落クラスは、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.ドキュメントと段落クラスのインスタンスを作成します
  4. 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 オブジェクトを作成します。
  2. pdfdfreaderpdfwriter オブジェクトの両方を使用して、 pdfdocument オブジェクトを作成します。
  3. pdfdocumentインスタンスを使用して、ドキュメントの既存のページとコンテンツにアクセスします。 5.コンテンツの追加または削除、テキストの更新、注釈の変更など、ドキュメントに必要な変更を行います。
  4. pdfdocument を閉じます。これは、関連する pdfreader および pdfwriter を自動的に閉じ、変更を出力宛先に保存します。

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ドキュメントのさまざまなコンポーネントを使用して動作します。だから、ご期待ください。