การป้องกันการเขียนงานนำเสนอใน .NET

บทนำ

รหัสผ่านป้องกันการเขียนจำกัดการแก้ไขงานนำเสนอแต่ไม่เข้ารหัสเนื้อหา ผู้ใช้สามารถโหลดและดูงานนำเสนอที่มีการป้องกันการเขียนได้โดยไม่ต้องใช้รหัสผ่าน ขึ้นอยู่กับแอปพลิเคชัน ผู้ใช้อาจสามารถแก้ไขเนื้อหาและบันทึกเป็นชื่อใหม่ได้ ดังนั้นการป้องกันการเขียนจึงไม่ควรถือเป็นกลไกความลับ

รหัสผ่านเปิดทำหน้าที่ต่างออกไป: มันเข้ารหัสงานนำเสนอและจำเป็นสำหรับการโหลดเนื้อหา เพื่อเข้ารหัสงานนำเสนอหรือยืนยันรหัสผ่านเปิด ดูที่การป้องกันด้วยรหัสผ่านในสไลด์

ขั้นตอนในบทความนี้ใช้ได้กับงานนำเสนอ PPT และ PPTX ตัวอย่างใช้ไฟล์ PPTX; เมื่อบันทึกเป็น PPT ให้ใช้ส่วนขยาย.pptและรูปแบบการบันทึก PPT ที่สอดคล้อง

ตั้งการป้องกันการเขียนบนงานนำเสนอ

ใช้IProtectionManager.SetWriteProtectionเพื่อกำหนดรหัสผ่านสำหรับแก้ไขงานนำเสนอ การบันทึกงานนำเสนอจะบันทึกการตั้งค่าการป้องกันไว้

ตัวอย่างต่อไปนี้ตั้งการป้องกันการเขียนบนงานนำเสนอ PPTX:

using Aspose.Slides;
using Aspose.Slides.Export;

using var presentation = new Presentation("pres.pptx");

presentation.ProtectionManager.SetWriteProtection("modify_password");
presentation.Save("write-protected-pres.pptx", SaveFormat.Pptx);

โหลดงานนำเสนอที่มีการป้องกันการเขียน

เนื่องจากการป้องกันการเขียนไม่ได้เข้ารหัสเนื้อหาของงานนำเสนอ ไม่จำเป็นต้องใช้รหัสผ่านเพื่อโหลดงานนำเสนอ รหัสผ่านมีความสำคัญเฉพาะเมื่อยืนยันสิทธิ์การแก้ไขงานนำเสนอที่ได้รับการป้องกันเท่านั้น

using System;
using Aspose.Slides;

using var presentation = new Presentation("write-protected-pres.pptx");

Console.WriteLine("Slide count: " + presentation.Slides.Count);

อย่าให้รหัสผ่านป้องกันการเขียนกับLoadOptions.Password. คุณสมบัตินี้รับรหัสผ่านเปิดสำหรับเนื้อหาที่เข้ารหัส หากงานนำเสนอมีทั้งสองประเภทของการป้องกัน ให้ใช้รหัสผ่านเปิดเพื่อโหลดและจัดการรหัสผ่านป้องกันการเขียนแยกต่างหาก

ลบการป้องกันการเขียนจากงานนำเสนอ

ใช้IProtectionManager.RemoveWriteProtectionเพลิกข้อจำกัดการแก้ไข แล้วบันทึกงานนำเสนอ

using Aspose.Slides;
using Aspose.Slides.Export;

using var presentation = new Presentation("write-protected-pres.pptx");

presentation.ProtectionManager.RemoveWriteProtection();
presentation.Save("write-protection-removed.pptx", SaveFormat.Pptx);

ตรวจสอบว่างานนำเสนอถูกป้องกันการเขียนหรือไม่

