チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

Koohji

Koohji

ハイパーリンクは、Excel ファイルにおいて重要な要素であり、外部データソースへの参照やワークシート間の移動、特定のセルに関する追加情報の提供を可能にします。Excel ファイルを操作する際、さまざまな理由でハイパーリンクを操作する必要があるかもしれません。たとえば、ファイル内のすべてのハイパーリンクを抽出して分析を行ったり、正確性を保つために古いハイパーリンクを修正したり、ファイルの使いやすさを向上させるために壊れたハイパーリンクを削除したりすることが考えられます。本記事では、Spire.XLS for .NET を使用して C# で Excel ファイルのハイパーリンクを抽出、変更、および削除する方法を説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel ファイルからハイパーリンクを抽出する

Excel ワークブックから他のシステム(例えばデータベース)にデータを移行する際、そのデータに関連付けられたハイパーリンクを保持する必要がある場合、事前にハイパーリンクを抽出することが必要です。以下の手順で、C# で Spire.XLS for .NET を使用して Excel ファイルからハイパーリンクを抽出する方法を示します。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Hyperlinks プロパティを使用して、ワークシート内のすべてのハイパーリンクのコレクションを取得します。
  • StringBuilder クラスのインスタンスを初期化して、抽出したハイパーリンク情報を格納します。
  • ハイパーリンクのコレクションを反復処理します。
  • XlsHyperlink.AddressXlsHyperlink.Type プロパティを使用して、各ハイパーリンクのアドレスとタイプを取得します。
  • 取得したアドレスとタイプを StringBuilder インスタンスに追加します。
  • File.WriteAllText() メソッドを使用して、StringBuilder インスタンスの内容をテキストファイルに書き込みます。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core.Spreadsheet;
using System.IO;
using System.Text;

namespace ExtractHyperlinks
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化
            Workbook workbook = new Workbook();
            //Excelファイルを読み込む
            workbook.LoadFromFile("Links.xlsx");

            //最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            //ワークシート内のすべてのハイパーリンクのコレクションを取得
            HyperLinksCollection hyperLinks = sheet.HyperLinks;

            //StringBuilderクラスのインスタンスを初期化
            StringBuilder sb = new StringBuilder();

            //コレクション内のハイパーリンクを繰り返し処理
            foreach (XlsHyperLink hyperlink in hyperLinks)
            {
                //ハイパーリンクのアドレスを取得
                string address = hyperlink.Address;
                //ハイパーリンクのタイプを取得
                HyperLinkType type = hyperlink.Type;
                //StringBuilderインスタンスにハイパーリンクのアドレスとタイプを追加
                sb.AppendLine("リンクアドレス: " + address);
                sb.AppendLine("リンクタイプ: " + type.ToString());
                sb.AppendLine();
            }

            //StringBuilderインスタンスの内容をテキストファイルに書き込む
            File.WriteAllText("output/Excelのハイパーリンクを取得.txt", sb.ToString());
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのハイパーリンクを抽出、変更、削除する方法

Excel ファイル内のハイパーリンクを変更する

誤ったリソースにリンクしてしまったり、ハイパーリンク作成時に URL を間違えて入力した場合、ハイパーリンクを修正して誤りを正す必要があります。以下の手順で、Excel ファイル内の既存のハイパーリンクを変更する方法を示します。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Hyperlinks プロパティを使用して、ワークシート内のすべてのハイパーリンクのコレクションを取得します。
  • コレクション内の最初のハイパーリンクを取得します。
  • XlsHyperlink.TextToDisplayXlsHyperlink.Address プロパティを使用して、ハイパーリンクの表示テキストとアドレスを修正します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core.Spreadsheet;

namespace ModifyHyperlinks
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化
            Workbook workbook = new Workbook();
            //Excelファイルを読み込む
            workbook.LoadFromFile("Links.xlsx");

            //最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            //ワークシート内のすべてのハイパーリンクのコレクションを取得
            HyperLinksCollection links = sheet.HyperLinks;
            //ハイパーリンクを取得
            XlsHyperLink hyperLink = links[3];

            //ハイパーリンクの表示テキストとアドレスを変更
            hyperLink.TextToDisplay = "ビングを訪問";
            hyperLink.Address = "http://www.bing.com/";

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelのハイパーリンクを変更.xlsx");
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのハイパーリンクを抽出、変更、削除する方法

Excel ファイルからハイパーリンクを削除する

不要なハイパーリンクを削除することで、ワークシートをより整然とし、プロフェッショナルな印象にすることができます。以下の手順で、Excel ファイルから特定のハイパーリンクを削除する方法を示します。

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[int index] プロパティを使用して特定のワークシートを取得します。
  • Worksheet.Hyperlinks.RemoveAt(int index) メソッドを使用して、ワークシートから特定のハイパーリンクを削除します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
using Spire.Xls;

namespace RemoveHyperlinks
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを初期化
            Workbook workbook = new Workbook();
            //Excelファイルを読み込む
            workbook.LoadFromFile("Links.xlsx");

            //最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            //最初のハイパーリンクを削除し、表示テキストを保持
            sheet.HyperLinks.RemoveAt(0);

            //セルのすべての内容を削除
            //sheet.Range["B2"].ClearAll();

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelからハイパーリンクを削除.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのハイパーリンクを抽出、変更、削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel におけるハイパーリンクとは、クリック可能なテキストや画像のことで、特定の場所(ウェブページ、既存のファイル、メールアドレス、または現在のブック内の別のセル)に移動するために使用されます。本記事では、Spire.XLS for .NET ライブラリを使用して、C# で Excel ファイルにハイパーリンクを追加する方法をご紹介します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel セルにテキストハイパーリンクを挿入する

Excel ファイルにテキストハイパーリンクを追加する手順は以下の通りです:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して、目的のワークシートを取得します。
  • Worksheet.Range[cellName] プロパティを使って、ハイパーリンクを追加したいセルを指定します。
  • Worksheet.HyperLinks.Add() メソッドを使用して、セルにハイパーリンクを追加します。
  • XlsHyperLink.TypeXlsHyperLink.TextToDisplay、および XlsHyperLink.Address プロパティを使って、ハイパーリンクの種類、表示テキスト、リンク先のアドレスを設定します。
  • XlsWorksheet.AutoFitColumn() メソッドで列の幅を自動調整します。
  • Workbook.SaveToFile() メソッドを使用して、ブックを保存します。
  • C#
using Spire.Xls;

namespace AddTextHyperlinks
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookインスタンスを作成
            Workbook workbook = new Workbook();

            //最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            //ウェブページにリンクするテキストハイパーリンクを追加
            CellRange cell1 = sheet.Range["B3"];
            HyperLink urlLink = sheet.HyperLinks.Add(cell1);
            urlLink.Type = HyperLinkType.Url;
            urlLink.TextToDisplay = "ウェブサイトへのリンク";
            urlLink.Address = "https://www.google.com/";

            //メールアドレスにリンクするテキストハイパーリンクを追加
            CellRange cell2 = sheet.Range["E3"];
            HyperLink mailLink = sheet.HyperLinks.Add(cell2);
            mailLink.Type = HyperLinkType.Url;
            mailLink.TextToDisplay = "メールアドレスへのリンク";
            mailLink.Address = "mailto:abc @outlook.com";

            //外部ファイルにリンクするテキストハイパーリンクを追加
            CellRange cell3 = sheet.Range["B7"];
            HyperLink fileLink = sheet.HyperLinks.Add(cell3);
            fileLink.Type = HyperLinkType.File;
            fileLink.TextToDisplay = "外部ファイルへのリンク";
            fileLink.Address = "C:\\Users\\Administrator\\Desktop\\Report.xlsx";

            //別のシートのセルにリンクするテキストハイパーリンクを追加
            CellRange cell4 = sheet.Range["E7"];
            HyperLink linkToSheet = sheet.HyperLinks.Add(cell4);
            linkToSheet.Type = HyperLinkType.Workbook;
            linkToSheet.TextToDisplay = "シート2のセルへのリンク";
            linkToSheet.Address = "Sheet2!B5";

            //UNCアドレスにリンクするテキストハイパーリンクを追加
            CellRange cell5 = sheet.Range["B11"];
            HyperLink uncLink = sheet.HyperLinks.Add(cell5);
            uncLink.Type = HyperLinkType.Unc;
            uncLink.TextToDisplay = "UNCアドレスへのリンク";
            uncLink.Address = "\\\\192.168.0.121";

            //列幅を自動調整
            sheet.AutoFitColumn(2);
            sheet.AutoFitColumn(5);

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelにテキストハイパーリンクを挿入.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにハイパーリンクを挿入する方法

