एन्ड्रॉइड पर प्रस्तुति प्रॉपर्टीज़ प्रबंधित करें

परिचय

Aspose.Slides दो प्रकार की दस्तावेज़ प्रॉपर्टी सपोर्ट करता है: Built-in और Custom। इन दोनों प्रॉपर्टी प्रकारों को Aspose.Slides API का उपयोग करके आसानी से एक्सेस और मैनेज किया जा सकता है।

Aspose.Slides आपको प्रस्तुति दस्तावेज़ प्रॉपर्टी के साथ काम करने के लिए IDocumentProperties इंटरफ़ेस प्रदान करता है। इस इंटरफ़ेस का एक इंस्टेंस IPresentation.getDocumentProperties द्वारा लौटाया जाता है। निम्नलिखित उदाहरण दिखाते हैं कि इन प्रॉपर्टीज़ को कैसे पढ़ा, संशोधित और प्रबंधित किया जाए।

PowerPoint में दस्तावेज़ प्रॉपर्टी

Microsoft PowerPoint 2007 आपको प्रस्तुति फ़ाइलों की दस्तावेज़ प्रॉपर्टी प्रबंधित करने की अनुमति देता है। आपको केवल Office आइकन पर क्लिक करना है और फिर Prepare | Properties | Advanced Properties मेन्यू आइटम चुनना है जैसा कि नीचे दिखाया गया है:

उन्नत प्रॉपर्टी मेन्यू आइटम का चयन **
todo:image_alt_text

उन्नत प्रॉपर्टी मेन्यू आइटम चुनने के बाद, नीचे दिखाए अनुसार PowerPoint फ़ाइल की दस्तावेज़ प्रॉपर्टी प्रबंधित करने के लिए एक डायलॉग दिखाई देगा:

प्रॉपर्टीज़ डायलॉग **
todo:image_alt_text

ऊपर के Properties Dialog में आप देख सकते हैं कि कई टैब पेज हैं जैसे General, Summary, Statistics, Contents और Custom। ये सभी टैब पेज PowerPoint फ़ाइलों से संबंधित विभिन्न प्रकार की जानकारी कॉन्फ़िगर करने की सुविधा देते हैं। Custom टैब PowerPoint फ़ाइलों की कस्टम प्रॉपर्टीज़ को प्रबंधित करने के लिए उपयोग किया जाता है।

Aspose.Slides for Android via Java का उपयोग करके दस्तावेज़ प्रॉपर्टीज़ के साथ कार्य करना

जैसा कि हमने पहले बताया था कि Aspose.Slides for Android via Java दो प्रकार की दस्तावेज़ प्रॉपर्टीज़ को सपोर्ट करता है, जो Built-in और Custom प्रॉपर्टी हैं। इसलिए डेवलपर्स Aspose.Slides for Android via Java API का उपयोग करके दोनों प्रकार की प्रॉपर्टीज़ तक पहुंच सकते हैं। Aspose.Slides for Android via Java एक क्लास IDocumentProperties प्रदान करता है जो Presentation.DocumentProperties प्रॉपर्टी के माध्यम से प्रस्तुति फ़ाइल से जुड़ी दस्तावेज़ प्रॉपर्टीज़ को दर्शाता है।

डेवलपर्स प्रस्तुतियों की दस्तावेज़ प्रॉपर्टीज़ तक पहुंचने के लिए Presentation ऑब्जेक्ट द्वारा उजागर की गई IDocumentProperties प्रॉपर्टी का उपयोग कर सकते हैं, जैसा कि नीचे वर्णित है:

एन्क्रिप्टेड प्रस्तुति से सार्वजनिक प्रॉपर्टीज़ पढ़ें

एक ओपनिंग पासवर्ड सामान्यतः प्रस्तुति सामग्री और दस्तावेज़ प्रॉपर्टीज़ दोनों की रक्षा करता है। जब प्रस्तुति को IProtectionManager.setEncryptDocumentProperties में false पास किया जाता है तो उसकी दस्तावेज़ प्रॉपर्टीज़ सार्वजनिक रहती हैं। फिर एप्लीकेशन LoadOptions.setOnlyLoadDocumentProperties में true पास करके ओपनिंग पासवर्ड दिए बिना सार्वजनिक मेटाडाटा पढ़ सकता है।

document-properties-only विकल्प यह तय करता है कि Aspose.Slides क्या लोड करता है; यह कुछ भी डिक्रिप्ट नहीं करता। यदि प्रॉपर्टीज़ एन्क्रिप्शन में शामिल थीं, तो पासवर्ड के बिना उन्हें लोड करना विफल होगा। यदि प्रस्तुति एन्क्रिप्ट नहीं है, तो विकल्प को नजरअंदाज किया जाता है और पूरी प्रस्तुति लोड होती है।

