Správa vlastností prezentace v C++

Úvod

Aspose.Slides podporuje dva typy vlastností dokumentu: Built-in a Custom. Oba tyto typy vlastností lze snadno získat a spravovat pomocí rozhraní Aspose.Slides API.

Aspose.Slides umožňuje pracovat s vlastnostmi dokumentu prezentace prostřednictvím rozhraní IDocumentProperties. Instance tohoto rozhraní je vrácena metodou Presentation::get_DocumentProperties. Následující příklady ukazují, jak číst, upravovat a spravovat tyto vlastnosti.

Správa vlastností prezentace

Microsoft PowerPoint poskytuje funkci pro přidání některých vlastností do souborů prezentací. Tyto vlastnosti dokumentu umožňují uložit užitečné informace společně s dokumenty (soubory prezentací). Existují dva druhy vlastností dokumentu:

  • Systémově definované (Built-in) vlastnosti
  • Uživatelsky definované (Custom) vlastnosti

Built-in vlastnosti obsahují obecné informace o dokumentu, jako je název dokumentu, jméno autora, statistiky dokumentu a podobně. Custom vlastnosti jsou ty, které jsou uživateli definovány jako páry Name/Value, kde jak název, tak hodnota jsou definovány uživatelem. Pomocí Aspose.Slides pro C++ mohou vývojáři získávat a upravovat hodnoty vestavěných i vlastních vlastností. Microsoft PowerPoint 2007 umožňuje spravovat vlastnosti dokumentu souborů prezentací. Stačí kliknout na ikonu Office a poté na položku nabídky Prepare | Properties | Advanced Properties v Microsoft PowerPoint 2007. Po výběru položky Advanced Properties se zobrazí dialogové okno, které umožňuje spravovat vlastnosti dokumentu souboru PowerPoint. V Properties Dialog vidíte mnoho záložek, jako General, Summary, Statistics, Contents and Custom. Všechny tyto záložky umožňují konfigurovat různé typy informací souvisejících se soubory PowerPoint. Záložka Custom slouží ke správě vlastních vlastností souborů PowerPoint.

Přístup k vestavěným vlastnostem

Tyto vlastnosti, které jsou vystaveny objektem IDocumentProperties, zahrnují: Creator(Author), Description, KeyWords, Created (Datum vytvoření), Modified (Datum úpravy), Printed (Datum posledního tisku), LastModifiedBy, Keywords, SharedDoc (Je sdíleno mezi různými producenty?), PresentationFormat, Subject a Title.

Úprava vestavěných vlastností

Úprava vestavěných vlastností souborů prezentací je stejně jednoduchá jako jejich získání. Stačí přiřadit řetězcovou hodnotu libovolné požadované vlastnosti a hodnota vlastnosti bude upravena. V níže uvedeném příkladu jsme ukázali, jak lze upravit vestavěné vlastnosti dokumentu prezentace.

Přidání vlastních vlastností prezentace

Aspose.Slides pro C++ také umožňuje vývojářům přidat vlastní hodnoty pro vlastnosti dokumentu prezentace. Níže je uveden příklad, který ukazuje, jak nastavit vlastní vlastnosti pro prezentaci.

#include <DOM/IDocumentProperties.h>
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/object_ext.h>
#include <system/string.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;

// Vytvořte instanci třídy Presentation
auto presentation = System::MakeObject<Presentation>();

// Získání vlastností dokumentu
auto documentProperties = presentation->get_DocumentProperties();

// Přidání vlastních vlastností
documentProperties->idx_set(u"New Custom", ObjectExt::Box<int32_t>(12));
documentProperties->idx_set(u"My Name", ObjectExt::Box<String>(u"Mudassir"));
documentProperties->idx_set(u"Custom", ObjectExt::Box<int32_t>(124));

// Získání názvu vlastnosti na konkrétním indexu
String getPropertyName = documentProperties->GetCustomPropertyName(2);

// Odstranění vybrané vlastnosti
documentProperties->RemoveCustomProperty(getPropertyName);

// Uložení prezentace
presentation->Save(u"CustomDocumentProperties_out.pptx", SaveFormat::Pptx);

Přístup a úprava vlastních vlastností

Aspose.Slides pro C++ také umožňuje vývojářům získat hodnoty vlastních vlastností. Níže je uveden příklad, který ukazuje, jak můžete získat a upravit všechny tyto vlastní vlastnosti pro prezentaci.

