Following code is an example on how to add protection to Microsoft Word document using C# without needing to have Microsoft Word installed.
Following code is an example on how to add protection to Microsoft Word document using C# without needing to have Microsoft Word installed.
Following prerequisites are required to create Microsoft Word document programmatically:
DocX package from Codeplex or straight from GitHub sources
Visual Studio 2013 / Visual Studio 2015 (Free Community Edition will do)
Basic understanding on how to code in C# (C Sharp)
Basic tutorial on how to start coding with DocX package can be found on our blog post DocX – A short tutorial for beginners HelloWorld()
Following code provides basic example usage
static void HelloWorldProtectedDocument() { Console.WriteLine("\tHelloWorldPasswordProtected()"); // Create a new document. using (DocX document = DocX.Create(@"docs\HelloWorldPasswordProtected.docx")) { // Insert a Paragraph into this document. Paragraph p = document.InsertParagraph(); // Append some text and add formatting. p.Append("Hello World!^011Hello World!") .Font(new FontFamily("Times New Roman")) .FontSize(32) .Color(Color.Blue) .Bold(); // Save this document to disk with different options // Protected with password for Read Only EditRestrictions erReadOnly = EditRestrictions.readOnly; document.AddProtection(erReadOnly, "SomePassword"); document.SaveAs(@"docs\\HelloWorldPasswordProtectedReadOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldPasswordProtectedReadOnly.docx\n"); // Protected with password for Comments EditRestrictions erComments = EditRestrictions.comments; document.AddProtection(erComments, "SomePassword"); document.SaveAs(@"docs\\HelloWorldPasswordProtectedCommentsOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldPasswordProtectedCommentsOnly.docx\n"); // Protected with password for Forms EditRestrictions erForms = EditRestrictions.forms; document.AddProtection(erForms, "SomePassword"); document.SaveAs(@"docs\\HelloWorldPasswordProtectedFormsOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldPasswordProtectedFormsOnly.docx\n"); // Protected with password for Tracked Changes EditRestrictions erTrackedChanges = EditRestrictions.trackedChanges; document.AddProtection(erTrackedChanges, "SomePassword"); document.SaveAs(@"docs\\HelloWorldPasswordProtectedTrackedChangesOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldPasswordProtectedTrackedChangesOnly.docx\n"); // But it's also possible to add restrictions without protecting it with password. // Protected with password for Read Only document.AddProtection(erReadOnly); document.SaveAs(@"docs\\HelloWorldWithoutPasswordReadOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldWithoutPasswordReadOnly.docx\n"); // Protected with password for Comments document.AddProtection(erComments); document.SaveAs(@"docs\\HelloWorldWithoutPasswordCommentsOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldWithoutPasswordCommentsOnly.docx\n"); // Protected with password for Forms document.AddProtection(erForms); document.SaveAs(@"docs\\HelloWorldWithoutPasswordFormsOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldWithoutPasswordFormsOnly.docx\n"); // Protected with password for Tracked Changes document.AddProtection(erTrackedChanges); document.SaveAs(@"docs\\HelloWorldWithoutPasswordTrackedChangesOnly.docx"); Console.WriteLine("\tCreated: docs\\HelloWorldWithoutPasswordTrackedChangesOnly.docx\n"); } }
This post was last modified on 20 marca, 2016 12:24
Security Identifier (SID) History is a useful mechanism in Active Directory (AD) migrations. It allows…
Today, I made the decision to upgrade my test environment and update the version of…
Have you ever looked at your Active Directory and wondered, "Why do I still have…
Active Directory replication is a critical process that ensures the consistent and up-to-date state of…
Hey there! Today, I wanted to introduce you to one of the small but excellent…
Active Directory (AD) is crucial in managing identities and resources within an organization. Ensuring its…