निम्नलिखित उदाहरण IProtectionManager.isOnlyDocumentPropertiesLoaded के माध्यम से लोडिंग मोड की जाँच करता है और फिर IPresentation.getDocumentProperties के माध्यम से बिल्ट‑इन प्रॉपर्टीज़ पढ़ता है:

import com.aspose.slides.IDocumentProperties;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;

LoadOptions loadOptions = new LoadOptions();
loadOptions.setOnlyLoadDocumentProperties(true);

Presentation presentation = new Presentation("public-properties-encrypted.pptx", loadOptions);
try {
    if (presentation.getProtectionManager().isOnlyDocumentPropertiesLoaded()) {
        IDocumentProperties properties = presentation.getDocumentProperties();

        System.out.println("Author: " + properties.getAuthor());
        System.out.println("Title: " + properties.getTitle());
        System.out.println("Keywords: " + properties.getKeywords());
    } else {
        System.out.println("The presentation was not loaded in document-properties-only mode.");
    }
} finally {
    presentation.dispose();
}

इस मोड में स्लाइड सामग्री लोड नहीं होती। स्लाइड्स, मास्टर्स, लेआउट्स, शैप्स, मीडिया और अन्य प्रस्तुति ऑब्जेक्ट्स उपलब्ध नहीं होते। एप्लिकेशन को हमेशा एक ऐसी ऑपरेशन करने से पहले जो सम्पूर्ण प्रस्तुति ऑब्जेक्ट मॉडल की आवश्यकता रखती है, IProtectionManager.isOnlyDocumentPropertiesLoaded जाँचना चाहिए।

एन्क्रिप्टेड प्रस्तुति की प्रॉपर्टीज़ अपडेट करें

एक एन्क्रिप्टेड PPTX फ़ाइल के लिए, document-properties-only मोड में लोड की गई प्रस्तुति सार्वजनिक मेटाडाटा पढ़ने के लिए होती है। Aspose.Slides उस मेटाडाटा‑only ऑब्जेक्ट से बदली हुई प्रॉपर्टीज़ को सेव नहीं कर सकता क्योंकि सार्वजनिक प्रॉपर्टीज़ को एन्क्रिप्टेड प्रस्तुति के भीतर संबंधित डेटा के साथ सुसंगत रहना चाहिए। इसलिए इन्हें अपडेट करने के लिए सही ओपनिंग पासवर्ड और पूर्ण लोड आवश्यक है।

निम्नलिखित उदाहरण LoadOptions.setPassword के साथ प्रस्तुति खोलता है, सार्वजनिक बिल्ट‑इन प्रॉपर्टीज़ अपडेट करता है, और परिणाम सहेजता है। फिर यह IPresentationInfo.isEncrypted का उपयोग करके एन्क्रिप्शन बनी हुई है यह सत्यापित करता है और पासवर्ड के बिना सार्वजनिक मेटाडाटा को पुनः खोलकर नए मानों की जाँच करता है:

import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.PresentationFactory;
import com.aspose.slides.SaveFormat;

final String inputPath = "public-properties-encrypted.pptx";
final String outputPath = "updated-public-properties-encrypted.pptx";

LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");

