チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
ハイパーリンクは、Excel ファイルにおいて重要な要素であり、外部データソースへの参照やワークシート間の移動、特定のセルに関する追加情報の提供を可能にします。Excel ファイルを操作する際、さまざまな理由でハイパーリンクを操作する必要があるかもしれません。たとえば、ファイル内のすべてのハイパーリンクを抽出して分析を行ったり、正確性を保つために古いハイパーリンクを修正したり、ファイルの使いやすさを向上させるために壊れたハイパーリンクを削除したりすることが考えられます。本記事では、Spire.XLS for .NET を使用して C# で Excel ファイルのハイパーリンクを抽出、変更、および削除する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel ワークブックから他のシステム(例えばデータベース)にデータを移行する際、そのデータに関連付けられたハイパーリンクを保持する必要がある場合、事前にハイパーリンクを抽出することが必要です。以下の手順で、C# で Spire.XLS for .NET を使用して Excel ファイルからハイパーリンクを抽出する方法を示します。
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();
}
}
}
誤ったリソースにリンクしてしまったり、ハイパーリンク作成時に URL を間違えて入力した場合、ハイパーリンクを修正して誤りを正す必要があります。以下の手順で、Excel ファイル内の既存のハイパーリンクを変更する方法を示します。
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();
}
}
}
不要なハイパーリンクを削除することで、ワークシートをより整然とし、プロフェッショナルな印象にすることができます。以下の手順で、Excel ファイルから特定のハイパーリンクを削除する方法を示します。
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel におけるハイパーリンクとは、クリック可能なテキストや画像のことで、特定の場所(ウェブページ、既存のファイル、メールアドレス、または現在のブック内の別のセル)に移動するために使用されます。本記事では、Spire.XLS for .NET ライブラリを使用して、C# で Excel ファイルにハイパーリンクを追加する方法をご紹介します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel ファイルにテキストハイパーリンクを追加する手順は以下の通りです:
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();
}
}
}
Excel ファイルに画像のハイパーリンクを追加する手順は以下の通りです:
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
ワークシートやセルをアクティブ化することは、Excel ブック内のデータを効果的に操作するために重要です。特定のワークシートをアクティブ化すると、そのシートを操作可能な状態にします。同様に、セルをアクティブ化すると、データ入力、編集、書式設定、または数式の適用などの操作が可能になります。この記事では、C# で Spire.XLS for .NET を使用して Excel ワークシートやセルをアクティブ化する方法を示します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel ブックのワークシートは、Worksheet.Activate() メソッドを使用してアクティブ化できます。ブック内では、一度に 1 つのワークシートのみをアクティブ化できることに注意が必要です。以下の手順で、Spire.XLS for .NET を使用して Excel ブックのワークシートをアクティブ化する方法を説明します:
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();
}
}
}
ワークシートをアクティブ化するだけでなく、CellRange.Activate() メソッドを使用して特定のセルをアクティブ化することもできます。以下の手順で、Spire.XLS for .NET を使用して Excel ワークシートのセルをアクティブ化する方法を説明します:
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel スプレッドシートを印刷する際、特に複雑なデータセットや詳細なレポートを含む場合、ページ設定を適切に行うことが重要です。Excel のページ設定オプションを使用することで、ページの余白、向き、用紙サイズ、拡大縮小などの重要な要素を調整し、さまざまな印刷ニーズに合わせてドキュメントを最適化することができます。これにより、コンテンツが見栄え良く、プロフェッショナルに仕上がるように調整できます。本記事では、C# で Spire.XLS for .NET を使用して Excel ファイルのページ設定オプションを設定する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET の PageSetup クラスは、Excel ワークシートのページ設定オプションを構成するために使用されます。ワークシートの PageSetup オブジェクトは、Worksheet.PageSetup プロパティを通じてアクセスできます。次に、PageSetup.TopMargin、PageSetup.BottomMargin、PageSetup.LeftMargin、PageSetup.RightMargin、PageSetup.HeaderMarginInch、PageSetup.FooterMarginInch プロパティを使用して、ワークシートの余白を設定します。詳細な手順は以下の通りです。
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();
}
}
}
PageSetup.Orientation プロパティを使用すると、ページの印刷向きを設定できます。印刷向きは、縦向き(ポートレート)または横向き(ランドスケープ)から選択できます。詳細な手順は以下の通りです。
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();
}
}
}
PageSetup.PaperSize プロパティを使用すると、ワークシートの印刷用紙サイズを選択できます。これには、A3、A4、A5、B4、B5、レター、リーガル、タブロイドなどのさまざまな用紙サイズが含まれます。詳細な手順は以下の通りです。
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();
}
}
}
PageSetup.PrintArea プロパティを使用して、印刷したい範囲を指定することができます。詳細な手順は以下の通りです。
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();
}
}
}
ワークシートの内容を元のサイズの特定の割合に拡大縮小する場合、PageSetup.Zoom プロパティを使用します。詳細な手順は以下の通りです。
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();
}
}
}
Spire.XLS を使用すると、PageSetup.FitToPagesTall および PageSetup.FitToPagesWide プロパティを使用して、ワークシートの内容を特定のページ数に合わせて印刷することができます。詳細な手順は以下の通りです。
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel のドキュメントプロパティ(メタデータとしても知られています)は、Excel ファイルの内容や背景を理解するために重要です。これらは、ドキュメントの内容、作成者、作成・修正履歴などに関する有益な情報を提供し、ファイルの効率的な整理や検索を容易にします。本記事では、Excel にドキュメントプロパティを追加する方法に加え、C# で Spire.XLS for .NET を使用して Excel ワークブックからドキュメントプロパティを読み取る方法や削除する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel のプロパティは、主に次の2つのカテゴリに分けられます:
Spire.XLS for .NET を使用すると、Excel ファイルの標準およびカスタムの両方のドキュメントプロパティを読み取ることができます。以下に詳細な手順を示します:
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();
}
}
}
標準のドキュメントプロパティを削除するには、特定のプロパティの値を空に設定するだけで簡単に行えます。カスタムドキュメントプロパティの場合は、ICustomDocumentProperties.Remove() メソッドを使用して削除することができます。以下に詳細な手順を示します:
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
HTML(HyperText Markup Language)は、主にウェブページのコンテンツを構造化するために使用されます。情報を視覚的にウェブ上で提示することに優れていますが、Excel のような表計算ソフトウェアに見られる強力な分析機能やデータ操作機能が欠けています。HTML データを Excel に変換することで、ユーザーは Excel の高度な機能(数式、グラフ、表、マクロなど)を活用し、データを効率的に整理・分析することができます。本記事では、C# で Spire.XLS for .NET を使用して HTML ファイルを Excel ファイルに変換する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET は、HTML ファイルを読み込むために Workbook.LoadFromHtml() メソッドを提供しています。HTML ファイルを読み込んだ後、Workbook.SaveToFile() メソッドを使用して簡単に Excel 形式で保存できます。手順は以下の通りです。
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();
}
}
}
HTML ファイルを Excel に変換するだけでなく、Spire.XLS for .NET を使用すると、CellRange.HtmlString プロパティを利用して Excel のセルに HTML 文字列を挿入することもできます。手順は以下の通りです。
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF 文書をより柔軟で編集しやすい形式に変換すること、例えば Markdown 形式への変換は、開発者やコンテンツ制作者にとって一般的なニーズとなっています。このような変換は、文書編集やバージョン管理を容易にするだけでなく、異なるプラットフォームやアプリケーション間でのコンテンツの移植性を高め、特にウェブでの公開や共有に適しています。Spire.PDF for .NET を使用することで、開発者はこの変換プロセスを自動化し、生成された Markdown ファイルにおいて、元の PDF の豊富な書式や構造を維持することができます。
この記事では、Spire.PDF for .NET を使用して C# で PDF 文書を Markdown ファイルに変換する方法を示します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
Spire.PDF for .NET を利用すると、開発者は PdfDocument.LoadFromFile(string filename) メソッドを使用して PDF 文書をファイルから読み込み、PdfDocument.SaveToFile(string filename, FileFormat fileFormat) メソッドを使って必要な形式に変換し保存することができます。PDF 文書を Markdown ファイルに変換する際には、保存メソッドの呼び出し時に FileFormat.Markdown 列挙型を引数として渡すだけです。
以下は具体的な手順です:
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 文書:
変換された Markdown ファイル:
ファイルを直接読み込んで操作する以外にも、Spire.PDF for .NET は PdfDocument.LoadFromStream() メソッドを使用してストリームから PDF 文書を読み込み、その後 PdfDocument.SaveToStream() メソッドを使用して Markdown ファイルのストリームに変換することをサポートしています。ストリームを使用することでメモリ使用量を削減し、大きなファイルの処理が可能になり、リアルタイムでのデータ転送を実現できます。また、他のシステムとのデータ交換を簡素化します。
ストリームを使って PDF 文書を Markdown ファイルに変換する具体的な手順は以下の通りです:
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 パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
PDF 文書におけるファイルリンク注釈は、ユーザーが PDF から外部ファイルに直接移動できるインタラクティブなリンクを指します。Spire.PDF では、ファイルリンク注釈を操作するための PdfFileLinkAnnotation クラスが提供されています。
以下の手順で PDF 文書にファイルリンク注釈を追加します。
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();
}
}
}
PDF ファイルにおける文書リンク注釈は、ユーザーが同じ PDF 文書内の異なるページやセクションに移動できるハイパーリンクを指します。Spire.PDF では、文書リンク注釈を操作するための PdfDocumentLinkAnnotation クラスが提供されています。
以下の手順で PDF 文書に文書リンク注釈を追加します。
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF 注釈ツールを使用すると、テキストをハイライトしたり、付箋を追加したり、形状を描画したり、コメントを直接 PDF ドキュメントに挿入したりできます。これは、フィードバックを提供したり、メモを取ったり、デザインにマークアップをしたり、ドキュメントでの共同作業を行ったりする際に便利です。PDF 注釈機能をマスターすることで、ワークフローを効率化し、PDF ファイルの作業時に生産性を向上させることができます。
この記事では、C# で Spire.PDF for .NET を使用して PDF ドキュメントにさまざまな種類の注釈をプログラム的に追加する方法を説明します。
まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
PDF のマークアップ注釈を使用すると、ユーザーは特定のテキストを強調表示するために背景色を選択して適用できます。Spire.PDF はこのタイプの注釈を操作するために PdfTextMarkupAnnotation クラスを提供しています。C# で Spire.PDF を使用して PDF にマークアップ注釈を追加する手順は次のとおりです。
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();
}
}
}
PDF ファイルに自由テキスト注釈を追加することで、ユーザーは印刷した文書にメモを取るように手書きやタイプしたテキストを直接追加できます。Spire.PDF は自由テキスト注釈を扱うために PdfFreeTextAnnotation を提供しています。PDF ドキュメントに自由テキスト注釈を作成する方法は次のとおりです。
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();
}
}
}
PDF ファイルのポップアップ注釈を使用すると、クリックすると表示される小さなラベルやコメントを追加できます。これにより、追加情報や短いメッセージを表示できます。Spire.PDF はポップアップ注釈を扱うために PdfPopupAnnotation クラスを提供しています。ポップアップ注釈を PDF に追加する手順は次のとおりです。
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();
}
}
}
PDF の形状注釈は、長方形、円、線、矢印などのグラフィカルな形状を PDF ドキュメントに追加して、情報を強調表示したり提供したりすることを指します。Spire.PDF は、カスタム形状注釈を PDF ドキュメントに作成するために PdfPolyLineAnnotation クラスを提供しています。詳細な手順は次のとおりです。
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するには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 パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
PDF フォームを作成するには、対応するフィールドクラスのインスタンスを初期化し、Bounds プロパティを使用してフィールドのサイズと位置を設定し、PdfFormFieldCollection.Add() メソッドを使用して PDF に追加します。Spire.PDF for .NET を使用して PDF 文書にさまざまなタイプのフォームフィールドを作成する手順は以下のとおりです。
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();
}
}
}
フォームに入力するには、まず PDF 文書からすべてのフォームフィールドを取得し、特定のフィールドの種類を判別した後、値を入力するか、定義済みのリストから選択します。Spire.PDF for .NET を使用して既存の PDF 文書にフォームフィールドを入力する手順は以下のとおりです。
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();
}
}
}
PDF 文書のフォームフィールドは、インデックスまたは名前でアクセスでき、PdfFieldCollection.Remove() メソッドを使用して削除できます。Spire.PDF for .NET を使用して、特定のフィールドまたは既存の PDF 文書からすべてのフィールドを削除する手順は以下のとおりです。
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 日間有効な一時ライセンスを取得してください。