Products Technologies Demo Docs Blog Support Company

Exporting Password Protected PDF Documents

With TX Text Control ships a sample application called TX Text Control Words. Amongst other things, TX Text Control Words illustrates how to export password protected PDF documents. In the following paragraphs, I would like to explain in detail how password protected PDF documents are exported. I receive - on an almost daily basis - questions about this topic. Using the TXTextControl.SaveSettings class, you can declare two passwords: the UserPassword to open the document and the…

Exporting Password Protected PDF Documents

With TX Text Control ships a sample application called TX Text Control Words. Amongst other things, TX Text Control Words illustrates how to export password protected PDF documents.

In the following paragraphs, I would like to explain in detail how password protected PDF documents are exported. I receive - on an almost daily basis - questions about this topic.

Using the TXTextControl.SaveSettings class, you can declare two passwords: the UserPassword to open the document and the MasterPassword for the document's access permissions. These permissions can be set using the SaveSettings.DocumentAccessPersmissions property.

Possible values are:

AllowAll
After the document has been opened no further document access is restricted.

AllowAuthoring
Allows comments to be added and interactive form fields (including signature fields) to be filled in.

AllowAuthoringFields
Allows existing interactive form fields (including signature fields) to be filled in.

AllowContentAccessibility
Allows content access for the visually impaired only.

AllowDocumentAssembly
Allows the document to be to assembled (insert, rotate or delete pages and create bookmarks or thumbnails).

AllowExtractContents
Allows text and/or graphics to be extraced.

AllowGeneralEditing
Allows the document contents to be modified.

AllowHighLevelPrinting
Allows the document to be printed.

AllowLowLevelPrinting
Allows the document to be printed (low-level).

The UserPassword must be entered, if the PDF is opened by the user. The MasterPassword must be entered, if the user is trying to change the permissions. The sample below shows how to export a PDF which allows low level printing. If the user would like to print the document in a higher level, the permissions must be changed and the password must be entered.

Dim saveSettings As New TXTextControl.SaveSettings

saveSettings.MasterPassword = "Master"
saveSettings.UserPassword = "User"

saveSettings.DocumentAccessPermissions =
    TXTextControl.DocumentAccessPermissions.AllowLowLevelPrinting

TextControl1.Save(TXTextControl.StreamType.AdobePDF, saveSettings)

Stay in the loop!

Subscribe to the newsletter to receive the latest updates.

Related Posts

PDFSample

Source Code to Send PDF As an E-mail Attachment

Sample code to illustrate how easy it is to sent the contents of a TX Text Control via e-mail as a PDF attachment. Download the source code.


ASP.NETAIASP.NET Core

Automating PDF/UA Accessibility with AI: Describing DOCX Documents Using TX…

This article shows how to use TX Text Control together with the OpenAI API to automatically add descriptive texts (alt text and labels) to images, links, and tables in a DOCX. The resulting…


ASP.NETASP.NET CoreJava

Converting Office Open XML (DOCX) to PDF in Java

Learn how to convert Office Open XML (DOCX) documents to PDF in Java using the powerful ServerTextControl library. This guide provides step-by-step instructions and code examples to help you…


ASP.NETComparisonDocument Processing SDK

Document SDK Comparison: Complete Document Processing vs. PDF SDK

This blog outlines why complete document processing SDKs offer greater value for your investment compared to PDF SDKs. It also specifies the business factors and technical advantages that matter…


ASP.NETASP.NET CoreDS Server

Extending DS Server with Custom Digital Signature APIs

In this article, we will explore how to extend the functionality of DS Server by integrating custom digital signature APIs. We will cover the necessary steps to create a plugin that allows DS…