Gérer les propriétés de présentation sur Android
Microsoft PowerPoint fournit une fonctionnalité permettant d’ajouter certaines propriétés aux fichiers de présentation. Ces propriétés de document permettent de stocker des informations utiles avec les documents (fichiers de présentation). Il existe deux types de propriétés de document comme suit
- Propriétés définies par le système (Built-in)
- Propriétés définies par l’utilisateur (Custom)
Built-in properties contain general information about the document like document title, author’s name, document statistics and so on. Custom properties are those ones, which are defined by the users as Name/Value pairs, where both name and value are defined by the user. Using Aspose.Slides for Android via Java, developers can access and modify the values of built-in properties as well as custom properties.
Propriétés de document dans PowerPoint
Microsoft PowerPoint 2007 permet de gérer les propriétés de document des fichiers de présentation. Il vous suffit de cliquer sur l’icône Office puis sur le menu Prepare | Properties | Advanced Properties de Microsoft PowerPoint 2007 comme indiqué ci‑dessous :
| Sélection de l’élément de menu Propriétés avancées | ** |
|---|---|
![]() |
Après avoir sélectionné l’élément de menu Advanced Properties, une boîte de dialogue apparaît vous permettant de gérer les propriétés du document du fichier PowerPoint, comme illustré ci‑dessous :
| Boîte de dialogue Propriétés | ** |
|---|---|
![]() |
Dans la Properties Dialog ci‑dessus, vous pouvez voir qu’il existe plusieurs onglets tels que General, Summary, Statistics, Contents et Custom. Tous ces onglets permettent de configurer différents types d’informations relatives aux fichiers PowerPoint. L’onglet Custom est utilisé pour gérer les propriétés personnalisées des fichiers PowerPoint.
Travailler avec les propriétés de document à l’aide d’Aspose.Slides pour Android via Java
Comme indiqué précédemment, Aspose.Slides for Android via Java prend en charge deux types de propriétés de document, à savoir les propriétés Built-in et Custom. Ainsi, les développeurs peuvent accéder aux deux types de propriétés en utilisant l’API Aspose.Slides for Android via Java. Aspose.Slides for Android via Java fournit la classe IDocumentProperties qui représente les propriétés de document associées à un fichier de présentation via la propriété Presentation.DocumentProperties.
Les développeurs peuvent utiliser la propriété IDocumentProperties exposée par l’objet Presentation pour accéder aux propriétés de document des fichiers de présentation comme décrit ci‑dessous :
Accéder aux propriétés Built-in
Ces propriétés, telles qu’exposées par l’objet IDocumentProperties, comprennent : Creator (Auteur), Description, Keywords, Created (Date de création), Modified (Date de modification), Printed (Date du dernier impression), LastModifiedBy, Keywords, SharedDoc (Partagée entre différents producteurs ?), PresentationFormat, Subject et Title
// Instancier la classe Presentation qui représente la présentation
Presentation pres = new Presentation("Presentation.pptx");
try {
// Créer une référence à l'objet IDocumentProperties associé à la présentation
IDocumentProperties dp = pres.getDocumentProperties();
// Afficher les propriétés intégrées
System.out.println("Category : " + dp.getCategory());
System.out.println("Current Status : " + dp.getContentStatus());
System.out.println("Creation Date : " + dp.getCreatedTime());
System.out.println("Author : " + dp.getAuthor());
System.out.println("Description : " + dp.getComments());
System.out.println("KeyWords : " + dp.getKeywords());
System.out.println("Last Modified By : " + dp.getLastSavedBy());
System.out.println("Supervisor : " + dp.getManager());
System.out.println("Modified Date : " + dp.getLastSavedTime());
System.out.println("Presentation Format : " + dp.getPresentationFormat());
System.out.println("Last Print Date : " + dp.getLastPrinted());
System.out.println("Is Shared between producers : " + dp.getSharedDoc());
System.out.println("Subject : " + dp.getSubject());
System.out.println("Title : " + dp.getTitle());
} finally {
if (pres != null) pres.dispose();
}
Modifier les propriétés Built-in
La modification des propriétés intégrées des fichiers de présentation est aussi simple que leur accès. Vous pouvez simplement assigner une valeur chaîne à n’importe quelle propriété souhaitée et la valeur sera modifiée. Dans l’exemple ci‑dessous, nous montrons comment modifier les propriétés de document intégrées d’un fichier de présentation à l’aide d’Aspose.Slides for Android via Java.
Presentation pres = new Presentation("Presentation.pptx");
try {
// Créer une référence à l'objet IDocumentProperties associé à la présentation
IDocumentProperties dp = pres.getDocumentProperties();
// Définir les propriétés intégrées
dp.setAuthor("Aspose.Slides for Android via Java");
dp.setTitle("Modifying Presentation Properties");
dp.setSubject("Aspose Subject");
dp.setComments("Aspose Description");
dp.setManager("Aspose Manager");
// Enregistrer votre présentation dans un fichier
pres.save("DocProps.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Cet exemple modifie les propriétés intégrées de la présentation, comme illustré ci‑dessous :
| Propriétés de document intégrées après modification | ** |
|---|---|
![]() |
Ajouter des propriétés de document personnalisées
Aspose.Slides for Android via Java permet également aux développeurs d’ajouter des valeurs personnalisées aux propriétés de document d’une présentation. Un exemple est présenté ci‑dessous montrant comment définir les propriétés personnalisées d’une présentation.
Presentation pres = new Presentation();
try {
// Obtention des propriétés du document
IDocumentProperties dProps = pres.getDocumentProperties();
// Ajout de propriétés personnalisées
dProps.set_Item("New Custom", 12);
dProps.set_Item("My Name", "Mudassir");
dProps.set_Item("Custom", 124);
// Obtention du nom de propriété à un indice particulier
String getPropertyName = dProps.getCustomPropertyName(2);
// Suppression de la propriété sélectionnée
dProps.removeCustomProperty(getPropertyName);
// Enregistrement de la présentation
pres.save("CustomDemo.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
| Propriétés de document personnalisées ajoutées | ** |
|---|---|
![]() |
Accéder et modifier les propriétés personnalisées
Aspose.Slides for Android via Java permet également aux développeurs d’accéder aux valeurs des propriétés personnalisées. Un exemple ci‑dessous montre comment accéder et modifier toutes ces propriétés personnalisées pour une présentation.
Presentation pres = new Presentation("Presentation.pptx");
try {
// Créer une référence à l'objet DocumentProperties associé à la présentation
IDocumentProperties dp = pres.getDocumentProperties();
// Accéder et modifier les propriétés personnalisées
for (int i = 0; i < dp.getCountOfCustomProperties(); i++) {
// Afficher les noms et les valeurs des propriétés personnalisées
System.out.println("Custom Property Name : " + dp.getCustomPropertyName(i));
System.out.println("Custom Property Value : " + dp.get_Item(dp.getCustomPropertyName(i)));
// Modifier les valeurs des propriétés personnalisées
dp.set_Item(dp.getCustomPropertyName(i), "New Value " + (i + 1));
}
// Enregistrer votre présentation dans un fichier
pres.save("CustomDemoModified.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Cet exemple modifie les propriétés personnalisées de la présentation PPTX. Les figures suivantes montrent les propriétés personnalisées de la présentation avant et après modification :
| Propriétés personnalisées avant modification | ** |
|---|---|
![]() |
| Propriétés personnalisées après modification | ** |
|---|---|
![]() |
Propriétés avancées du document
Les deux nouvelles méthodes ReadDocumentProperties et UpdateDocumentProperties ont été ajoutées à l’interface IPresentationInfo. Elles offrent un accès rapide aux propriétés de document et permettent de modifier et mettre à jour les propriétés sans charger la totalité d’une présentation.
Le scénario typique consistant à charger les propriétés, modifier une valeur et mettre à jour le document peut être implémenté de la manière suivante :
// lire les informations de la présentation
IPresentationInfo info = PresentationFactory.getInstance().getPresentationInfo("presentation.pptx");
// obtenir les propriétés actuelles
IDocumentProperties props = info.readDocumentProperties();
// définir les nouvelles valeurs des champs Auteur et Titre
props.setAuthor("New Author");
props.setTitle("New Title");
// mettre à jour la présentation avec de nouvelles valeurs
info.updateDocumentProperties(props);
info.writeBindedPresentation("presentation.pptx");
Il existe une autre façon d’utiliser les propriétés d’une présentation particulière comme modèle pour mettre à jour les propriétés dans d’autres présentations :
IPresentationInfo info = PresentationFactory.getInstance().getPresentationInfo("template.pptx");
DocumentProperties template = (DocumentProperties) info.readDocumentProperties();
template.setAuthor("Template Author");
template.setTitle("Template Title");
template.setCategory("Template Category");
template.setKeywords("Keyword1, Keyword2, Keyword3");
template.setCompany("Our Company");
template.setComments("Created from template");
template.setContentType("Template Content");
template.setSubject("Template Subject");
updateByTemplate("doc1.pptx", template);
updateByTemplate("doc2.odp", template);
updateByTemplate("doc3.ppt", template);
private static void updateByTemplate(String path, IDocumentProperties template)
{
IPresentationInfo toUpdate = PresentationFactory.getInstance().getPresentationInfo(path);
toUpdate.updateDocumentProperties(template);
toUpdate.writeBindedPresentation(path);
}
Un nouveau modèle peut être créé à partir de zéro, puis utilisé pour mettre à jour plusieurs présentations :
DocumentProperties template = new DocumentProperties();\
template.setAuthor("Template Author");
template.setTitle("Template Title");
template.setCategory("Template Category");
template.setKeywords("Keyword1, Keyword2, Keyword3");
template.setCompany("Our Company");
template.setComments("Created from template");
template.setContentType("Template Content");
template.setSubject("Template Subject");
updateByTemplate("doc1.pptx", template);
updateByTemplate("doc2.odp", template);
updateByTemplate("doc3.ppt", template);
private static void updateByTemplate(String path, IDocumentProperties template)
{
IPresentationInfo toUpdate = PresentationFactory.getInstance().getPresentationInfo(path);
toUpdate.updateDocumentProperties(template);
toUpdate.writeBindedPresentation(path);
}
Définir la langue de vérification
Aspose.Slides fournit la propriété LanguageId (exposée par la classe PortionFormat) pour vous permettre de définir la langue de vérification orthographique d’un document PowerPoint. La langue de vérification est celle pour laquelle l’orthographe et la grammaire du PowerPoint sont contrôlées.
Ce code Java montre comment définir la langue de vérification pour un PowerPoint : xxx Pourquoi la propriété LanguageId est‑elle absente de la classe Java PortionFormat ?
Presentation pres = new Presentation(pptxFileName);
try {
AutoShape autoShape = (AutoShape)pres.getSlides().get_Item(0).getShapes().get_Item(0);
IParagraph paragraph = autoShape.getTextFrame().getParagraphs().get_Item(0);
paragraph.getPortions().clear();
Portion newPortion = new Portion();
IFontData font = new FontData("SimSun");
IPortionFormat portionFormat = newPortion.getPortionFormat();
portionFormat.setComplexScriptFont(font);
portionFormat.setEastAsianFont(font);
portionFormat.setLatinFont(font);
portionFormat.setLanguageId("zh-CN"); // définir l'Id d'une langue de vérification
newPortion.setText("1。");
paragraph.getPortions().add(newPortion);
} finally {
if (pres != null) pres.dispose();
}
Définir la langue par défaut
Ce code Java montre comment définir la langue par défaut pour l’ensemble d’une présentation PowerPoint :
LoadOptions loadOptions = new LoadOptions();
loadOptions.setDefaultTextLanguage("en-US");
Presentation pres = new Presentation(loadOptions);
try {
// Ajoute une nouvelle forme rectangle avec du texte
IAutoShape shp = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 50);
shp.getTextFrame().setText("New Text");
// Vérifie la langue de la première portion
System.out.println(shp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getLanguageId());
} finally {
if (pres != null) pres.dispose();
}
Exemple en direct
Essayez l’application en ligne Aspose.Slides Metadata pour voir comment travailler avec les propriétés de document via l’API Aspose.Slides :
*FAQ
Comment puis‑je supprimer une propriété intégrée d’une présentation ?
Les propriétés intégrées font partie intégrante de la présentation et ne peuvent pas être supprimées complètement. Cependant, vous pouvez soit modifier leurs valeurs, soit les définir à vide si la propriété le permet.
Que se passe‑t‑il si j’ajoute une propriété personnalisée qui existe déjà ?
Si vous ajoutez une propriété personnalisée déjà existante, sa valeur sera écrasée par la nouvelle. Vous n’avez pas besoin de supprimer ou de vérifier la propriété au préalable, car Aspose.Slides met automatiquement à jour la valeur de la propriété.
Puis‑je accéder aux propriétés d’une présentation sans charger complètement la présentation ?
Oui, vous pouvez accéder aux propriétés d’une présentation sans la charger entièrement en utilisant la méthode getPresentationInfo de la classe PresentationFactory. Ensuite, utilisez la méthode readDocumentProperties fournie par l’interface IPresentationInfo pour lire les propriétés de manière efficace, économisant de la mémoire et améliorant les performances.