Excel セルに画像のハイパーリンクを挿入する

Excel ファイルに画像のハイパーリンクを追加する手順は以下の通りです:

  • Workbook クラスのインスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して、目的のワークシートを取得します。
  • Worksheet.Pictures.Add() メソッドを使用してワークシートに画像を挿入し、列幅や行の高さを設定します。
  • XlsBitmapShape.SetHyperLink() メソッドを使用して、画像にハイパーリンクを追加します。
  • Workbook.SaveToFile() メソッドを使用して、ブックを保存します。
  • C#
using Spire.Xls;

namespace AddImageHyperlinks
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookインスタンスを作成
            Workbook workbook = new Workbook();
            //最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            //ワークシートに画像を挿入
            ExcelPicture picture = sheet.Pictures.Add(5, 3, "Logo.png");
            
            //画像にハイパーリンクを追加
            picture.SetHyperLink("https://www.e-iceblue.com", true);

            //結果ファイルを保存
            workbook.SaveToFile("output/Excelに画像のハイパーリンクを挿入.xlsx", ExcelVersion.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにハイパーリンクを挿入する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

ワークシートやセルをアクティブ化することは、Excel ブック内のデータを効果的に操作するために重要です。特定のワークシートをアクティブ化すると、そのシートを操作可能な状態にします。同様に、セルをアクティブ化すると、データ入力、編集、書式設定、または数式の適用などの操作が可能になります。この記事では、C# で Spire.XLS for .NET を使用して Excel ワークシートやセルをアクティブ化する方法を示します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel ファイルのワークシートをアクティブ化する

Excel ブックのワークシートは、Worksheet.Activate() メソッドを使用してアクティブ化できます。ブック内では、一度に 1 つのワークシートのみをアクティブ化できることに注意が必要です。以下の手順で、Spire.XLS for .NET を使用して Excel ブックのワークシートをアクティブ化する方法を説明します:

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、アクティブ化したいワークシートを取得します。
  • Worksheet.Activate() メソッドを使用して、ワークシートをアクティブ化します。
  • Workbook.SaveToFile() メソッドを使用して、ブックを保存します。
  • C#
using Spire.Xls;

namespace ActivateWorksheet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // ファイル内の2番目のワークシートを取得
            Worksheet sheet = workbook.Worksheets[1];

            // 2番目のワークシートをアクティブに設定
            sheet.Activate();

            // 結果のワークブックをファイルに保存
            workbook.SaveToFile("output/Excelワークシートをアクティブ化.xlsx", FileFormat.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルでワークシートやセルをアクティブ化する方法

Excel ファイルのセルをアクティブ化する

ワークシートをアクティブ化するだけでなく、CellRange.Activate() メソッドを使用して特定のセルをアクティブ化することもできます。以下の手順で、Spire.XLS for .NET を使用して Excel ワークシートのセルをアクティブ化する方法を説明します:

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、アクティブ化したいワークシートを取得します。
  • Worksheet.Activate() メソッドを使用して、ワークシートをアクティブ化します。
  • Worksheet.Range[] プロパティを使用して、ワークシート内でアクティブ化したいセルを取得します。
  • CellRange.Activate() メソッドを使用して、セルをアクティブ化します。
  • Workbook.SaveToFile() メソッドを使用して、ブックを保存します。
  • C#
using Spire.Xls;

namespace ActivateCell
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // ファイル内の2番目のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];
            // 2番目のワークシートをアクティブに設定
            sheet.Activate();

            // ワークシート内でアクティブにしたいセルを取得
            CellRange cell = sheet.Range["F8"];
            // セルをアクティブセルに設定
            cell.Activate();

            // 結果のワークブックをファイルに保存
            workbook.SaveToFile("output/Excelセルをアクティブ化.xlsx", FileFormat.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルでワークシートやセルをアクティブ化する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel スプレッドシートを印刷する際、特に複雑なデータセットや詳細なレポートを含む場合、ページ設定を適切に行うことが重要です。Excel のページ設定オプションを使用することで、ページの余白、向き、用紙サイズ、拡大縮小などの重要な要素を調整し、さまざまな印刷ニーズに合わせてドキュメントを最適化することができます。これにより、コンテンツが見栄え良く、プロフェッショナルに仕上がるように調整できます。本記事では、C# で Spire.XLS for .NET を使用して Excel ファイルのページ設定オプションを設定する方法を説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

C# で Excel ファイルのページ余白を設定する

Spire.XLS for .NET の PageSetup クラスは、Excel ワークシートのページ設定オプションを構成するために使用されます。ワークシートの PageSetup オブジェクトは、Worksheet.PageSetup プロパティを通じてアクセスできます。次に、PageSetup.TopMarginPageSetup.BottomMarginPageSetup.LeftMarginPageSetup.RightMarginPageSetup.HeaderMarginInchPageSetup.FooterMarginInch プロパティを使用して、ワークシートの余白を設定します。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.TopMarginPageSetup.BottomMarginPageSetup.LeftMarginPageSetup.RightMarginPageSetup.HeaderMarginInchPageSetup.FooterMarginInch プロパティを使用して余白を設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetPageMargins
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

            // Excel ファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートの上下左右のページ余白を設定
            // 単位はインチ (1 インチ = 2.54 cm)
            pageSetup.TopMargin = 1;
            pageSetup.BottomMargin = 1;
            pageSetup.LeftMargin = 1;
            pageSetup.RightMargin = 1;
            pageSetup.HeaderMarginInch = 1;
            pageSetup.FooterMarginInch = 1;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelのページ余白を設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルのページ向きを設定する

PageSetup.Orientation プロパティを使用すると、ページの印刷向きを設定できます。印刷向きは、縦向き(ポートレート)または横向き(ランドスケープ)から選択できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.Orientation プロパティを使ってページの向きを設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetPageOrientation
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // ページの向き
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

            // Excel ファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートを印刷する際のページの向きを横向きに設定
            pageSetup.Orientation = PageOrientationType.Landscape;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelのページの向きを設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルの用紙サイズを設定する

PageSetup.PaperSize プロパティを使用すると、ワークシートの印刷用紙サイズを選択できます。これには、A3、A4、A5、B4、B5、レター、リーガル、タブロイドなどのさまざまな用紙サイズが含まれます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.PaperSize プロパティを使って用紙サイズを設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetPaperSize
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

            // Excel ファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // 用紙サイズを A4 に設定
            pageSetup.PaperSize = PaperSizeType.PaperA4;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelの用紙サイズを設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルの印刷範囲を設定する

PageSetup.PrintArea プロパティを使用して、印刷したい範囲を指定することができます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.PrintArea プロパティを使用して印刷範囲を設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetPrintArea
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

            // Excel ファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // 印刷範囲を "A1:E5" に設定
            pageSetup.PrintArea = "A1:E5";

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelの印刷領域を設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルの拡大縮小率を設定する

ワークシートの内容を元のサイズの特定の割合に拡大縮小する場合、PageSetup.Zoom プロパティを使用します。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.Zoom プロパティを使用して拡大縮小率を設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetScalingFactor
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

            // Excel ファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートの拡大縮小率を 90% に設定
            pageSetup.Zoom = 90;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/Excelの拡大縮小率を設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

C# で Excel ファイルのページフィットオプションを設定する

Spire.XLS を使用すると、PageSetup.FitToPagesTall および PageSetup.FitToPagesWide プロパティを使用して、ワークシートの内容を特定のページ数に合わせて印刷することができます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使って特定のワークシートを取得します。
  • Worksheet.PageSetup プロパティを使ってワークシートの PageSetup オブジェクトにアクセスします。
  • PageSetup.FitToPagesTall および PageSetup.FitToPagesWide プロパティを使用して、ワークシートの内容を1ページに収めるように設定します。
  • Workbook.SaveToFile() メソッドを使って変更されたワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace SetFitToPages
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbook オブジェクトを作成
            Workbook workbook = new Workbook();

            // Excel ファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // ワークシートの PageSetup オブジェクトを取得
            PageSetup pageSetup = sheet.PageSetup;

            // ワークシートの内容を縦に 1 ページに収める
            pageSetup.FitToPagesTall = 1;
            // ワークシートの内容を横に 1 ページに収める
            pageSetup.FitToPagesWide = 1;

            // 変更したワークブックを新しいファイルに保存
            workbook.SaveToFile("output/ページフィットオプションを設定.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルのページオプションを設定する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel のドキュメントプロパティ(メタデータとしても知られています)は、Excel ファイルの内容や背景を理解するために重要です。これらは、ドキュメントの内容、作成者、作成・修正履歴などに関する有益な情報を提供し、ファイルの効率的な整理や検索を容易にします。本記事では、Excel にドキュメントプロパティを追加する方法に加え、C# で Spire.XLS for .NET を使用して Excel ワークブックからドキュメントプロパティを読み取る方法や削除する方法を説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel ファイルのドキュメントプロパティを読み取る

Excel のプロパティは、主に次の2つのカテゴリに分けられます:

  • 標準プロパティ:これは Excel ファイルに組み込まれているあらかじめ定義されたプロパティです。通常、ファイルのタイトル、件名、作成者、キーワードなどの基本的な情報が含まれます。
  • カスタムプロパティ:これは、特定のニーズに基づいて追加できるユーザー定義の属性で、ファイルに関する追加情報を追跡するために使用されます。

Spire.XLS for .NET を使用すると、Excel ファイルの標準およびカスタムの両方のドキュメントプロパティを読み取ることができます。以下に詳細な手順を示します:

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • StringBuilder インスタンスを作成します。
  • Workbook.DocumentProperties プロパティを使用して、標準ドキュメントプロパティのコレクションを取得します。
  • BuiltInDocumentProperties クラスのプロパティを使用して、特定の標準プロパティを取得し、それらを StringBuilder インスタンスに追加します。
  • Workbook.CustomDocumentProperties プロパティを使用して、カスタムドキュメントプロパティのコレクションを取得します。
  • コレクションをループ処理します。
  • IDocumentProperty.Name および IDocumentProperty.Value プロパティを使用して、各カスタムドキュメントプロパティの名前と値を取得し、それらを StringBuilder インスタンスに追加します。
  • StringBuilder インスタンスの内容を txt ファイルに書き込みます。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;
using System.Text;

namespace ReadExcelProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook のインスタンスを作成
            Workbook wb = new Workbook();

            // Excel ファイルを読み込む
            wb.LoadFromFile("Sample.xlsx");

            // StringBuilder のインスタンスを作成
            StringBuilder sb = new StringBuilder();

            // 標準プロパティのコレクションを取得
            BuiltInDocumentProperties standardProperties = wb.DocumentProperties;
            // 標準プロパティを取得し、StringBuilder インスタンスに追加
            sb.AppendLine("標準ドキュメント プロパティ:");
            sb.AppendLine("タイトル:" + standardProperties.Title);
            sb.AppendLine("サブタイトル:" + standardProperties.Subject);
            sb.AppendLine("作成者:" + standardProperties.Author);
            sb.AppendLine("管理者:" + standardProperties.Manager);
            sb.AppendLine("会社名:" + standardProperties.Company);
            sb.AppendLine("分類:" + standardProperties.Category);
            sb.AppendLine("キーワード:" + standardProperties.Keywords);
            sb.AppendLine("コメント:" + standardProperties.Comments);

            // カスタムプロパティのコレクションを取得
            ICustomDocumentProperties customProperties = wb.CustomDocumentProperties;
            sb.AppendLine("\r\nカスタム ドキュメント プロパティ:");
            // コレクションを反復処理
            for (int i = 0; i < customProperties.Count; i++)
            {
                // カスタムプロパティの名前と値を取得し、StringBuilder インスタンスに追加
                string name = customProperties[i].Name;
                string value = customProperties[i].Value.ToString();
                sb.AppendLine(name + ":" + value);
            }

            // 結果をテキストファイルに書き込む
            File.WriteAllText("output/Excelドキュメントのプロパティ.txt", sb.ToString());

            wb.Dispose();
        }
    }
}

C#:Excel ファイルから文書プロパティを読み取り、削除する方法

Excel ファイルのドキュメントプロパティを削除する

標準のドキュメントプロパティを削除するには、特定のプロパティの値を空に設定するだけで簡単に行えます。カスタムドキュメントプロパティの場合は、ICustomDocumentProperties.Remove() メソッドを使用して削除することができます。以下に詳細な手順を示します:

  • Workbook インスタンスを作成します。
  • Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
  • Workbook.DocumentProperties プロパティを使用して、標準ドキュメントプロパティのコレクションを取得します。
  • BuiltInDocumentProperties クラスの対応するプロパティを通じて、特定の標準ドキュメントプロパティの値を空に設定します。
  • Workbook.CustomDocumentProperties プロパティを使用して、カスタムドキュメントプロパティのコレクションを取得します。
  • コレクションをループ処理します。
  • ICustomDocumentProperties.Remove(string strName) メソッドを使用して、名前でカスタムプロパティをコレクションから削除します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;

namespace RemoveExcelProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbook のインスタンスを作成
            Workbook wb = new Workbook();

            // Excel ファイルを読み込む
            wb.LoadFromFile("Sample.xlsx");

            // 標準プロパティのコレクションを取得
            BuiltInDocumentProperties standardProperties = wb.DocumentProperties;

            // プロパティを空に設定して削除
            standardProperties.Title = "";
            standardProperties.Subject = "";
            standardProperties.Author = "";
            standardProperties.Manager = "";
            standardProperties.Company = "";
            standardProperties.Category = "";
            standardProperties.Keywords = "";
            standardProperties.Comments = "";

            // カスタムプロパティのコレクションを取得
            ICustomDocumentProperties customProperties = wb.CustomDocumentProperties;

            // カスタムプロパティをクリア
            customProperties.Clear();

            // ワークブックを保存
            wb.SaveToFile("output/Excelプロパティの削除.xlsx");

            wb.Dispose();
        }
    }
}

