プレゼンテーションプロパティ - C#でPowerPointプレゼンテーションプロパティにアクセスまたは変更

ライブ例

オンラインアプリAspose.Slides Metadataを試して、Aspose.Slides APIを介してドキュメントプロパティにどのようにアクセスするかを確認してください:

todo:image_alt_text

プレゼンテーションプロパティについて

先に説明したように、Aspose.Slides for .NETは組み込みカスタムの2種類のドキュメントプロパティをサポートしています。したがって、開発者はAspose.Slides for .NET APIを使用して両方の種類のプロパティにアクセスできます。Aspose.Slides for .NETは、プレゼンテーションファイルに関連付けられたドキュメントプロパティを表すIDocumentPropertiesクラスを提供します。開発者は、以下に説明するように、Presentationオブジェクトによって公開されているIDocumentPropertiesプロパティを使用してプレゼンテーションファイルのドキュメントプロパティにアクセスできます。

プレゼンテーションプロパティの管理

Microsoft PowerPointは、プレゼンテーションファイルにいくつかのプロパティを追加する機能を提供します。これらのドキュメントプロパティは、ドキュメント(プレゼンテーションファイル)とともに役立つ情報を保存することを可能にします。ドキュメントプロパティには以下の2種類があります。

  • システム定義(組み込み)プロパティ
  • ユーザー定義(カスタム)プロパティ

組み込みプロパティには、ドキュメントのタイトル、著者名、ドキュメント統計などの一般的な情報が含まれています。カスタムプロパティは、ユーザーによって名/値ペアとして定義されるプロパティであり、名前と値の両方がユーザーによって定義されます。Aspose.Slides for .NETを使用すると、開発者は組み込みプロパティおよびカスタムプロパティの値にアクセスして変更することができます。Microsoft PowerPoint 2007では、プレゼンテーションファイルのドキュメントプロパティを管理することができます。すべて行う必要があるのは、Officeアイコンをクリックし、次にMicrosoft PowerPoint 2007の準備 | プロパティ | 高度なプロパティメニュー項目を選択することです。高度なプロパティメニュー項目を選択すると、PowerPointファイルのドキュメントプロパティを管理するためのダイアログが表示されます。プロパティダイアログでは、一般、概要、統計、内容、カスタムのような多くのタブページがあることがわかります。これらのタブページはすべて、PowerPointファイルに関連するさまざまな種類の情報を構成することを可能にします。カスタムタブは、PowerPointファイルのカスタムプロパティを管理するために使用されます。

組み込みプロパティにアクセス

これらのプロパティは、IDocumentPropertiesオブジェクトによって公開されたもので、次のものが含まれます:Creator(Author)DescriptionKeywordsCreated(作成日)、Modified(最終更新日)、Printed(最終印刷日)、LastModifiedByKeywordsSharedDoc(異なるプロデューサー間で共有されていますか?)、PresentationFormatSubject、およびTitle

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_PresentationProperties();
// Instantiate the Presentation class that represents the presentation
Presentation pres = new Presentation(dataDir + "AccessBuiltin Properties.pptx");
// Create a reference to IDocumentProperties object associated with Presentation
IDocumentProperties documentProperties = pres.DocumentProperties;
// Display the builtin properties
System.Console.WriteLine("Category : " + documentProperties.Category);
System.Console.WriteLine("Current Status : " + documentProperties.ContentStatus);
System.Console.WriteLine("Creation Date : " + documentProperties.CreatedTime);
System.Console.WriteLine("Author : " + documentProperties.Author);
System.Console.WriteLine("Description : " + documentProperties.Comments);
System.Console.WriteLine("KeyWords : " + documentProperties.Keywords);
System.Console.WriteLine("Last Modified By : " + documentProperties.LastSavedBy);
System.Console.WriteLine("Supervisor : " + documentProperties.Manager);
System.Console.WriteLine("Modified Date : " + documentProperties.LastSavedTime);
System.Console.WriteLine("Presentation Format : " + documentProperties.PresentationFormat);
System.Console.WriteLine("Last Print Date : " + documentProperties.LastPrinted);
System.Console.WriteLine("Is Shared between producers : " + documentProperties.SharedDoc);
System.Console.WriteLine("Subject : " + documentProperties.Subject);
System.Console.WriteLine("Title : " + documentProperties.Title);

組み込みプロパティを変更

