selectpdf c# : Creating bookmarks in pdf from word control application system azure html .net console dmstudioguide11-part1551

Using the LDAP Security Model
87
But if you remove some groups from JOE and only leave him in USERS, then he 
would not be able to enter the workspace any longer because USERS is not a known 
user within Studio’s USERINFO database.
Setting up LDAP
To enable LDAP support, set the LDAP_Enabled option to Yes:
< Environment >
LDAP_Enabled = Yes
After you set the LDAP_Enabled option, set up the following options in the LDAP 
control group:
Option
Description
LDAP_Enabled
Enter Yes to tell Studio to ignore its normal logon procedures and verify users via LDAP.
Option
Description
LDAP.HOST
(Optional) The host name or IP address of the LDAP server. The default is 
localhost.
LDAP.PORT
(Optional) The port in which the LDAP server is listening on. The default is 
389 when SSL is not used, 636 otherwise (see the LDAP.USE.SSL 
option).
LDAP.URL
(Optional) The URL the LDAP server is listening on. If a value is specified 
for this option, it overrides the values specified for LDAP.HOST and 
LDAP.PORT.
LDAP.UID
(Optional) The user ID for logging onto the LDAP server. If this value is 
provided and LDAP.USER is not provided, the user ID is derived from this 
value and the value provided for LDAP.DOMAIN option. Here is an 
example:
Administrator@Oracle.com
LDAP.USER
(optional) An explicit value to use for the user ID for the purpose of login 
into the LDAP server. Define this option to override the behavior used to 
determine the user ID when LDAP.UID and LDAP.DOMAIN are defined — 
see LDAP.DOMAIN.
LDAP.PWD
(Optional) The password used to login into the LDAP server.
LDAP.AUTHENTICATION.
MODE
(Optional) The method of authentication used to login into the LDAP 
server. You can choose from these options: 
• (simple) which provides clear-text password authentication 
• (none) which provides anonymous authentication.
The default is (simple).
LDAP.TIMEOUT
(Optional) The amount of time (in milliseconds) after which a connection 
attempt or query should expire.
The default is 10000 (10 seconds).
LDAP.SEARCH.BASE
(Optional) The base of the search in the DIT (Directory Information Tree). 
This is the starting point (node location) of a search in the DIT. If you omit 
this option, the system looks for the LDAP.DOMAIN option and builds a 
search base from it.
Creating bookmarks in pdf from word - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmark page in pdf; create pdf with bookmarks from word
Creating bookmarks in pdf from word - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmarks in pdf; display bookmarks in pdf
Chapter 2 – Working with Settings, Users, and Security
88
LDAP.DOMAIN
(Optional) This is the domain of the LDAP server. It is used to build the 
user ID for login into the LDAP server by appending the at symbol (@) plus 
the value of this option to the LDAP.UID value.
The value of LDAP.DOMAIN is further parsed into domain components 
which are used as the default value for LDAP.SEARCH.BASE, if not 
already defined.
LDAP.OBJECTS
(Optional) A semicolon-delimited filter list of object classes to search in the 
LDAP server. If defined, it overrides the default filter list of object classes 
to search: group and groupOfNames.
LDAP.OBJECTS.SEARCH.
STRING
(Optional) An explicit string value used as the filter of object classes to 
search. If defined, it overrides any value provided for LDAP.OBJECTS 
option.
The value provided for this option must be specified in the appropriate 
LDAP protocol filter format. Also, if the search filter contains a question 
mark (?), the system replaces it with the user ID passed in as an argument 
to this function.
Here are some examples:
(|(objectClass=group)(objectClass=groupOfNam
es)).
Cn=?
LDAP.OBJECT.
ATTRIBUTES
(Optional) The name of the attributes to retrieve for each object class 
which contain a value used to determine a match for USERID specified. 
The default values are member and cn (cn is always included).
LDAP.MATCH.
ATTRIBUTES
(Optional) The name of one or more attributes contained within the value 
returned by a search for the LDAP.OBJECT.ATTRIBUTES option. This is 
the name of an attribute whose value is used to compare as opposed to 
the USERID specified to determine a match.
For example, if LDAP.OBJECTS contains a value of 
groupOfUniqueNames and LDAP.OBJECT.ATTRIBUTES contains a 
value of uniqueMember and the value returned for the uniqueMember 
attribute of groupOfUniqueNames object class is:
uid=admin,ou=people, dc=mycompany,dc=com
and you want to match the USERID value with the value for uid, you would 
supply a value of uid for this option.
The default is cn.
LDAP.SEARCH.
SCOPE
(Optional) The scope of the search. You can choose from:
• (base) - search only the named context
• (one) - search one level below the named context but not the named 
context
• (sub) - search the entire subtree, including the named context.
The default is (sub).
LDAP.DEREF.LINK
(Optional) Enter Yes or No to indicate whether or not to remove reference 
links to other nodes during a search. The default is No.
LDAP.VERSION
(Optional) An integer value that indicates the LDAP protocol version to 
use. You can choose from:
• 2 - Version 2
• 3 - Version 3
The default is three (3).
Option
Description
C# Create PDF Library SDK to convert PDF from other file formats
Gratis control for creating PDF from multiple image formats such as tiff, jpg, png Create and save editable PDF with a blank page, bookmarks, links, signatures
create bookmark pdf; pdf export bookmarks
VB.NET Create PDF Library SDK to convert PDF from other file
Gratis control for creating PDF from multiple image formats such as tiff, jpg, png Create and save editable PDF with a blank page, bookmarks, links, signatures
bookmark pdf reader; acrobat split pdf bookmark
Using the LDAP Security Model
89
LDAP.SEARCH.LEVEL
(Optional) An integer value that indicates the search level. You can choose 
from:
• 1 - User type objects
• 2 - Group type objects
• 3 - Any objects
The default is one (1), user type objects.
LDAP.DN.IDENTIFIER
(Optional) The value for this option is used these ways:
• Where LDAP.SEARCH.LEVEL is equal to 1 (USER) and there is no 
LDAP.OBJECTS.SEARCH.STRING value specified, the system 
generates a default search filter of the format identifier=UserID, where 
identifier is the value of this option and UserID is the user ID passed in 
to this function. 
• Where LDAP.SEARCH.LEVEL is equal to 2 (GROUPS) and there is no 
LDAP.OBJECTS.SEARCH.STRING value specified, the system 
generates a default search filter from LDAP.OBJECTS and 
LDAP.OBJECT.ATTRIBUTES, where each attribute value in the search 
filter is an asterisk (*), which tells the system to match any value for the 
attributes specified. If the LDAP.RDNDS option is also provided, the 
asterisk (*) is replaced with identifer=UserID, followed by a comma and 
the LDAP.RDNS value to fine tune the search, where identifier is the 
value for this option and UserID is the user ID passed in to this function. 
Here is an example of a default search filter: 
(&((objectClass=groupOfNames)(member=*)))
If a value of
CN=Users,DC=PDDC,DC=DOCUCORP,DC=COM
is specified for LDAP.RDNS and this option contains a value of cn, the 
search filter generated would look like this: 
(&((objectClass=groupOfNames)(member=CN=Admi
nistrator,
CN=Users,DC=PDDC,DC=DOCUCORP,DC=COM))).
The default is cn.
LDAP.RDNS
(Optional) This option is only used when LDAP.SEARCH.LEVEL is equal 
to 2 (GROUPS) and when LDAP.OBJECTS.SEARCH.STRING is not 
specified. In this situation, the system builds a default search filter from 
LDAP.OBJECTS and LDAP.OBJECT.ATTRIBUTES. 
Attribute values specified in the default search filter contain an asterisk (*), 
which tells the system to match any value for the attributes specified. 
When you specify this option, the system uses the value along with the 
value for LDAP.DN.IDENTIFIER to replace the asterisk and fine tune the 
search, thereby speeding the process. Here is an example of a default 
search filter:
(&((objectClass=groupOfNames)(member=*)))
In a case were a value of
CN=Users,DC=PDDC,DC=DOCUCORP,DC=COM
is specified for this option and LDAP.DN.IDENTIFIER contains a value of 
CN, the search filter generated would look like this:
(&((objectClass=groupOfNames)(member=CN=Admi
nistrator,
CN=Users,DC=PDDC,DC=DOCUCORP,DC=COM)))
Option
Description
XDoc.Word for .NET, Advanced .NET Word Processing Features
Viewing, editing, converting, processing, creating, annotating and zooming & rotation; Outlines, bookmarks, & thumbnail Create Word from PDF; Create Word from
auto bookmark pdf; add bookmarks to pdf
VB.NET PDF: Basic SDK Concept of XDoc.PDF
features can be integrated into your VB.NET project, such as annotation creating, deleting, modifying This class describes bookmarks in a PDF document.
export pdf bookmarks to text file; how to bookmark a pdf document
Chapter 2 – Working with Settings, Users, and Security
90
You can specify the LDAP options in a properties file named openldap.msg or in the 
LDAP control group in the INI file for the configuration being used. If you have 
defined these options in both, the options defined in the LDAP control group 
override the ones defined in the properties file.
Here is an example of a properties file:
ldap.host=10.1.10.101
ldap.port=389
ldap.timeout=10000
ldap.uid=jroberts
ldap.pwd=ElCamino
ldap.authentication.mode=simple
ldap.domain=PDDC.pd.com
ldap.objects.search.string=cn=?
ldap.object.attributes=memberOf
ldap.match.attributes=cn*
ldap.debug=yes
ldap.dn.identifier=cn
In this example, the ldap.objects.search.string is used to query an object in Active 
directory that corresponds to the user ID supplied by Documaker Studio. The 
question mark (?) is replaced at run time by the user ID supplied. Once the object is 
found, all values for the memberOf attribute are retrieved and returned as a list of the 
groups to which the user belongs.
Keep in mind:
• The ldap.uid or ldap.user and ldap.pwd options should correspond to an account 
that has permission to connect to the Active Directory and to query the objects 
in the Active Directory Tree. This account could be the same as that of the user 
ID that will be queried for group membership. If this is the case, that account 
must have access rights to the Active Directory and permission to query its own 
object. 
• If the same Studio workstation is used by more than one person, the ldap.uid or 
ldap.user account should be one that has permission to query all objects 
corresponding to all users who will use Studio on that workstation. This is also 
true for other LDAP servers besides Active Directory, which do not support the 
memberOf attribute. In this situation, use the ldap.user option instead of ldap.uid 
and the account used must have permission to query all the objects that define 
group information (see the OpenLDAP example).
When using LDAP, Studio does not keep records of individual users in the user 
database. Instead, you must store specific group identities in the user database. 
Studio queries LDAP for a list of groups the user belongs too. It then looks up each 
group name in the user database. 
LDAP.USE.SSL
(Optional) Enter Yes to enable encrypted communication through an SSL 
channel.
For SSL connections to work, the LDAP server must be configured for SSL 
with a certificate from a trusted certification authority.
This configuration is vendor specific — please consult your vendor 
documentation. 
LDAP.DEBUG
(Optional) Enter Yes to log debugging information to a trace file. 
Option
Description
How to C#: Basic SDK Concept of XDoc.PDF for .NET
annotation features can be integrated into your C# project, such as annotation creating, deleting, modifying This class describes bookmarks in a PDF document
creating bookmarks in a pdf document; add bookmark to pdf reader
How to C#: Basic SDK Concept of XDoc.Word
Conversely, conversion from PDF to Word (.docx) is C# project, such as annotation creating, deleting, modifying This class describes bookmarks in a Word document
copy pdf bookmarks to another pdf; create bookmarks pdf files
Using the LDAP Security Model
91
If the group name returned does not exist in the database, Studio does nothing for the 
user. If the group name does exist in the database, then the security rights from that 
group (user) are merged into the current user. If a user belongs to multiple groups 
defined in the database, the user ends up with combined security options.
On the other hand, if the user does not have any groups in common with the user 
database, the user is not allowed to log onto the system. 
Unlike the normal (non-LDAP) user situation, Studio does not support a guest or 
default log on when LDAP is enabled.
Here is an example of how to search a user object in an Active Directory server 
schema that supports the memberOf attribute:
Here is the Distinguished Name of the user Administrator in an Active Directory 
Schema:
CN=Administrator,CN=Users,DC=PDDC,DC=pd,DC=com
Here are the INI options:
< LDAP >
ldap.host
= localhost
ldap.port
= 389
ldap.timeout
= 10000
ldap.uid
= userID@PDDC.pd.com
ldap.pwd
= 123456xxx
ldap.objects.search.string = cn=?
ldap.authentication.mode
= simple
ldap.domain
= PDDC.pd.com
ldap.dn.identifier
= cn
ldap.debug
= Yes
In this example a search is conducted for a user named Administrator and all the 
memberOf attribute values are retrieved for it, composing a list of the groups 
Administrator belongs to.
Here is an example of how to search group objects in an OpenLDAP server schema 
that does not support the memberOf attribute:
Here is the schema for the OpenLDAP server:
dn: dc=mycompany,dc=com
objectClass: top
objectClass: dcObject
objectClass: domain
dc: mycompany
dn: ou=roles,dc=mycompany,dc=com
objectClass: top
objectClass: organizationalUnit
ou: roles
dn: ou=people,dc=mycompany,dc=com
objectClass: top
objectClass: organizationalUnit
ou: people
dn: cn=Test Users,ou=roles,dc=mycompany,dc=com
objectClass: groupOfUniqueNames
cn: Test Users
uniqueMember: uid=sspecial,ou=people,dc=mycompany,dc=com
uniqueMember: uid=jbloggs,ou=people,dc=mycompany,dc=com
dn: cn=Special Users,ou=roles,dc=mycompany,dc=com
How to C#: Basic SDK Concept of XDoc.PowerPoint
Conversely, conversion from PDF to PowerPoint (.PPTX C# project, such as annotation creating, deleting, modifying This class describes bookmarks in a PowerPoint
split pdf by bookmark; adding bookmarks to a pdf
PDF Image Viewer| What is PDF
such as text extraction, hyperlinks, bookmarks and metadata as to develop specifications for creating, viewing, and convert word document without need for PDF.
create bookmarks pdf; create bookmarks in pdf from excel
Chapter 2 – Working with Settings, Users, and Security
92
objectClass: groupOfUniqueNames
cn: Special Users
uniqueMember: uid=sspecial,ou=people,dc=mycompany,dc=com
dn: cn=Admin Users,ou=roles,dc=mycompany,dc=com
objectClass: groupOfUniqueNames
cn: Admin Users
uniqueMember: uid=admin,ou=people,dc=mycompany,dc=com
dn: uid=admin,ou=people,dc=mycompany,dc=com
objectClass: person
objectClass: inetOrgPerson
cn: State App
displayName: App Admin
givenName: App
mail: admin@fake.org
sn: Admin
uid: admin
userPassword: adminpassword
dn: uid=jbloggs,ou=people,dc=mycompany,dc=com
objectClass: person
objectClass: inetOrgPerson
cn: Joe Bloggs
displayName: Joe Bloggs
givenName: Joe
mail: jbloggs@fake.org
sn: Bloggs
uid: jbloggs
userPassword: password
dn: uid=sspecial,ou=people,dc=mycompany,dc=com
objectClass: person
objectClass: inetOrgPerson
cn: Super Special
displayName: Super Special
givenName: Super
mail: sspecial@fake.org
sn: Special
uid: sspecial
userPassword: password
Here are the INI options:
< LDAP >
ldap.host
= localhost
ldap.port
= 389
ldap.timeout
= 5000
ldap.user
= uid=admin,ou=people,dc=mycompany,dc=com
ldap.pwd
= adminpassword
ldap.authentication.mode = simple
ldap.objects
= groupOfUniqueNames
ldap.search.base
= ou=roles,dc=mycompany,dc=com
ldap.object.attributes = uniqueMember
ldap.match.attributes
= uid
ldap.search.scope
= sub
ldap.search.level
= 2
ldap.dereference.link
= Yes
ldap.version
= 3
ldap.debug
= Yes
UserID
= admin
How to C#: Basic SDK Concept of XDoc.Excel
Conversely, conversion from PDF to Excel (.XLSX) is also C# project, such as annotation creating, deleting, modifying This class describes bookmarks in a Excel
convert word to pdf with bookmarks; bookmarks in pdf reader
Using the LDAP Security Model
93
In this example a search is conducted for all objects of type groupOfUniqueNames 
which contain attributes of name uniqueMember. All attribute values returned are 
then filtered matching the uid Distinguished Name part to the user ID supplied in the 
search. For example if the user ID searched was admin, then the list of groups 
returned would be Admin Users.
Using Documanage
If you are using DMILIB and Documanage, you must set up these INI options in the 
DMILIB:LDAP control group. Also make sure Documanage is set up to support 
LDAP authentication.
< DMILIB:LDAP >
Server
= 10.1.10.102
Domain
= bulldog1jr
Protocol
= ncacn_ip_tcp
Endpoint
= 4000
UserID
= demo
Password
= demo
Debug
= Yes
Here are descriptions of these options:
If you set the following option to Yes, Studio tries to retrieve group information from 
Documanage. If Studio cannot retrieve this information from Documanage, it tries 
to retrieve the group information directly from LDAP.
< Environment >
LDAP_Enabled =
Option
Description
Server
The IP address or the DNS name of the Documanage server.
Domain
The domain of the Documanage server.
Protocol
The RPC protocol. The default is ncacn_ip_tcp.
Endpoint
The RPC end point. The default is 4000.
UserID
The user ID needed to create a profile and session in Documanage.
Password
The password needed to create a profile and session in Documanage.
Debug
Enter Yes to enable placing debug information into the trace log in the current working 
directory. The default is No.
Note
Use the LDAP.HOST and either the LDAP.UID or LDAP.USER options in the LDAP 
control group as the default fall back connection information if DMILIB is not present. 
The LDAP.UID option is normally used with LDAP.DOMAIN to talk to the active 
directory. The LDAP.USER option is normally used to talk to other LDAP servers
Chapter 2 – Working with Settings, Users, and Security
94
95
Chapter 3
Working with Application Definition Files
Choose Manage, Application, Definition to maintain your lines of business. For 
example, suppose you are creating forms for an insurance company which 
underwrites automobile and homeowner's insurance. Each different type of 
insurance could be considered a separate line of business.
This chapter discusses the following topics:
• Overview on page 96
• Defining an Application Definition on page 97
• Defining Form Lists on page 99
• Defining Recipients on page 102
• Defining Categories on page 104
• Defining Transaction Types on page 106
• Using Regional Date Processing on page 108
• Generating an Application Definition Report on page 117
• Example: Add the BDF information for the Medical History form on page 120
Chapter 3 – Working with Application Definition Files
96
O
VERVIEW
The application definition (BDF) file defines the key combinations used to locate a 
specific form set. These key combinations are comprised of a Key1 and Key2 
(sometimes referred to as Unit1 and Unit2; or Group1 and Group2). In the insurance 
world, these keys are typically called: company and line of business (LOB).
Other information stored in the BDF file includes the following:
• List of recipients
• Form List Options
• Form categories (if used)
• Transaction codes (if used)
• Primary extract dictionary (XDD) file (if used)
• Default font cross-reference (FXR) file
• Default style (STY) file
Note
You should always let Studio create and maintain BDF files. Do not manually edit this 
file.
Documents you may be interested
Documents you may be interested