C#:Excel ファイルから文書プロパティを読み取り、削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

HTML(HyperText Markup Language)は、主にウェブページのコンテンツを構造化するために使用されます。情報を視覚的にウェブ上で提示することに優れていますが、Excel のような表計算ソフトウェアに見られる強力な分析機能やデータ操作機能が欠けています。HTML データを Excel に変換することで、ユーザーは Excel の高度な機能(数式、グラフ、表、マクロなど)を活用し、データを効率的に整理・分析することができます。本記事では、C# で Spire.XLS for .NET を使用して HTML ファイルを Excel ファイルに変換する方法を説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

C# で HTML を Excel に変換する

Spire.XLS for .NET は、HTML ファイルを読み込むために Workbook.LoadFromHtml() メソッドを提供しています。HTML ファイルを読み込んだ後、Workbook.SaveToFile() メソッドを使用して簡単に Excel 形式で保存できます。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromHtml() メソッドを使用して HTML ファイルを読み込みます。
  • Workbook.SaveToFile() メソッドを使用して HTML ファイルを Excel 形式で保存します。
  • C#
using Spire.Xls;

namespace HTMLToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookのインスタンスを作成
            Workbook wb = new Workbook();

            // HTMLファイルを読み込む
            wb.LoadFromHtml("Sample.html");

            // HTMLファイルをExcelファイルに変換して保存
            wb.SaveToFile("output/HTMLをExcelに変換.xlsx", FileFormat.Version2016);

            // リソースを解放
            wb.Dispose();
        }
    }
}