プレゼンテーションファイルの組み込みプロパティを変更するのは、アクセスするのと同じくらい簡単です。任意のプロパティに文字列値を割り当てるだけで、そのプロパティの値が変更されます。以下の例では、プレゼンテーションファイルの組み込みドキュメントプロパティをどのように変更できるかを示しています。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_PresentationProperties();
// Instantiate the Presentation class that represents the Presentation
Presentation presentation = new Presentation(dataDir + "ModifyBuiltinProperties.pptx");
// Create a reference to IDocumentProperties object associated with Presentation
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Set the builtin properties
documentProperties.Author = "Aspose.Slides for .NET";
documentProperties.Title = "Modifying Presentation Properties";
documentProperties.Subject = "Aspose Subject";
documentProperties.Comments = "Aspose Description";
documentProperties.Manager = "Aspose Manager";
// Save your presentation to a file
presentation.Save(dataDir + "DocumentProperties_out.pptx", SaveFormat.Pptx);

カスタムプレゼンテーションプロパティを追加

Aspose.Slides for .NETは、開発者がプレゼンテーションのドキュメントプロパティにカスタム値を追加できることを許可します。以下に、プレゼンテーションにカスタムプロパティを設定する方法を示す例を示します。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_PresentationProperties();
// Instantiate the Presentation class
Presentation presentation = new Presentation();
// Getting Document Properties
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Adding Custom properties
documentProperties["New Custom"] = 12;
documentProperties["My Name"] = "Mudassir";
documentProperties["Custom"] = 124;
// Getting property name at particular index
String getPropertyName = documentProperties.GetCustomPropertyName(2);
// Removing selected property
documentProperties.RemoveCustomProperty(getPropertyName);
// Saving presentation
presentation.Save(dataDir + "CustomDocumentProperties_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);

カスタムプロパティにアクセスおよび変更

Aspose.Slides for .NETは、開発者がカスタムプロパティの値にアクセスできることも許可しています。以下に、プレゼンテーションのこれらのカスタムプロパティにアクセスして変更する方法を示す例を示します。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_PresentationProperties();
// Instanciate the Presentation class that represents the PPTX
Presentation presentation = new Presentation(dataDir + "AccessModifyingProperties.pptx");
// Create a reference to DocumentProperties object associated with Prsentation
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Access and modify custom properties
for (int i = 0; i < documentProperties.CountOfCustomProperties; i++)
{
// Display names and values of custom properties
System.Console.WriteLine("Custom Property Name : " + documentProperties.GetCustomPropertyName(i));
System.Console.WriteLine("Custom Property Value : " + documentProperties[documentProperties.GetCustomPropertyName(i)]);
// Modify values of custom properties
documentProperties[documentProperties.GetCustomPropertyName(i)] = "New Value " + (i + 1);
}
// Save your presentation to a file
presentation.Save(dataDir + "CustomDemoModified_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);

プレゼンテーションが変更または作成されたかを確認

Aspose.Slides for .NETは、プレゼンテーションが変更または作成されたかを確認する機能を提供します。以下に、プレゼンテーションが作成されたかまたは変更されたかを確認する方法を示す例を示します。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_PresentationProperties();
IPresentationInfo info =
PresentationFactory.Instance.GetPresentationInfo(Path.Combine(RootFolder, "props.pptx"));
IDocumentProperties props = info.ReadDocumentProperties();
string app = props.NameOfApplication;
string ver = props.AppVersion;

デフォルト言語を設定

校正言語の設定

Aspose.Slidesは、PowerPointドキュメントの校正言語を設定するために、LanguageIdプロパティ(PortionFormatクラスによって公開)を提供します。校正言語は、PowerPoint内のスペルと文法がチェックされる言語です。

次のC#コードは、PowerPoint用の校正言語を設定する方法を示しています:

using (Presentation pres = new Presentation(pptxFileName))
{
    AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0];

    IParagraph paragraph = autoShape.TextFrame.Paragraphs[0];
    paragraph.Portions.Clear();

    Portion newPortion = new Portion();

    IFontData font = new FontData("SimSun");
    IPortionFormat portionFormat = newPortion.PortionFormat;
    portionFormat.ComplexScriptFont = font;
    portionFormat.EastAsianFont = font;
    portionFormat.LatinFont = font;

    portionFormat.LanguageId = "zh-CN"; // 校正言語のIdを設定
    
    newPortion.Text = "1。";
    paragraph.Portions.Add(newPortion);
}

デフォルト言語を設定

次のC#コードは、PowerPointプレゼンテーション全体のデフォルト言語を設定する方法を示しています:

LoadOptions loadOptions = new LoadOptions();
loadOptions.DefaultTextLanguage = "en-US";
using (Presentation pres = new Presentation(loadOptions))
{
    // テキスト付きの新しい矩形形状を追加
    IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50);
    shp.TextFrame.Text = "新しいテキスト";
    
    // 最初のポーションの言語を確認
    Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId);
}