タグとカスタムデータの管理
プレゼンテーションファイルにおけるデータストレージ
PPTXファイル(.pptx拡張子のアイテム)は、Office Open XML仕様の一部であるPresentationML形式で保存されています。Office Open XML形式は、プレゼンテーションに含まれるデータの構造を定義します。
プレゼンテーションの要素の一つとしてスライドがあり、スライドパートは単一のスライドの内容を含みます。スライドパートは、ISO/IEC 29500によって定義されたユーザー定義タグなど、多くのパートに対して明示的な関係を持つことができます。
カスタムデータ(プレゼンテーションに特有のもの)やユーザーは、タグ(ITagCollection)およびCustomXmlParts(ICustomXmlPartCollection)として存在できます。
タグの値を取得する
スライドでは、タグはIDocumentProperties.getKeywords()およびIDocumentProperties.setKeywords()メソッドに対応します。このサンプルコードは、Aspose.Slides for Javaを使用してPresentationからタグの値を取得する方法を示しています:
Presentation pres = new Presentation("pres.pptx");
try{
String keywords = pres.getDocumentProperties().getKeywords();
} finally {
if (pres != null) pres.dispose();
}
プレゼンテーションにタグを追加する
Aspose.Slidesでは、プレゼンテーションにタグを追加することができます。タグは通常、次の二つのアイテムで構成されます:
- カスタムプロパティの名前 -
MyTag
- カスタムプロパティの値 -
My Tag Value
特定のルールやプロパティに基づいていくつかのプレゼンテーションを分類する必要がある場合、タグを追加することでそのプレゼンテーションに利益をもたらすことができます。たとえば、北アメリカの国からのすべてのプレゼンテーションをカテゴリに分ける場合、北アメリカのタグを作成し、関連する国(米国、メキシコ、カナダ)を値として割り当てることができます。
このサンプルコードは、Aspose.Slides for Javaを使用してPresentationにタグを追加する方法を示しています:
Presentation pres = new Presentation("pres.pptx");
try {
ITagCollection tags = pres.getCustomData().getTags();
pres.getCustomData().getTags().set_Item("MyTag", "My Tag Value");
} finally {
if (pres != null) pres.dispose();
}
タグはSlideにも設定できます:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
slide.getCustomData().getTags().set_Item("tag", "value");
} finally {
if (pres != null) pres.dispose();
}
または、任意の個別のShapeにも設定できます:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 10, 10, 100, 50);
shape.getTextFrame().setText("My text");
shape.getCustomData().getTags().set_Item("tag", "value");
} finally {
if (pres != null) pres.dispose();
}