C#:HTML を Excel に変換する方法

C# で Excel のセルに HTML 文字列を挿入する

HTML ファイルを Excel に変換するだけでなく、Spire.XLS for .NET を使用すると、CellRange.HtmlString プロパティを利用して Excel のセルに HTML 文字列を挿入することもできます。手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートをインデックス(0ベース)で取得します。
  • Worksheet.Range[] プロパティを使用して、HTML 文字列を追加したいセルを取得します。
  • CellRange.HtmlString プロパティを使用して、そのセルに HTML 文字列を追加します。
  • Workbook.SaveToFile() メソッドを使用して、結果のワークブックを新しいファイルとして保存します。
  • C#
using Spire.Xls;

namespace InsertHtmlStringInExcel
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // ワークブッククラスのオブジェクトを作成
            Workbook workbook = new Workbook();

            // 最初のシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // HTML文字列を指定
            string htmlCode = "<span style='font-size: 20px; color: blue;'><strong><u>従業員データテーブル</u></strong></span>";

            // HTML文字列を追加するセルを取得
            CellRange range = sheet.Range["A1"];

            // セルにHTML文字列を追加
            range.HtmlString = htmlCode;

            // 結果のワークブックを新しいファイルに保存
            workbook.SaveToFile("output/ExcelにHTML文字列を挿入.xlsx", ExcelVersion.Version2013);

            // リソースを解放
            workbook.Dispose();
        }
    }
}

C#:HTML を Excel に変換する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

PDF 文書をより柔軟で編集しやすい形式に変換すること、例えば Markdown 形式への変換は、開発者やコンテンツ制作者にとって一般的なニーズとなっています。このような変換は、文書編集やバージョン管理を容易にするだけでなく、異なるプラットフォームやアプリケーション間でのコンテンツの移植性を高め、特にウェブでの公開や共有に適しています。Spire.PDF for .NET を使用することで、開発者はこの変換プロセスを自動化し、生成された Markdown ファイルにおいて、元の PDF の豊富な書式や構造を維持することができます。

この記事では、Spire.PDF for .NET を使用して C# で PDF 文書を Markdown ファイルに変換する方法を示します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

PDF 文書を Markdown ファイルに変換する

Spire.PDF for .NET を利用すると、開発者は PdfDocument.LoadFromFile(string filename) メソッドを使用して PDF 文書をファイルから読み込み、PdfDocument.SaveToFile(string filename, FileFormat fileFormat) メソッドを使って必要な形式に変換し保存することができます。PDF 文書を Markdown ファイルに変換する際には、保存メソッドの呼び出し時に FileFormat.Markdown 列挙型を引数として渡すだけです。

以下は具体的な手順です:

  • PdfDocument クラスのインスタンスを作成します。
  • PdfDocument.LoadFromFile(string filename) メソッドを使用して PDF 文書を読み込みます。
  • PdfDocument.SaveToFile(string filename, FileFormat.Markdown) メソッドを使って、文書を Markdown 形式に変換し保存します。
  • C#
using Spire.Pdf;

namespace PDFToMarkdown
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentクラスのインスタンスを作成
            PdfDocument pdf = new PdfDocument();

            // PDF文書を読み込む
            pdf.LoadFromFile("Sample.pdf");

            // 文書をMarkdownファイルに変換
            pdf.SaveToFile("output/PDFをMarkdownに変換.md", FileFormat.Markdown);

            // リソースを解放
            pdf.Close();
        }
    }
}

元の PDF 文書:

C#:PDF を Markdown に変換する方法

変換された Markdown ファイル:

C#:PDF を Markdown に変換する方法

ストリームを使用して PDF を Markdown に変換する

ファイルを直接読み込んで操作する以外にも、Spire.PDF for .NET は PdfDocument.LoadFromStream() メソッドを使用してストリームから PDF 文書を読み込み、その後 PdfDocument.SaveToStream() メソッドを使用して Markdown ファイルのストリームに変換することをサポートしています。ストリームを使用することでメモリ使用量を削減し、大きなファイルの処理が可能になり、リアルタイムでのデータ転送を実現できます。また、他のシステムとのデータ交換を簡素化します。

ストリームを使って PDF 文書を Markdown ファイルに変換する具体的な手順は以下の通りです:

  • ネットワークからのダウンロードやファイルデータの読み取りを通じて、PDF 文書を含む Stream オブジェクトを作成します。
  • PdfDocument.LoadFromStream(Stream stream) メソッドを使用して、ストリームから PDF 文書を読み込みます。
  • 変換後の Markdown ファイルを保存するための別の Stream オブジェクトを作成します。
  • PdfDocument.SaveToStream(Stream stream, FileFormat.Markdown) メソッドを使用して、PDF 文書を Markdown ファイルのストリームに変換します。
  • C#
using Spire.Pdf;
using System.IO;
using System.Net.Http;

