タグ付きPDFファイルは、タグを使用してドキュメント内のコンテンツの論理構造を定義するPDFの一種です。これは、支援技術やスクリーンリーダーを使用する人の読書体験を向上させるために使用されます。 前の投稿では、.NETアプリケーション内でのPDFファイルの作成について説明しました。この記事では、C#.NETでプログラムによってタグ付きPDFファイルを作成する方法を示します。
- タグ付きPDFファイルを作成するための.NET API
- タグ付きPDFファイルを作成する
- ネストされた要素を使用してタグ付きPDFを作成する
- タグ付きPDFのテキスト構造のスタイリング
- タグ付きPDFの構造要素の図解
タグ付きPDFを作成するためのC#.NET API-無料ダウンロード
Aspose.PDF for .NETは、.NETアプリケーション内でPDFを生成および操作するための堅牢なAPIです。 APIを使用すると、単純なレイアウトと複雑なレイアウトのPDFファイルをシームレスに作成、処理、および変換できます。 APIのバイナリをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.PDF
C#.NETでタグ付きPDFファイルを作成する
タグ付きPDFで構造要素を作成するために、Aspose.PDF for .NETはITaggedContentインターフェースを提供します。それでは、このインターフェイスを使用してC#でタグ付きPDFファイルを作成する方法を見てみましょう。
- Documentクラスを使用して、新しいPDFを作成するか、既存のPDFをロードします。
- ドキュメントのTaggedContentの参照をITaggedContentオブジェクトに取得します。
- タイトル、ヘッダー、言語を設定し、ITaggedContentオブジェクトを使用してPDFに要素を追加します。
- ITaggedContent.CreateParagraphElement()メソッドを使用して新しいParagraphElementを作成し、そのテキストを設定します。
- ITaggedContent.RootElement.AppendChild()メソッドを使用して、段落をドキュメントに追加します。
- 最後に、Document.Save(String)メソッドを使用してPDFファイルを保存します。
次のコードサンプルは、C#でタグ付きPDFを作成する方法を示しています。
// PDFドキュメントを作成する
Document document = new Document();
// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// ドキュメントのタイトルと言語を設定する
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
// ヘッダーを追加
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");
// 段落を追加
ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
paragraphElement.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphElement);
// タグ付きPDFを保存
document.Save("tagged-pdf.pdf");
以下は、上記のコードサンプルの出力です。
C#ネストされた要素を使用してタグ付きPDFを作成する
前の例では、段落を含む単純なタグ付きPDFを作成しました。タグ付きPDFにネストされた要素を追加する方法を見てみましょう。この操作を実行する手順は次のとおりです。
- Documentクラスを使用して、新しいPDFを作成するか、既存のPDFをロードします。
- ドキュメントのTaggedContentの参照をITaggedContentオブジェクトに取得します。
- タイトル、ヘッダー、言語を設定し、ITaggedContentオブジェクトを使用してPDFに要素を追加します。
- ITaggedContent.CreateParagraphElement()メソッドを使用して新しいParagraphElementを作成し、そのテキストを設定します。
- SpanElementクラスを使用して、ネストされた要素を追加します。
- ParagraphElement.AppendChild()メソッドを使用して、ネストされた要素を段落に追加します。
- ITaggedContent.RootElement.AppendChild()メソッドを使用して、段落をドキュメントに追加します。
- 最後に、Document.Save(String)メソッドを使用してPDFファイルを保存します。
次のコードサンプルは、C#でタグ付きPDFにネストされた要素を追加する方法を示しています。
// PDFドキュメントを作成する
Document document = new Document();
// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// ドキュメントのタイトルと言語を設定する
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
// ヘッダーを追加
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");
// 段落を作成する
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);
// スパン要素を追加
SpanElement spanElement1 = taggedContent.CreateSpanElement();
spanElement1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.CreateQuoteElement();
quoteElement.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.StructureTextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
SpanElement spanElement2 = taggedContent.CreateSpanElement();
spanElement2.SetText(" Sed non consectetur elit.");
// 段落に追加
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);
// ルート要素に追加
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);
// タグ付きPDFを保存
document.Save("tagged-pdf-nested-elements.pdf");
次のスクリーンショットは、ネストされた要素を持つタグ付きPDFを示しています。
C#でタグ付けされたPDFのテキスト構造をスタイリングする
フォントスタイル、ファミリ、サイズなどを設定して、タグ付きPDFのテキストにスタイルを適用することもできます。このために、Aspose.PDF for .NETはFont、FontSize、[FontStyle]を提供します。 StructureTextStateクラスの25およびForegroundColorプロパティ。次のコードサンプルは、C#でタグ付けされたPDFにテキストスタイルを適用する方法を示しています。
// PDFドキュメントを作成する
Document document = new Document();
// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// ドキュメントのタイトルと言語を設定する
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
// ヘッダーを追加
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");
// 段落を作成する
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);
// スタイリングを設定する
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
// テキストを追加
paragraphWithQuotes.SetText("Red italic text.");
// タグ付きPDFを保存
document.Save("tagged-pdf-text-styling.pdf");
タグ付きPDFで構造要素を示すC#
構造要素を説明するために、Aspose.PDF for .NETはIllustrationElementクラスを提供します。次のコードサンプルは、このクラスを使用して、タグ付きPDFの構造要素を示す方法を示しています。
// PDFドキュメントを作成する
Document document = new Document();
// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
// ドキュメントのタイトルと言語を設定する
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");
IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");
// タグ付きPDFを保存
document.Save("tagged-pdf-illustrating-structure.pdf");
タグ付きPDFを作成するためのC#API-無料ライセンスを取得
評価の制限なしにAspose.PDF for .NETを使用するには、無料の一時ライセンスを取得できます。
結論
この記事では、C#でタグ付きPDFファイルを作成する方法を学びました。さらに、ネストされた要素を作成し、テキストにスタイルを適用し、プログラムでタグ付けされたPDFの構造要素を説明する方法を見てきました。さらに、ドキュメントを使用して.NETPDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。