Javaでタグ付きPDFファイルを作成する

タグ付きのPDFファイルは、タグを使用してドキュメント内のコンテンツの論理構造を定義します。このタイプのPDFは、支援技術とスクリーンリーダーを使用して読書体験を向上させます。 前の投稿では、JavaアプリケーションでプログラムでPDFファイルを作成する方法を見てきました。この記事では、Javaでプログラムによってタグ付きPDFファイルを作成する方法を学習します。

タグ付きPDFファイルを作成するためのJavaAPI

タグ付きPDFファイルを作成するには、Aspose.PDF forJavaを使用します。これは、PDFの生成と操作に人気のあるAPIの1つです。 APIを使用すると、単純なレイアウトと複雑なレイアウトのPDFファイルをシームレスに作成、処理、および変換できます。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。

リポジトリ:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

依存:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Javaでタグ付きPDFファイルを作成する

タグ付きPDFで構造要素を作成するために、Aspose.PDFforJavaはITaggedContentインターフェースを提供します。それでは、このインターフェースを使用して、Javaでタグ付きPDFファイルを作成する方法を見てみましょう。

次のコードサンプルは、Javaでタグ付きPDFを作成する方法を示しています。

// 新しいドキュメントを作成する
Document document = new Document();

// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// ドキュメントのタイトルと言語を設定する
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");

以下は、上記のコードサンプルの出力です。

Javaでタグ付きPDFファイルを作成する

Javaでネストされた要素を使用してタグ付きPDFを作成する

前の例では、段落を含む単純なタグ付きPDFを作成しました。タグ付きPDFにネストされた要素を追加する方法を見てみましょう。この操作を実行する手順は次のとおりです。

次のコードサンプルは、Javaでタグ付きPDFにネストされた要素を追加する方法を示しています。

// 新しいドキュメントを作成する
Document document = new Document();

// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// ドキュメントのタイトルと言語を設定する
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// ヘッダーを追加
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// 段落を作成する
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
paragraphWithQuotes.getStructureTextState().setFont(FontRepository.findFont("Calibri"));
paragraphWithQuotes.getStructureTextState().setMarginInfo(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.getStructureTextState().setFontStyle(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.pdf");

次のスクリーンショットは、ネストされた要素を持つタグ付きPDFを示しています。

Javaでネストされた要素を使用してタグ付きPDFを作成する

タグ付きPDFのテキスト構造のスタイリング

フォントスタイル、ファミリ、サイズなどを設定することにより、タグ付きPDFのテキストにスタイルを適用することもできます。このため、Aspose.PDF for Javaでは、[StructureTextState]を使用してフォント、フォントサイズ、フォントスタイル、および前景色を設定できます。 22クラス。次のコードサンプルは、Javaでタグ付きPDFにテキストスタイルを適用する方法を示しています。

// 新しいドキュメントを作成する
Document document = new Document();

// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// ドキュメントのタイトルと言語を設定する
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// ヘッダーを追加
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// 段落を作成する
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// スタイリングを設定する
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// テキストを追加
paragraphWithQuotes.setText("Red italic text.");

// タグ付きPDFを保存
document.save("tagged-pdf.pdf");

Javaでタグ付けされたPDFの構造要素を示す

構造要素を説明するために、Aspose.PDFforJavaはIllustrationElementクラスを提供します。次のコードサンプルは、このクラスを使用して、タグ付きPDFの構造要素を示す方法を示しています。

// 新しいドキュメントを作成する
Document document = new Document();

// タグ付きPDFで作業するためのコンテンツを取得する
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// ドキュメントのタイトルと言語を設定する
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// イラスト要素を作成する
IllustrationElement figure1 = taggedContent.createFigureElement();
taggedContent.getRootElement().appendChild(figure1);
figure1.setAlternativeText( "Figure One");
figure1.setTitle("Image 1");
figure1.setTag("Fig1");
figure1.setImage("aspose_pdf.png");

// タグ付きPDFを保存
document.save("tagged-pdf.pdf");

無料ライセンスを取得する

評価の制限なしにAspose.PDFforJavaを使用するには、無料の一時ライセンスを取得できます。

結論

この記事では、Javaでタグ付きPDFファイルを作成する方法を学びました。さらに、ネストされた要素を作成し、テキストにスタイルを適用し、プログラムでタグ付けされたPDFの構造要素を説明する方法を見てきました。さらに、ドキュメントを使用してJavaPDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。

関連項目