Presentation presentation = new Presentation(inputPath, loadOptions);
try {
    presentation.getDocumentProperties().setTitle("Updated Product Roadmap");
    presentation.getDocumentProperties().setKeywords("roadmap, planning, indexed");
    presentation.save(outputPath, SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo(outputPath);
System.out.println("The presentation is encrypted: " + presentationInfo.isEncrypted());

LoadOptions metadataLoadOptions = new LoadOptions();
metadataLoadOptions.setOnlyLoadDocumentProperties(true);

Presentation metadataPresentation = new Presentation(outputPath, metadataLoadOptions);
try {
    if (metadataPresentation.getProtectionManager().isOnlyDocumentPropertiesLoaded()) {
        System.out.println("Title: " + metadataPresentation.getDocumentProperties().getTitle());
        System.out.println("Keywords: " + metadataPresentation.getDocumentProperties().getKeywords());
    } else {
        System.out.println("The presentation was not loaded in document-properties-only mode.");
    }
} finally {
    metadataPresentation.dispose();
}

यदि किसी एप्लिकेशन को प्रस्तुति सामग्री को डिक्रिप्ट या लोड करने की अनुमति नहीं है, तो उसे एन्क्रिप्टेड PPTX फ़ाइल की सार्वजनिक प्रॉपर्टीज़ को केवल‑पढ़ने योग्य मानना चाहिए।

बिल्ट‑इन प्रॉपर्टीज़ तक पहुंचें

[IDocumentProperties] ऑब्जेक्ट द्वारा उजागर की गई ये प्रॉपर्टीज़ शामिल हैं: Creator (लेखक), Description, Keywords, Created (निर्माण तिथि), Modified (संशोधित तिथि), Printed (अंतिम प्रिंट तिथि), LastModifiedBy, Keywords, SharedDoc (क्या विभिन्न निर्माताओं के बीच साझा किया गया है?), PresentationFormat, Subject और Title

import com.aspose.slides.*;

// प्रेजेंटेशन का प्रतिनिधित्व करने वाली Presentation क्लास को इंस्टैंसिएट करें
Presentation pres = new Presentation("Presentation.pptx");
try {
    // Presentation से संबद्ध IDocumentProperties ऑब्जेक्ट का रेफ़रेंस बनाएं
    IDocumentProperties dp = pres.getDocumentProperties();
    
    // बिल्ट‑इन प्रॉपर्टीज़ प्रदर्शित करें
    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();
}

बिल्ट‑इन प्रॉपर्टीज़ संशोधित करें

प्रस्तुति फ़ाइलों की बिल्ट‑इन प्रॉपर्टीज़ को संशोधित करना उतना ही आसान है जितना उन्हें एक्सेस करना। आप किसी भी वांछित प्रॉपर्टी को एक स्ट्रिंग मान असाइन कर सकते हैं और प्रॉपर्टी का मान बदलेगा। नीचे दिए गए उदाहरण में हमने दिखाया है कि Aspose.Slides for Android via Java का उपयोग करके प्रस्तुति फ़ाइल की बिल्ट‑इन दस्तावेज़ प्रॉपर्टी को कैसे संशोधित किया जा सकता है।

import com.aspose.slides.*;

Presentation pres = new Presentation("Presentation.pptx");
try {
    // Presentation से संबद्ध IDocumentProperties ऑब्जेक्ट का रेफ़रेंस बनाएं
    IDocumentProperties dp = pres.getDocumentProperties();
    
    // बिल्ट‑इन प्रॉपर्टीज़ सेट करें
    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");
    
    // अपनी प्रेजेंटेशन को फ़ाइल में सेव करें
    pres.save("DocProps.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

यह उदाहरण प्रस्तुति की बिल्ट‑इन प्रॉपर्टीज़ को संशोधित करता है जिसे नीचे दिखाया गया है:

संसोधन के बाद बिल्ट‑इन दस्तावेज़ प्रॉपर्टीज़ **
todo:image_alt_text

कस्टम दस्तावेज़ प्रॉपर्टीज़ जोड़ें

Aspose.Slides for Android via Java डेवलपर्स को प्रस्तुति दस्तावेज़ प्रॉपर्टीज़ के कस्टम मान जोड़ने की भी अनुमति देता है। नीचे का उदाहरण तीन कस्टम प्रॉपर्टीज़ जोड़ता है, फिर इंडेक्स 2 पर संग्रहीत नाम को देखता है और उस प्रॉपर्टी को हटाता है, जिससे सहेजी गई प्रस्तुति में दो ही रहती हैं। कस्टम प्रॉपर्टीज़ को वर्णक्रमीय क्रम में अनुक्रमित किया जाता है, न कि उनके जोड़ने के क्रम में।

import com.aspose.slides.*;

Presentation pres = new Presentation();
try {
    // दस्तावेज़ प्रॉपर्टीज़ प्राप्त करना
    IDocumentProperties dProps = pres.getDocumentProperties();
    
    // कस्टम प्रॉपर्टीज़ जोड़ना
    dProps.set_Item("New Custom", 12);
    dProps.set_Item("My Name", "Mudassir");
    dProps.set_Item("Custom", 124);
    
    // विशेष इंडेक्स पर प्रॉपर्टी का नाम प्राप्त करना
    String getPropertyName = dProps.getCustomPropertyName(2);
    
    // चयनित प्रॉपर्टी को हटाना
    dProps.removeCustomProperty(getPropertyName);
    
    // प्रेजेंटेशन सहेजना
    pres.save("CustomDemo.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
जोड़ी गई कस्टम दस्तावेज़ प्रॉपर्टीज़ **
todo:image_alt_text

कस्टम प्रॉपर्टीज़ तक पहुंचें और संशोधित करें

Aspose.Slides for Android via Java डेवलपर्स को कस्टम प्रॉपर्टीज़ के मानों तक पहुंचने की भी अनुमति देता है। नीचे एक उदाहरण दिया गया है जो दिखाता है कि आप प्रस्तुति के लिए इन सभी कस्टम प्रॉपर्टीज़ तक कैसे पहुंच सकते हैं और उन्हें संशोधित कर सकते हैं।

import com.aspose.slides.*;

Presentation pres = new Presentation("Presentation.pptx");
try {
    // Presentation से संबद्ध DocumentProperties ऑब्जेक्ट का रेफ़रेंस बनाएं
    IDocumentProperties dp = pres.getDocumentProperties();
    
    // कस्टम प्रॉपर्टीज़ तक पहुंचें और संशोधित करें
    for (int i = 0; i < dp.getCountOfCustomProperties(); i++) {
        // कस्टम प्रॉपर्टीज़ के नाम और मान प्रदर्शित करें
        System.out.println("Custom Property Name : " + dp.getCustomPropertyName(i));
        System.out.println("Custom Property Value : " + dp.get_Item(dp.getCustomPropertyName(i)));
    
        // कस्टम प्रॉपर्टीज़ के मान संशोधित करें
        dp.set_Item(dp.getCustomPropertyName(i), "New Value " + (i + 1));
    }
    
    // अपनी प्रेजेंटेशन को फ़ाइल में सहेजें
    pres.save("CustomDemoModified.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

यह उदाहरण PPTX प्रस्तुति की कस्टम प्रॉपर्टीज़ को संशोधित करता है। नीचे के चित्र संशोधन से पहले और बाद में प्रस्तुति की कस्टम प्रॉपर्टीज़ दिखाते हैं:

संशोधन से पहले कस्टम प्रॉपर्टीज़ **
todo:image_alt_text
संशोधन के बाद कस्टम प्रॉपर्टीज़ **
todo:image_alt_text

उन्नत दस्तावेज़ प्रॉपर्टीज़

दो नई विधियों ReadDocumentProperties और UpdateDocumentProperties को [IPresentationInfo] इंटरफ़ेस में जोड़ा गया है। वे दस्तावेज़ प्रॉपर्टीज़ तक त्वरित पहुंच प्रदान करती हैं और पूरी प्रस्तुति लोड किए बिना प्रॉपर्टीज़ को बदलने और अपडेट करने की अनुमति देती हैं।

आम परिदृश्य जिसमें प्रॉपर्टीज़ लोड की जाती हैं, कुछ मान बदलते हैं और दस्तावेज़ को अपडेट किया जाता है, उसे निम्नलिखित तरीके से लागू किया जा सकता है:

import com.aspose.slides.*;

// प्रस्तुति की जानकारी पढ़ें
IPresentationInfo info = PresentationFactory.getInstance().getPresentationInfo("presentation.pptx");

// obtain the current properties
IDocumentProperties props = info.readDocumentProperties();

// set the new values of Author and Title fields
props.setAuthor("New Author");
props.setTitle("New Title");

// update the presentation with a new values
info.updateDocumentProperties(props);
info.writeBindedPresentation("presentation.pptx");

एक और तरीका है कि किसी विशिष्ट प्रस्तुति की प्रॉपर्टीज़ को टेम्प्लेट के रूप में उपयोग करके अन्य प्रस्तुतियों की प्रॉपर्टीज़ को अपडेट किया जाए:

import com.aspose.slides.*;

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);
import com.aspose.slides.*;

private static void updateByTemplate(String path, IDocumentProperties template) 
{
    IPresentationInfo toUpdate = PresentationFactory.getInstance().getPresentationInfo(path);
    toUpdate.updateDocumentProperties(template);
    toUpdate.writeBindedPresentation(path);
}

एक नया टेम्प्लेट शून्य से बनाया जा सकता है और फिर कई प्रस्तुतियों को अपडेट करने के लिए उपयोग किया जा सकता है:

import com.aspose.slides.*;

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");

for (String path : new String[] { "doc1.pptx", "doc2.odp", "doc3.ppt" })
{
    IPresentationInfo toUpdate = PresentationFactory.getInstance().getPresentationInfo(path);
    toUpdate.updateDocumentProperties(template);
    toUpdate.writeBindedPresentation(path);
}

प्रूफ़िंग भाषा सेट करें

Aspose.Slides LanguageId प्रॉपर्टी (जो PortionFormat क्लास द्वारा उजागर की गई है) प्रदान करता है जिससे आप PowerPoint दस्तावेज़ के लिए प्रूफ़िंग भाषा सेट कर सकते हैं। प्रूफ़िंग भाषा वह भाषा है जिसके लिए PowerPoint में वर्तनी और व्याकरण की जाँच की जाती है।

यह Java कोड दिखाता है कि PowerPoint के लिए प्रूफ़िंग भाषा कैसे सेट करें:

import com.aspose.slides.*;

Presentation pres = new Presentation("presentation.pptx");
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"); // प्रूफ़िंग भाषा का Id सेट करें

    newPortion.setText("1。");
    paragraph.getPortions().add(newPortion);
} finally {
    if (pres != null) pres.dispose();
}

डिफ़ॉल्ट भाषा सेट करें

यह Java कोड दिखाता है कि पूरे PowerPoint प्रस्तुति के लिए डिफ़ॉल्ट भाषा कैसे सेट करें:

import com.aspose.slides.*;

LoadOptions loadOptions = new LoadOptions();
loadOptions.setDefaultTextLanguage("en-US");

Presentation pres = new Presentation(loadOptions);
try {
    // नया आयताकार आकार टेक्स्ट के साथ जोड़ता है
    IAutoShape shp = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 50);
    shp.getTextFrame().setText("New Text");

    // पहले भाग की भाषा की जाँच करता है
    System.out.println(shp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getLanguageId());
} finally {
    if (pres != null) pres.dispose();
}

लाइव उदाहरण

Aspose.Slides Metadata ऑनलाइन ऐप को आज़माएँ ताकि आप Aspose.Slides API के माध्यम से दस्तावेज़ प्रॉपर्टीज़ के साथ काम करने का तरीका देख सकें:

View & Edit PowerPoint Metadata

अक्सर पूछा जाने वाला प्रश्न

मैं प्रस्तुति से एक बिल्ट‑इन प्रॉपर्टी कैसे हटा सकता हूँ?

बिल्ट‑इन प्रॉपर्टीज़ प्रस्तुति का अभिन्न हिस्सा हैं और उन्हें पूरी तरह हटाया नहीं जा सकता। हालांकि, आप उनकी मान बदल सकते हैं या यदि विशिष्ट प्रॉपर्टी अनुमति देती है तो उन्हें खाली सेट कर सकते हैं।

यदि मैं एक कस्टम प्रॉपर्टी जोड़ूँ जो पहले से मौजूद है तो क्या होगा?

यदि आप एक कस्टम प्रॉपर्टी जोड़ते हैं जो पहले से मौजूद है, तो उसका मौजूदा मान नए मान से प्रतिस्थापित हो जाएगा। आपको प्रॉपर्टी को पहले हटाने या जाँचने की आवश्यकता नहीं है, क्योंकि Aspose.Slides स्वचालित रूप से प्रॉपर्टी के मान को अपडेट कर देता है।

क्या मैं पूरी प्रस्तुति को लोड किए बिना प्रस्तुति प्रॉपर्टीज़ तक पहुंच सकता हूँ?

हाँ। आप PresentationFactory.getPresentationInfo का उपयोग करें और फिर IPresentationInfo.readDocumentProperties का उपयोग करके एक [Presentation] इंस्टेंस बनाए बिना संग्रहीत दस्तावेज़ मेटाडाटा पढ़ सकते हैं। पूर्ण रिपोर्टिंग उदाहरण और फ़ॉर्मेट‑विशिष्ट प्रतिबंधों के लिए देखें Build a Lightweight Presentation Inventory

क्या मैं एन्क्रिप्टेड प्रस्तुति की सार्वजनिक प्रॉपर्टीज़ को उसके ओपनिंग पासवर्ड के बिना पढ़ सकता हूँ?

हाँ। दस्तावेज़‑प्रॉपर्टी एन्क्रिप्शन को प्रस्तुति एन्क्रिप्ट होने से पहले निष्क्रिय किया जाना चाहिए, और प्रस्तुति को document-properties-only मोड में लोड किया जाना चाहिए।

क्या मैं document-properties-only मोड में एन्क्रिप्टेड PPTX फ़ाइल को अपडेट कर सकता हूँ?

नहीं। सार्वजनिक और एन्क्रिप्टेड प्रॉपर्टी डेटा को सुसंगत रहना चाहिए, इसलिए एन्क्रिप्टेड PPTX फ़ाइल को अपडेट करने के लिए सही ओपनिंग पासवर्ड के साथ पूरी प्रस्तुति को लोड करना आवश्यक है।