namespace PDFToMarkdownByStream
{
    class Program
    {
        static async Task Main(string[] args)
        {
            // PdfDocumentクラスのインスタンスを作成
            PdfDocument pdf = new PdfDocument();

            // URLからPDF文書をバイト配列としてダウンロード
            using (HttpClient client = new HttpClient())
            {
                byte[] pdfBytes = await client.GetByteArrayAsync("http://example.com/Sample.pdf");

                // バイト配列を使用してMemoryStreamを作成
                using (MemoryStream inputStream = new MemoryStream(pdfBytes))
                {
                    // ストリームからPDF文書を読み込む
                    pdf.LoadFromStream(inputStream);

                    // Markdownファイルを保存するための別のMemoryStreamオブジェクトを作成
                    using (MemoryStream outputStream = new MemoryStream())
                    {
                        // PDF文書をMarkdownファイルストリームに変換
                        pdf.SaveToStream(outputStream, FileFormat.Markdown);
                        outputStream.Position = 0; // 後続の読み取りのためにストリームの位置をリセット

                        // 結果のストリームをアップロードまたはファイルに書き込む
                        await client.PostAsync("http://example.com/upload", new StreamContent(outputStream));
                        File.WriteAllBytes("output.md", outputStream.ToArray());
                    }
                }
            }

            // リソースを解放
            pdf.Close();
        }
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

PDF にファイルや文書のハイパーリンクを組み込むことは、デジタル文書のインタラクティビティと実用性を高める強力な方法であり、静的なファイル以上の価値を持たせることができます。このようなリンクを埋め込むことで、関連ファイル、追加文書、または同じ文書内の特定のセクションに PDF コンテンツをシームレスに接続し、読者により充実した使いやすい体験を提供します。

本記事では、Spire.PDF for .NET を使用して、C# コードで PDF 文書にファイルおよび文書リンクを追加する方法を示します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

C# で PDF にファイルリンクを追加する

PDF 文書におけるファイルリンク注釈は、ユーザーが PDF から外部ファイルに直接移動できるインタラクティブなリンクを指します。Spire.PDF では、ファイルリンク注釈を操作するための PdfFileLinkAnnotation クラスが提供されています。

以下の手順で PDF 文書にファイルリンク注釈を追加します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF 文書をロードします。
  • PdfDocument.Pages[] プロパティを通じて文書から特定のページを取得します。
  • PdfTextFinder クラスのメソッドを使用してページ内の目的のテキストを見つけます。
  • 見つけたテキストに基づいて PdfFileLinkAnnotation オブジェクトを作成します。
  • PdfPageBase.Annotations.Add() メソッドを使用してページに注釈を追加します。
  • PdfDocument.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Pdf.Annotations;
using Spire.Pdf.Texts;
using Spire.Pdf;
using System.Drawing;

namespace AddFileLinkAnnotation
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            // PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            // 特定のページを取得
            PdfPageBase page = doc.Pages[0];

            // ページに基づいてPdfTextFinderオブジェクトを作成
            PdfTextFinder finder = new PdfTextFinder(page);

            // 検索オプションを設定
            finder.Options.Parameter = TextFindParameter.WholeWord;
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 指定されたテキストのインスタンスを検索
            List fragments = finder.Find("貴金属");

            // 最初のインスタンスを取得
            PdfTextFragment textFragment = fragments[0];

            // テキスト境界を取得
            RectangleF textBound = textFragment.Bounds[0];

            // ファイルリンク注釈を作成
            PdfFileLinkAnnotation fileLinkAnnotation = new PdfFileLinkAnnotation(textBound, "G:/Documents/PreciousMetal.docx");
            fileLinkAnnotation.Color = Color.Red;
            fileLinkAnnotation.Border.Width = 2f;

            // 注釈のコレクションに注釈を追加
            page.Annotations.Add(fileLinkAnnotation);

            // 結果をファイルに保存
            doc.SaveToFile("output/PDFにファイルリンクを追加.pdf");

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:PDF にファイルおよび文書リンクを追加する方法

C# で PDF に文書リンクを追加する

PDF ファイルにおける文書リンク注釈は、ユーザーが同じ PDF 文書内の異なるページやセクションに移動できるハイパーリンクを指します。Spire.PDF では、文書リンク注釈を操作するための PdfDocumentLinkAnnotation クラスが提供されています。

以下の手順で PDF 文書に文書リンク注釈を追加します。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF 文書をロードします。
  • PdfDocument.Pages[] プロパティを通じて文書から特定のページを取得します。
  • PdfTextFinder クラスのメソッドを使用してページ内の目的のテキストを見つけます。
  • 見つけたテキストに基づいて PdfDocumentLinkAnnotation オブジェクトを作成します。
  • PdfPageBase.Annotations.Add() メソッドを使用してページに注釈を追加します。
  • PdfDocument.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Pdf.Annotations;
using Spire.Pdf.Texts;
using Spire.Pdf;
using Spire.Pdf.General;
using System.Drawing;

namespace AddDocumentLinkAnnotation
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            // PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            // 特定のページを取得
            PdfPageBase page = doc.Pages[0];

            // ページに基づいてPdfTextFinderオブジェクトを作成
            PdfTextFinder finder = new PdfTextFinder(page);

            // 検索オプションを設定
            finder.Options.Parameter = TextFindParameter.WholeWord;
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 指定されたテキストのインスタンスを検索
            List fragments = finder.Find("貴金属");

            // 最初のインスタンスを取得
            PdfTextFragment textFragment = fragments[0];

            // テキスト境界を取得
            RectangleF textBound = textFragment.Bounds[0];

            // ドキュメントリンク注釈を作成
            PdfDocumentLinkAnnotation documentLinkAnnotation = new PdfDocumentLinkAnnotation(textBound);
            documentLinkAnnotation.Color = Color.Red;
            documentLinkAnnotation.Border.Width = 2f;

            // 注釈の目的地を設定
            documentLinkAnnotation.Destination = new PdfDestination(doc.Pages[1]);

            // 注釈のコレクションに注釈を追加
            page.Annotations.Add(documentLinkAnnotation);

            // 結果をファイルに保存
            doc.SaveToFile("output/PDFにドキュメントリンクを追加.pdf");

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:PDF にファイルおよび文書リンクを追加する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

PDF 注釈ツールを使用すると、テキストをハイライトしたり、付箋を追加したり、形状を描画したり、コメントを直接 PDF ドキュメントに挿入したりできます。これは、フィードバックを提供したり、メモを取ったり、デザインにマークアップをしたり、ドキュメントでの共同作業を行ったりする際に便利です。PDF 注釈機能をマスターすることで、ワークフローを効率化し、PDF ファイルの作業時に生産性を向上させることができます。

この記事では、C# で Spire.PDF for .NET を使用して PDF ドキュメントにさまざまな種類の注釈をプログラム的に追加する方法を説明します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

C# で PDF にマークアップ注釈を追加する

PDF のマークアップ注釈を使用すると、ユーザーは特定のテキストを強調表示するために背景色を選択して適用できます。Spire.PDF はこのタイプの注釈を操作するために PdfTextMarkupAnnotation クラスを提供しています。C# で Spire.PDF を使用して PDF にマークアップ注釈を追加する手順は次のとおりです。

  • PdfDocument オブジェクトを作成します。
  • 指定されたファイルパスから PDF ドキュメントをロードします。
  • ドキュメントから特定のページを取得します。
  • PdfTextFinder クラスのメソッドを使用してページから目的のテキストを検索します。
  • 見つかったテキストに基づいて PdfTextMarkupAnnotation オブジェクトを作成します。
  • PdfPageBase.Annotations.Add() メソッドを使用してページに注釈を追加します。
  • ドキュメントを別の PDF ファイルとして保存します。
  • C#
using Spire.Pdf.Annotations;
using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Drawing;

namespace AddMarkupAnnotation
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            // PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            // 特定のページを取得
            PdfPageBase page = doc.Pages[0];

            // ページに基づいてPdfTextFinderオブジェクトを作成
            PdfTextFinder finder = new PdfTextFinder(page);

            // 検索オプションを設定
            finder.Options.Parameter = TextFindParameter.WholeWord;
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 指定されたテキストのインスタンスを検索
            List fragments = finder.Find("やがて、金や銀などの貴金属が、その希少性と耐久性から、一般的な通貨として登場した。");

            // 最初のインスタンスを取得
            PdfTextFragment textFragment = fragments[0];

            // 注釈テキストを指定
            String text = "この文は、紙幣と硬貨が経済に与える影響を強調しています。";

            // 見つかったテキストの境界を反復処理
            for (int i = 0; i < textFragment.Bounds.Length; i++)
            {
                // 特定の境界を取得
                RectangleF rect = textFragment.Bounds[i];

                // テキストマークアップ注釈を作成
                PdfTextMarkupAnnotation annotation = new PdfTextMarkupAnnotation("Jessey", text, rect);

                // マークアップ色を設定
                annotation.TextMarkupColor = Color.Green;

                // 注釈のコレクションに注釈を追加
                page.Annotations.Add(annotation);
            }

