Hantera presentations egenskaper i JavaScript
Introduktion
Aspose.Slides stöder två typer av dokumentegenskaper: Inbyggda och Anpassade. Båda dessa egenskapstyper kan enkelt nås och hanteras med hjälp av Aspose.Slides API.
Aspose.Slides låter dig arbeta med presentationens dokumentegenskaper via klassen DocumentProperties . En instans av denna klass returneras av metoden Presentation.getDocumentProperties . Följande exempel visar hur man läser, modifierar och hanterar dessa egenskaper.
Hantera presentationsegenskaper
Microsoft PowerPoint erbjuder en funktion för att lägga till vissa egenskaper i presentationsfilerna. Dessa dokumentegenskaper gör det möjligt att lagra användbar information tillsammans med dokumenten (presentationsfiler). Det finns två typer av dokumentegenskaper enligt följande
- Systemdefinierade (Inbyggda) egenskaper
- Användardefinierade (Anpassade) egenskaper
Inbyggda egenskaper innehåller allmän information om dokumentet såsom dokumenttitel, författarens namn, dokumentstatistik med mera. Anpassade egenskaper är de som definieras av användarna som Namn/Värde‑par, där både namn och värde anges av användaren. Med Aspose.Slides för Node.js via Java kan utvecklare komma åt och modifiera värdena för både inbyggda och anpassade egenskaper.
Dokumentegenskaper i PowerPoint
Microsoft PowerPoint 2007 möjliggör hantering av dokumentegenskaperna för presentationsfilerna. Allt du behöver göra är att klicka på Office‑ikonen och sedan på menyalternativet Prepare | Properties | Advanced Properties i Microsoft PowerPoint 2007 som visas nedan:
| Välja menyalternativet Advanced Properties | ** ** |
|---|---|
![]() |
Efter att du har valt menyalternativet Advanced Properties visas en dialogruta som låter dig hantera dokumentegenskaperna för PowerPoint‑filen, som visas nedan i bilden:
| Egenskapsdialog | ** ** |
|---|---|
![]() |
I dialogrutan Properties Dialog ovan kan du se att det finns många flikar såsom General, Summary, Statistics, Contents och Custom. Alla dessa flikar möjliggör konfiguration av olika typer av information relaterad till PowerPoint‑filerna. Fliken Custom används för att hantera de anpassade egenskaperna för PowerPoint‑filerna.
Arbeta med dokumentegenskaper med Aspose.Slides för Node.js via Java
Som vi tidigare har beskrivit stödjer Aspose.Slides för Node.js via Java två typer av dokumentegenskaper, nämligen Inbyggda och Anpassade egenskaper. Således kan utvecklare komma åt båda typerna av egenskaper via Aspose.Slides för Node.js via Java‑API. Aspose.Slides för Node.js via Java tillhandahåller klassen DocumentProperties som representerar dokumentegenskaperna som är kopplade till en presentationsfil via egenskapen Presentation.DocumentProperties.
Utvecklare kan använda egenskapen DocumentProperties som exponeras av objektet Presentation för att komma åt dokumentegenskaperna för presentationsfilerna enligt nedan:
Åtkomst till inbyggda egenskaper
Dessa egenskaper som exponeras av objektet DocumentProperties inkluderar: Creator (Författare), Description, Keywords, Created (Skapandedatum), Modified (Ändringsdatum), Printed (Senaste utskriftsdatum), LastModifiedBy, Keywords, SharedDoc (Delas mellan olika producenter?), PresentationFormat, Subject och Title.
// Instansiera Presentation‑klassen som representerar presentationen
var pres = new aspose.slides.Presentation("Presentation.pptx");
try {
// Skapa en referens till IDocumentProperties‑objektet som är associerat med Presentation
var dp = pres.getDocumentProperties();
// Visa de inbyggda egenskaperna
console.log("Category : " + dp.getCategory());
console.log("Current Status : " + dp.getContentStatus());
console.log("Creation Date : " + dp.getCreatedTime());
console.log("Author : " + dp.getAuthor());
console.log("Description : " + dp.getComments());
console.log("KeyWords : " + dp.getKeywords());
console.log("Last Modified By : " + dp.getLastSavedBy());
console.log("Supervisor : " + dp.getManager());
console.log("Modified Date : " + dp.getLastSavedTime());
console.log("Presentation Format : " + dp.getPresentationFormat());
console.log("Last Print Date : " + dp.getLastPrinted());
console.log("Is Shared between producers : " + dp.getSharedDoc());
console.log("Subject : " + dp.getSubject());
console.log("Title : " + dp.getTitle());
} finally {
if (pres != null) {
pres.dispose();
}
}
Modifiera inbyggda egenskaper
Att modifiera de inbyggda egenskaperna i presentationsfiler är lika enkelt som att komma åt dem. Du kan helt enkelt tilldela ett strängvärde till önskad egenskap så ändras egenskapsvärdet. I exemplet nedan har vi demonstrerat hur vi kan modifiera de inbyggda dokumentegenskaperna för presentationsfilen med Aspose.Slides för Node.js via Java.
var pres = new aspose.slides.Presentation("Presentation.pptx");
try {
// Skapa en referens till IDocumentProperties‑objektet som är associerat med Presentation
var dp = pres.getDocumentProperties();
// Ställ in de inbyggda egenskaperna
dp.setAuthor("Aspose.Slides for Node.js via Java");
dp.setTitle("Modifying Presentation Properties");
dp.setSubject("Aspose Subject");
dp.setComments("Aspose Description");
dp.setManager("Aspose Manager");
// Save your presentation to a file
pres.save("DocProps.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Detta exempel modifierar de inbyggda egenskaperna för presentationen som kan visas som nedan:
| Inbyggda dokumentegenskaper efter modifiering | ** ** |
|---|---|
![]() |
Lägg till anpassade dokumentegenskaper
Aspose.Slides för Node.js via Java låter även utvecklare lägga till anpassade värden för presentationsdokumentets egenskaper. Ett exempel ges nedan som visar hur man anger de anpassade egenskaperna för en presentation.
var pres = new aspose.slides.Presentation();
try {
// Hämtar dokumentegenskaper
var dProps = pres.getDocumentProperties();
// Lägger till anpassade egenskaper
dProps.set_Item("New Custom", 12);
dProps.set_Item("My Name", "Mudassir");
dProps.set_Item("Custom", 124);
// Hämtar egenskapsnamn på specifikt index
var getPropertyName = dProps.getCustomPropertyName(2);
// Tar bort vald egenskap
dProps.removeCustomProperty(getPropertyName);
// Sparar presentation
pres.save("CustomDemo.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
| Anpassade dokumentegenskaper tillagda | ** ** |
|---|---|
![]() |
Åtkomst och modifiering av anpassade egenskaper
Aspose.Slides för Node.js via Java låter även utvecklare läsa värdena för anpassade egenskaper. Ett exempel ges nedan som visar hur du kan komma åt och modifiera alla dessa anpassade egenskaper för en presentation.
var pres = new aspose.slides.Presentation("Presentation.pptx");
try {
// Skapa en referens till DocumentProperties-objektet som är associerat med Presentation
var dp = pres.getDocumentProperties();
// Åtkomst till och modifiera anpassade egenskaper
for (var i = 0; i < dp.getCountOfCustomProperties(); i++) {
// Visa namn och värden för anpassade egenskaper
console.log("Custom Property Name : " + dp.getCustomPropertyName(i));
console.log("Custom Property Value : " + dp.get_Item(dp.getCustomPropertyName(i)));
// Modifiera värden för anpassade egenskaper
dp.set_Item(dp.getCustomPropertyName(i), "New Value " + (i + 1));
}
// Spara din presentation till en fil
pres.save("CustomDemoModified.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Detta exempel modifierar de anpassade egenskaperna för PPTX presentationen. Följande figurer visar presentationens anpassade egenskaper före och efter modifiering:
| Anpassade egenskaper före modifiering | ** ** |
|---|---|
![]() |
| Anpassade egenskaper efter modifiering | ** ** |
|---|---|
![]() |
Avancerade dokumentegenskaper
De två nya metoderna ReadDocumentProperties och UpdateDocumentProperties har lagts till i klassen PresentationInfo. De ger snabb åtkomst till dokumentegenskaper och möjliggör att ändra och uppdatera egenskaper utan att ladda in hela presentationen.
Det typiska scenariot att läsa egenskaperna, ändra ett värde och uppdatera dokumentet kan implementeras på följande sätt:
// läs informationen om presentationen
var info = aspose.slides.PresentationFactory.getInstance().getPresentationInfo("presentation.pptx");
var props = info.readDocumentProperties();
props.setAuthor("New Author");
props.setTitle("New Title");
info.updateDocumentProperties(props);
info.writeBindedPresentation("presentation.pptx");
Det finns ett annat sätt att använda egenskaperna i en specifik presentation som en mall för att uppdatera egenskaper i andra presentationer:
var info = aspose.slides.PresentationFactory.getInstance().getPresentationInfo("template.pptx");
var template = 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);
function updateByTemplate(path, template)
{
var toUpdate = aspose.slides.PresentationFactory.getInstance().getPresentationInfo(path);
toUpdate.updateDocumentProperties(template);
toUpdate.writeBindedPresentation(path);
}
En ny mall kan skapas från grunden och sedan användas för att uppdatera flera presentationer:
var template = new aspose.slides.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);
function updateByTemplate(path, template)
{
var toUpdate = aspose.slides.PresentationFactory.getInstance().getPresentationInfo(path);
toUpdate.updateDocumentProperties(template);
toUpdate.writeBindedPresentation(path);
}
Ställ in korrekturläsningsspråk
Aspose.Slides tillhandahåller egenskapen LanguageId (exponerad av klassen PortionFormat) för att låta dig ange korrekturläsningsspråket för ett PowerPoint‑dokument. Korrekturläsningsspråket är det språk för vilket stavning och grammatik i PowerPoint kontrolleras.
Den här JavaScript‑koden visar hur du ställer in korrekturläsningsspråket för en PowerPoint: xxx Varför saknas LanguageId i JavaScript‑klassen PortionFormat?
var pres = new aspose.slides.Presentation(pptxFileName);
try {
var autoShape = pres.getSlides().get_Item(0).getShapes().get_Item(0);
var paragraph = autoShape.getTextFrame().getParagraphs().get_Item(0);
paragraph.getPortions().clear();
var newPortion = new aspose.slides.Portion();
var font = new aspose.slides.FontData("SimSun");
var portionFormat = newPortion.getPortionFormat();
portionFormat.setComplexScriptFont(font);
portionFormat.setEastAsianFont(font);
portionFormat.setLatinFont(font);
portionFormat.setLanguageId("zh-CN");// sätt ID för ett korrekturläsningsspråk
newPortion.setText("1。");
paragraph.getPortions().add(newPortion);
} finally {
if (pres != null) {
pres.dispose();
}
}
Ställ in standardspråk
Den här JavaScript‑koden visar hur du anger standardspråket för en hel PowerPoint‑presentation:
var loadOptions = new aspose.slides.LoadOptions();
loadOptions.setDefaultTextLanguage("en-US");
var pres = new aspose.slides.Presentation(loadOptions);
try {
// Lägger till en ny rektangelform med text
var shp = pres.getSlides().get_Item(0).getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 50, 50, 150, 50);
shp.getTextFrame().setText("New Text");
// Kontrollerar språk för den första delen
console.log(shp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getLanguageId());
} finally {
if (pres != null) {
pres.dispose();
}
}
Live‑exempel
Prova den online‑app Aspose.Slides Metadata för att se hur man arbetar med dokumentegenskaper via Aspose.Slides API:
*FAQ
Hur kan jag ta bort en inbyggd egenskap från en presentation?
Inbyggda egenskaper är en integrerad del av presentationen och kan inte tas bort helt. Däremot kan du antingen ändra deras värden eller sätta dem till tomma, om den specifika egenskapen tillåter det.
Vad händer om jag lägger till en anpassad egenskap som redan finns?
Om du lägger till en anpassad egenskap som redan finns, kommer dess befintliga värde att skrivas över med det nya. Du behöver inte ta bort eller kontrollera egenskapen i förväg, eftersom Aspose.Slides automatiskt uppdaterar egenskapens värde.
Kan jag komma åt presentationsegenskaper utan att helt ladda presentationen?
Ja, du kan komma åt presentationsegenskaper utan att helt ladda presentationen genom att använda metoden getPresentationInfo från klassen PresentationFactory. Använd sedan metoden readDocumentProperties som tillhandahålls av klassen PresentationInfo för att läsa egenskaperna på ett effektivt sätt, vilket sparar minne och förbättrar prestanda.