Nastavení jazyka korektury

Aspose.Slides poskytuje vlastnost LanguageId (vystavenou třídou PortionFormat), která umožňuje nastavit jazyk korektury pro dokument PowerPoint. Jazyk korektury je jazyk, pro který jsou v PowerPointu kontrolovány pravopis a gramatika.

#include <DOM/AutoShape.h>
#include <DOM/Fonts/FontData.h>
#include <DOM/IFontData.h>
#include <DOM/IParagraph.h>
#include <DOM/IPortionCollection.h>
#include <DOM/IPortionFormat.h>
#include <DOM/ISlide.h>
#include <DOM/ITextFrame.h>
#include <DOM/Portion.h>
#include <DOM/Presentation.h>
using namespace Aspose::Slides;

System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"sample.pptx");
System::SharedPtr<AutoShape> autoShape = System::ExplicitCast<AutoShape>(pres->get_Slide(0)->get_Shape(0));

System::SharedPtr<IParagraph> paragraph = autoShape->get_TextFrame()->get_Paragraph(0);
System::SharedPtr<IPortionCollection> portions = paragraph->get_Portions();
portions->Clear();

System::SharedPtr<Portion> newPortion = System::MakeObject<Portion>();

System::SharedPtr<IFontData> font = System::MakeObject<FontData>(u"SimSun");
System::SharedPtr<IPortionFormat> portionFormat = newPortion->get_PortionFormat();
portionFormat->set_ComplexScriptFont(font);
portionFormat->set_EastAsianFont(font);
portionFormat->set_LatinFont(font);

portionFormat->set_LanguageId(u"zh-CN");
// nastavte ID jazyka korektury

newPortion->set_Text(u"1。");
portions->Add(newPortion);

Nastavení výchozího jazyka

Tento kód v C++ ukazuje, jak nastavit výchozí jazyk pro celou prezentaci PowerPoint:

#include <DOM/IAutoShape.h>
#include <DOM/IParagraph.h>
#include <DOM/IPortion.h>
#include <DOM/IPortionFormat.h>
#include <DOM/IShapeCollection.h>
#include <DOM/ISlide.h>
#include <DOM/ITextFrame.h>
#include <DOM/LoadOptions.h>
#include <DOM/Presentation.h>
#include <DOM/ShapeType.h>
#include <system/console.h>
using namespace Aspose::Slides;

System::SharedPtr<LoadOptions> loadOptions = System::MakeObject<LoadOptions>();
loadOptions->set_DefaultTextLanguage(u"en-US");

System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(loadOptions);

// Přidá nový obdélníkový tvar s textem
System::SharedPtr<IAutoShape> shp = pres->get_Slide(0)->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50.0f, 50.0f, 150.0f, 50.0f);
System::SharedPtr<ITextFrame> textFrame = shp->get_TextFrame();
textFrame->set_Text(u"New Text");

// Kontroluje jazyk první části
System::Console::WriteLine(textFrame->get_Paragraph(0)->get_Portion(0)->get_PortionFormat()->get_LanguageId());

Živý příklad

Vyzkoušejte online aplikaci Aspose.Slides Metadata, abyste viděli, jak pracovat s vlastnostmi dokumentu pomocí Aspose.Slides API:

Zobrazit a upravit metadata PowerPoint

Často kladené otázky

Jak mohu odstranit vestavěnou vlastnost z prezentace?

Vestavěné vlastnosti jsou nedílnou součástí prezentace a nelze je zcela odstranit. Můžete však změnit jejich hodnoty nebo je nastavit na prázdné, pokud to konkrétní vlastnost umožňuje.

Co se stane, pokud přidám vlastní vlastnost, která již existuje?

Pokud přidáte vlastní vlastnost, která již existuje, její stávající hodnota bude přepsána novou. Nemusíte vlastnost předtím odstraňovat nebo kontrolovat, protože Aspose.Slides automaticky aktualizuje hodnotu vlastnosti.

Mohu získat vlastnosti prezentace bez úplného načtení prezentace?

Ano. Použijte IPresentationFactory::GetPresentationInfo a poté IPresentationInfo::ReadDocumentProperties, abyste přečetli uložená metadata dokumentu bez vytvoření instance Presentation. Viz Build a Lightweight Presentation Inventory pro kompletní příklad reportování a omezení specifických pro formát.