            // 結果をファイルに保存
            doc.SaveToFile("output/PDFにマークアップ注釈を追加.pdf");

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:PDF ドキュメントに注釈を追加する方法

C# で PDF に自由テキスト注釈を追加する

PDF ファイルに自由テキスト注釈を追加することで、ユーザーは印刷した文書にメモを取るように手書きやタイプしたテキストを直接追加できます。Spire.PDF は自由テキスト注釈を扱うために PdfFreeTextAnnotation を提供しています。PDF ドキュメントに自由テキスト注釈を作成する方法は次のとおりです。

  • PdfDocument オブジェクトを作成します。
  • 指定されたファイルパスから PDF ドキュメントをロードします。
  • ドキュメントから特定のページを取得します。
  • PdfTextFinder クラスのメソッドを使用してページから目的のテキストを検索します。
  • 注釈を追加するための x および y 座標を指定します。
  • PdfFreeTextAnnotation オブジェクトを作成し、テキスト、フォント、ボーダー、色などのプロパティを設定します。
  • PdfPageBase.Annotations.Add() メソッドを使用してページに注釈を追加します。
  • ドキュメントを別の PDF ファイルとして保存します。
  • C#
using Spire.Pdf.Annotations;
using Spire.Pdf.Texts;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace AddFreeTextAnnotation
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            // PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            // 特定のページを取得
            PdfPageBase page = doc.Pages[0];

            // ページに基づいてPdfTextFinderオブジェクトを作成
            PdfTextFinder finder = new PdfTextFinder(page);

            // 検索オプションを設定
            finder.Options.Parameter = TextFindParameter.WholeWord;
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 指定されたテキストのインスタンスを検索
            List fragments = finder.Find("貴金属");

            // 最初のインスタンスを取得
            PdfTextFragment textFragment = fragments[0];

            // テキスト境界を取得
            RectangleF rect = textFragment.Bounds[0];

            // 注釈を追加するxおよびy座標を取得
            float x = rect.Right;
            float y = rect.Bottom;

            // フリーテキスト注釈を作成
            RectangleF rectangle = new RectangleF(x - 100, y, 210, 20);
            PdfFreeTextAnnotation textAnnotation = new PdfFreeTextAnnotation(rectangle);

            // 注釈の内容を設定
            textAnnotation.Text = "貴金属とは、金や銀といった価値の高い金属のこと。";

            // 注釈のその他のプロパティを設定
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Gothic UI", 10f, FontStyle.Bold), true);
            PdfAnnotationBorder border = new PdfAnnotationBorder(1f);
            textAnnotation.Font = font;
            textAnnotation.Border = border;
            textAnnotation.BorderColor = Color.Purple;
            textAnnotation.Color = Color.Green;
            textAnnotation.Opacity = 1.0f;

            // 注釈のコレクションに注釈を追加
            page.Annotations.Add(textAnnotation);

            // 結果をファイルに保存
            doc.SaveToFile("output/PDFに自由テキスト注釈を追加.pdf");

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:PDF ドキュメントに注釈を追加する方法

C# で PDF にポップアップ注釈を追加する

PDF ファイルのポップアップ注釈を使用すると、クリックすると表示される小さなラベルやコメントを追加できます。これにより、追加情報や短いメッセージを表示できます。Spire.PDF はポップアップ注釈を扱うために PdfPopupAnnotation クラスを提供しています。ポップアップ注釈を PDF に追加する手順は次のとおりです。

  • PdfDocument オブジェクトを作成します。
  • 指定されたファイルパスから PDF ドキュメントをロードします。
  • ドキュメントから特定のページを取得します。
  • PdfTextFinder クラスのメソッドを使用してページから目的のテキストを検索します。
  • 注釈を追加するための x および y 座標を指定します。
  • PdfPopupAnnotation オブジェクトを作成し、テキスト、アイコン、色などのプロパティを設定します。
  • PdfPageBase.Annotations.Add() メソッドを使用してページに注釈を追加します。
  • ドキュメントを別の PDF ファイルとして保存します。
  • C#
using Spire.Pdf.Annotations;
using Spire.Pdf.Texts;
using Spire.Pdf;
using System.Drawing;

namespace AddPopupAnnotation
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            // PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            // 特定のページを取得
            PdfPageBase page = doc.Pages[0];

            // ページに基づいてPdfTextFinderオブジェクトを作成
            PdfTextFinder finder = new PdfTextFinder(page);

            // 検索オプションを設定
            finder.Options.Parameter = TextFindParameter.WholeWord;
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 指定されたテキストのインスタンスを検索
            List fragments = finder.Find("貴金属");

            // 最初のインスタンスを取得
            PdfTextFragment textFragment = fragments[0];

            // テキスト境界を取得
            RectangleF textBound = textFragment.Bounds[0];

            // 注釈を追加するxおよびy座標を取得
            float x = textBound.Right + 5;
            float y = textBound.Top - 15;

            // ポップアップ注釈を作成
            RectangleF rectangle = new RectangleF(x, y, 30, 30);
            PdfPopupAnnotation popupAnnotation = new PdfPopupAnnotation(rectangle);

            // 注釈テキストを設定
            popupAnnotation.Text = "貴金属とは、金や銀といった価値の高い金属のこと。";

            // 注釈のアイコンと色を設定
            popupAnnotation.Icon = PdfPopupIcon.Comment;
            popupAnnotation.Color = Color.Red;

            // 注釈のコレクションに注釈を追加
            page.Annotations.Add(popupAnnotation);

            // 結果をファイルに保存
            doc.SaveToFile("output/PDFにポップアップ注釈を追加.pdf");

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:PDF ドキュメントに注釈を追加する方法

C# で PDF に形状注釈を追加する

PDF の形状注釈は、長方形、円、線、矢印などのグラフィカルな形状を PDF ドキュメントに追加して、情報を強調表示したり提供したりすることを指します。Spire.PDF は、カスタム形状注釈を PDF ドキュメントに作成するために PdfPolyLineAnnotation クラスを提供しています。詳細な手順は次のとおりです。

  • PdfDocument オブジェクトを作成します。
  • 指定されたファイルパスから PDF ドキュメントをロードします。
  • ドキュメントから特定のページを取得します。
  • PdfTextFinder クラスのメソッドを使用してページから目的のテキストを検索します。
  • 注釈を追加するための座標を指定します。
  • PdfPolyLineAnnotation オブジェクトを作成し、注釈のテキストを設定します。
  • PdfPageBase.Annotations.Add() メソッドを使用してページに注釈を追加します。
  • ドキュメントを別の PDF ファイルとして保存します。
  • C#
using Spire.Pdf.Annotations;
using Spire.Pdf.Texts;
using Spire.Pdf;
using System.Drawing;

namespace AddShapeAnnotation
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            // PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            // 特定のページを取得
            PdfPageBase page = doc.Pages[0];

            // ページに基づいてPdfTextFinderオブジェクトを作成
            PdfTextFinder finder = new PdfTextFinder(page);

            // 検索オプションを設定
            finder.Options.Parameter = TextFindParameter.WholeWord;
            finder.Options.Parameter = TextFindParameter.IgnoreCase;

            // 指定されたテキストのインスタンスを検索
            List fragments = finder.Find("貴金属");

            // 最初のインスタンスを取得
            PdfTextFragment textFragment = fragments[0];

            // テキスト境界を取得
            RectangleF textBound = textFragment.Bounds[0];