เพื่อสำรวจไฟล์โดยไม่ต้องสร้างอินสแตนซ์Presentationแบบสมบูรณ์ ให้เรียกIPresentationFactory.GetPresentationInfoและตรวจสอบIPresentationInfo.IsWriteProtected. คุณสมบัตินี้ใช้NullableBoolและคืนค่าNullableBool.Trueเมื่อพบการป้องกันการเขียน

using System;
using Aspose.Slides;

var presentationInfo = PresentationFactory.Instance.GetPresentationInfo("write-protected-pres.pptx");

if (presentationInfo.IsWriteProtected == NullableBool.True)
{
    Console.WriteLine("The presentation is write protected.");
}
else
{
    Console.WriteLine("Write protection was not detected.");
}

การ overload แบบสตรีมของIPresentationFactory.GetPresentationInfoให้ข้อมูลเดียวกันสำหรับงานนำเสนอที่ส่งเป็นสตรีม

ตรวจสอบรหัสผ่านป้องกันการเขียน

ใช้IPresentationInfo.CheckWriteProtectionเพื่อตรวจสอบรหัสผ่านการแก้ไขโดยไม่ต้องโหลดงานนำเสนอเต็ม ตรวจสอบIPresentationInfo.IsWriteProtectedก่อนเพื่อให้แอปพลิเคชันขอหรือยืนยันรหัสผ่านเฉพาะเมื่อมีการป้องกันการเขียน

using System;
using Aspose.Slides;

var presentationInfo = PresentationFactory.Instance.GetPresentationInfo("write-protected-pres.pptx");

if (presentationInfo.IsWriteProtected != NullableBool.True)
{
    Console.WriteLine("The presentation is not write protected.");
}
else if (presentationInfo.CheckWriteProtection("modify_password"))
{
    Console.WriteLine("The write-protection password is correct.");
}
else
{
    Console.WriteLine("The write-protection password is incorrect.");
}

IPresentationInfo.CheckWriteProtectionตรวจสอบเฉพาะรหัสผ่านป้องกันการเขียน ไม่ตรวจสอบรหัสผ่านเปิดหรือกำหนดว่าข้อมูลที่เข้ารหัสสามารถโหลดได้หรือไม่ ในทางกลับกันIPresentationInfo.CheckPasswordตรวจสอบเฉพาะรหัสผ่านเปิด หากงานนำเสนอเต็มได้ถูกโหลดแล้วIProtectionManager.CheckWriteProtectionให้การตรวจสอบการป้องกันการเขียนที่เทียบเท่าผ่านผู้จัดการการป้องกัน

ในแอปพลิเคชันผลิตภัณฑ์จริง อย่าเก็บล็อกรหัสผ่านหรือใส่ในข้อความวินิจฉัย หลีกเลี่ยงการตรวจสอบซ้ำโดยไม่จำเป็น และเก็บรหัสผ่านในหน่วยความจำเพียงระยะเวลาที่จำเป็นเท่านั้น

คำถามที่พบบ่อย

การป้องกันการเขียนทำให้งานนำเสนอถูกเข้ารหัสหรือไม่?

ไม่. มันจำกัดการแก้ไขแต่ทำให้เนื้อหาของงานนำเสนอยังคงสามารถโหลดและดูได้

รหัสผ่านป้องกันการเขียนจำเป็นต้องใช้เพื่อเปิดงานนำเสนอหรือไม่?

ไม่. จำเป็นต้องใช้รหัสผ่านเปิดเท่านั้นเพื่อโหลดเนื้อหาที่เข้ารหัสของงานนำเสนอ

งานนำเสนอสามารถมีทั้งรหัสผ่านเปิดและรหัสผ่านป้องกันการเขียนได้หรือไม่?

ได้. ให้ใส่รหัสผ่านเปิดผ่านตัวเลือกการโหลดเพื่อเปิดงานนำเสนอที่เข้ารหัส และตรวจสอบรหัสผ่านป้องกันการเขียนแยกต่างหากเมื่อจำเป็นต้องมีสิทธิ์แก้ไข