            // 注釈を追加する座標を取得
            float left = textBound.Left;
            float top = textBound.Top;
            float right = textBound.Right;
            float bottom = textBound.Bottom;

            // 形状注釈を作成
            PdfPolyLineAnnotation polyLineAnnotation = new PdfPolyLineAnnotation(page, new PointF[] {
                new PointF(left, top), new PointF(right, top), new PointF(right - 5, bottom), new PointF(left - 5, bottom), new PointF(left, top) });

            // 注釈テキストを設定
            polyLineAnnotation.Text = "貴金属とは、金や銀といった価値の高い金属のこと。";

            // 注釈のコレクションに注釈を追加
            page.Annotations.Add(polyLineAnnotation);

            // 結果をファイルに保存
            doc.SaveToFile("output/PDFに図形の注釈を追加.pdf");

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:PDF ドキュメントに注釈を追加する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

印刷せずにエンドユーザーが直接入力できる PDF フォームを作成する機能は、ビジネスの効率化に大きなメリットをもたらします。ユーザーはこれらの書類をダウンロードし、入力して保存し、再度送信することができます。印刷やスキャンの手間が不要です。このガイドでは、C# で Spire.PDF for .NET を使用して、PDF に入力可能なフォームを作成、入力、または削除する方法について説明します。

Spire.PDF for .NET は、Spire.Pdf.Fields 名前空間に一連の便利なクラスを提供しており、テキストボックス、チェックボックス、コンボボックス、リストボックス、ラジオボタンなど、さまざまな種類のフォームフィールドを作成・編集できます。以下の表に、このチュートリアルで使用する主要なクラスを示します。

クラス 説明
PdfForm PDF 文書のインタラクティブフォームを表します。
PdfField PDF 文書のインタラクティブフォームのフィールドを表します。
PdfTextBoxField PDF フォームのテキストボックスフィールドを表します。
PdfCheckBoxField PDF フォームのチェックボックスフィールドを表します。
PdfComboBoxField PDF フォームのコンボボックスフィールドを表します。
PdfListBoxField PDF フォームのリストボックスフィールドを表します。
PdfListFieldItem リストフィールドの項目を表します。
PdfRadioButtonListField PDF フォームのラジオボタンフィールドを表します。
PdfRadioButtonListItem ラジオボタンリストの項目を表します。
PdfButtonField PDF フォームのボタンフィールドを表します。
PdfSignatureField PDF フォームの署名フィールドを表します。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

PDF 文書に入力可能なフォームフィールドを作成

PDF フォームを作成するには、対応するフィールドクラスのインスタンスを初期化し、Bounds プロパティを使用してフィールドのサイズと位置を設定し、PdfFormFieldCollection.Add() メソッドを使用して PDF に追加します。Spire.PDF for .NET を使用して PDF 文書にさまざまなタイプのフォームフィールドを作成する手順は以下のとおりです。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.Pages.Add() メソッドを使用してページを追加します。
  • PdfTextBoxField オブジェクトを作成し、Bounds、フォント、テキストなどのプロパティを設定してから、PdfFormFieldCollection.Add() メソッドを使用して文書に追加します。
  • チェックボックス、コンボボックス、リストボックス、ラジオボタン、署名フィールド、ボタンを追加するために、ステップ3を繰り返します。
  • PdfDocument.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Actions;
using Spire.Pdf.Fields;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace CreateFillableFormsInPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            //ページを追加
            PdfPageBase page = doc.Pages.Add();

            //x座標とy座標を初期化
            float baseX = 100;
            float baseY = 30;

            //2つのブラシオブジェクトを作成
            PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
            PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.Black));

            //フォントを作成
            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Gothic UI", 12f, FontStyle.Regular), true);

            //テキストボックスを追加
            page.Canvas.DrawString("テキストボックス:", font, brush1, new PointF(10, baseY));
            RectangleF tbxBounds = new RectangleF(baseX, baseY, 150, 15);
            PdfTextBoxField textBox = new PdfTextBoxField(page, "textbox");
            textBox.Bounds = tbxBounds;
            textBox.Text = "Hello World";
            textBox.Font = font;
            doc.Form.Fields.Add(textBox);
            baseY += 25;

            //2つのチェックボックスを追加
            page.Canvas.DrawString("チェックボックス:", font, brush1, new PointF(10, baseY));
            RectangleF checkboxBound1 = new RectangleF(baseX, baseY, 15, 15);
            PdfCheckBoxField checkBoxField1 = new PdfCheckBoxField(page, "checkbox1");
            checkBoxField1.Bounds = checkboxBound1;
            checkBoxField1.Checked = false;
            page.Canvas.DrawString("オプション 1", font, brush2, new PointF(baseX + 20, baseY));

            RectangleF checkboxBound2 = new RectangleF(baseX + 70, baseY, 15, 15);
            PdfCheckBoxField checkBoxField2 = new PdfCheckBoxField(page, "checkbox2");
            checkBoxField2.Bounds = checkboxBound2;
            checkBoxField2.Checked = false;
            page.Canvas.DrawString("オプション 2", font, brush2, new PointF(baseX + 90, baseY));
            doc.Form.Fields.Add(checkBoxField1);
            doc.Form.Fields.Add(checkBoxField2);
            baseY += 25;

            //リストボックスを追加
            page.Canvas.DrawString("リストボックス:", font, brush1, new PointF(10, baseY));
            RectangleF listboxBound = new RectangleF(baseX, baseY, 150, 50);
            PdfListBoxField listBoxField = new PdfListBoxField(page, "listbox");
            listBoxField.Items.Add(new PdfListFieldItem("項目 1", "item1"));
            listBoxField.Items.Add(new PdfListFieldItem("項目 2", "item2"));
            listBoxField.Items.Add(new PdfListFieldItem("項目 3", "item3"));
            listBoxField.Bounds = listboxBound;
            listBoxField.Font = font;
            listBoxField.SelectedIndex = 0;
            doc.Form.Fields.Add(listBoxField);
            baseY += 60;

            //2つのラジオボタンを追加
            page.Canvas.DrawString("ラジオボタン:", font, brush1, new PointF(10, baseY));
            PdfRadioButtonListField radioButtonListField = new PdfRadioButtonListField(page, "radio");
            PdfRadioButtonListItem radioItem1 = new PdfRadioButtonListItem("option1");
            RectangleF radioBound1 = new RectangleF(baseX, baseY, 15, 15);
            radioItem1.Bounds = radioBound1;
            page.Canvas.DrawString("オプション 1", font, brush2, new PointF(baseX + 20, baseY));

            PdfRadioButtonListItem radioItem2 = new PdfRadioButtonListItem("option2");
            RectangleF radioBound2 = new RectangleF(baseX + 70, baseY, 15, 15);
            radioItem2.Bounds = radioBound2;
            page.Canvas.DrawString("オプション 2", font, brush2, new PointF(baseX + 90, baseY));
            radioButtonListField.Items.Add(radioItem1);
            radioButtonListField.Items.Add(radioItem2);
            radioButtonListField.SelectedIndex = 0;
            doc.Form.Fields.Add(radioButtonListField);
            baseY += 25;

            //コンボボックスを追加
            page.Canvas.DrawString("コンボボックス:", font, brush1, new PointF(10, baseY));
            RectangleF cmbBounds = new RectangleF(baseX, baseY, 150, 15);
            PdfComboBoxField comboBoxField = new PdfComboBoxField(page, "combobox");
            comboBoxField.Bounds = cmbBounds;
            comboBoxField.Items.Add(new PdfListFieldItem("項目 1", "item1"));
            comboBoxField.Items.Add(new PdfListFieldItem("項目 2", "item2"));
            comboBoxField.Items.Add(new PdfListFieldItem("項目 3", "item3"));
            comboBoxField.Items.Add(new PdfListFieldItem("項目 4", "item4"));
            comboBoxField.SelectedIndex = 0;
            comboBoxField.Font = font;
            doc.Form.Fields.Add(comboBoxField);
            baseY += 25;

            //署名フィールドを追加
            page.Canvas.DrawString("署名欄:", font, brush1, new PointF(10, baseY));
            PdfSignatureField sgnField = new PdfSignatureField(page, "sgnField");
            RectangleF sgnBounds = new RectangleF(baseX, baseY, 150, 80);
            sgnField.Bounds = sgnBounds;
            doc.Form.Fields.Add(sgnField);
            baseY += 90;

            //ボタンを追加
            page.Canvas.DrawString("ボタン:", font, brush1, new PointF(10, baseY));
            RectangleF btnBounds = new RectangleF(baseX, baseY, 50, 15);
            PdfButtonField buttonField = new PdfButtonField(page, "button");
            buttonField.Bounds = btnBounds;
            buttonField.Text = "送信";
            buttonField.Font = font;
            PdfSubmitAction submitAction = new PdfSubmitAction("https://www.e-iceblue.com/getformvalues.php");
            submitAction.DataFormat = SubmitDataFormat.Html;
            buttonField.Actions.MouseDown = submitAction;
            doc.Form.Fields.Add(buttonField);

            //ファイルに保存
            doc.SaveToFile("output/PDFにフォームフィールドを作成.pdf", FileFormat.PDF);
            doc.Close();
        }
    }
}

C#:PDF で記入可能なフォームを作成、記入、削除する方法

既存の PDF 文書のフォームフィールドに入力

フォームに入力するには、まず PDF 文書からすべてのフォームフィールドを取得し、特定のフィールドの種類を判別した後、値を入力するか、定義済みのリストから選択します。Spire.PDF for .NET を使用して既存の PDF 文書にフォームフィールドを入力する手順は以下のとおりです。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF 文書を読み込みます。
  • PdfDocument.Form プロパティを通じてフォームを取得します。
  • PdfFormWidget.FieldsWidget プロパティを使用してフォームウィジェットコレクションを取得します。
  • フォームウィジェットコレクションをループして、特定の PdfField を取得します。
  • そのフィールドがテキストボックスであるかどうかを判別し、該当する場合は PdfTextBoxFieldWidget.Text プロパティを使用してテキストを設定します。
  • ステップ6を繰り返して、ラジオボタン、チェックボックス、コンボボックス、リストボックスに値を入力します。
  • PdfDocument.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Widget;

namespace FillFormFields
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            //フォームを含むテンプレートを読み込む
            doc.LoadFromFile("Sample1.pdf");

            //ドキュメントからフォームを取得
            PdfFormWidget form = (PdfFormWidget)doc.Form;

            //フォームウィジェットコレクションを取得
            PdfFormFieldWidgetCollection formWidgetCollection = form.FieldsWidget;

            //ウィジェットをループ処理
            for (int i = 0; i < formWidgetCollection.Count; i++)
            {
                //特定のフィールドを取得
                PdfField field = formWidgetCollection[i];

                //フィールドがテキストボックスかどうかを確認
                if (field is PdfTextBoxFieldWidget)
                {
                    if (field.Name == "name")
                    {
                        //テキストボックスのテキストを設定
                        PdfTextBoxFieldWidget textBoxField = (PdfTextBoxFieldWidget)field;
                        textBoxField.Text = "カイラ・スミス";
                    }
                }

                //フィールドがラジオボタンかどうかを確認
                if (field is PdfRadioButtonListFieldWidget)
                {
                    if (field.Name == "gender")
                    {
                        //ラジオボタンの選択インデックスを設定
                        PdfRadioButtonListFieldWidget radioButtonListField = (PdfRadioButtonListFieldWidget)field;
                        radioButtonListField.SelectedIndex = 1;
                    }
                }

                //フィールドがコンボボックスかどうかを確認
                if (field is PdfComboBoxWidgetFieldWidget)
                {
                    if (field.Name == "country")
                    {
                        //コンボボックスの選択インデックスを設定
                        PdfComboBoxWidgetFieldWidget comboBoxField = (PdfComboBoxWidgetFieldWidget)field;
                        int[] index = { 0 };
                        comboBoxField.SelectedIndex = index;
                    }
                }

                //フィールドがチェックボックスかどうかを確認
                if (field is PdfCheckBoxWidgetFieldWidget)
                {
                    //チェックボックスの「Checked」ステータスを設定
                    PdfCheckBoxWidgetFieldWidget checkBoxField = (PdfCheckBoxWidgetFieldWidget)field;
                    switch (checkBoxField.Name)
                    {
                        case "movie":
                            checkBoxField.Checked = true;
                            break;
                        case "music":
                            checkBoxField.Checked = true;
                            break;
                    }
                }

                //フィールドがリストボックスかどうかを確認
                if (field is PdfListBoxWidgetFieldWidget)
                {
                    if (field.Name == "degree")
                    {
                        //リストボックスの選択インデックスを設定
                        PdfListBoxWidgetFieldWidget listBox = (PdfListBoxWidgetFieldWidget)field;
                        int[] index = { 1 };
                        listBox.SelectedIndex = index;
                    }
                }
            }

            //ファイルに保存
            doc.SaveToFile("output/PDFフォームの記入.pdf", FileFormat.PDF);
            doc.Close();
        }
    }
}

C#:PDF で記入可能なフォームを作成、記入、削除する方法

フォームフィールドを PDF 文書から削除

PDF 文書のフォームフィールドは、インデックスまたは名前でアクセスでき、PdfFieldCollection.Remove() メソッドを使用して削除できます。Spire.PDF for .NET を使用して、特定のフィールドまたは既存の PDF 文書からすべてのフィールドを削除する手順は以下のとおりです。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.LoadFromFile() メソッドを使用して PDF 文書を読み込みます。
  • 文書からフォームウィジェットコレクションを取得します。
  • ウィジェットコレクションをループして特定の PdfField を取得し、PdfFieldCollection.Remove() メソッドを使用してフィールドを1つずつ削除します。
  • 特定のフォームフィールドを削除するには、PdfFormWidget.FieldsWidget["fieldName"] プロパティを使用してフィールドを取得し、PdfFieldCollection.Remove() メソッドを呼び出します。
  • PdfDocument.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Widget;

namespace RemoveFormFields
{
    class Program
    {
        static void Main(string[] args)
        {
            //PdfDocumentオブジェクトを作成
            PdfDocument doc = new PdfDocument();

            //PDFファイルを読み込む
            doc.LoadFromFile("Sample.pdf");

            //ドキュメントからフォームフィールドを取得
            PdfFormWidget formWidget = doc.Form as PdfFormWidget;

            //ウィジェットをループ処理
            for (int i = formWidget.FieldsWidget.List.Count - 1; i >= 0; i--)
            {
                //特定のフィールドを取得
                PdfField field = formWidget.FieldsWidget.List[i] as PdfField;

                //フィールドを削除
                formWidget.FieldsWidget.Remove(field);
            }

            //特定の名前でフィールドを取得
            //PdfField field = formWidget.FieldsWidget["name"];
            //フィールドを削除
            //formWidget.FieldsWidget.Remove(field);

            //ファイルに保存
            doc.SaveToFile("output/PDFからすべてのフォームファイルを削除.pdf");
            doc.Close();
        }
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。