memorystream to pdf c# : Bookmark pdf in preview Library application class asp.net html wpf ajax dmstudioguide36-part1578

Overview
337
C
ONCEPTS
In addition to the terminology you should be familiar with, there are several 
concepts:
• Understanding Library File Structure on page 337
• Processing with Effective Dates on page 339
• Retrieving Resources with Version and Revision Numbers on page 340
• Stringently Checking Resources on page 341
• Understanding Run Dates on page 343
• Refreshing the Display on page 344
To begin working in the library, please to go Working with Libraries on page 372.
Understanding Library File Structure
Documaker library model is a Structured Query Language (SQL) index with an 
Open Database Connectivity (ODBC) file repository. The library has these 
components:
• Index table
• Data table
• Catalog table
• Library Log table
The index table includes these fields. The maximum length is indicated in 
parentheses:
Note
You are only concerned with the library type when you are creating a new workspace or 
using Manage, Settings, Libraries to define a new library.
Field
Description
FileType
(3)
This field can contains a value that defines the type of resource this row refers to, such as FAP, 
LOG, BDF, GRP, or DAL.
FileSTyp
(3)
This field indicates the sub type of the resource this row refers to. This field is not currently used 
and is usually set to the value of the FileType field.
FileName
(100)
This field indicates the name of the resource, such as Q1SNAM, Q1ADDR, or IMAGE1. The 
name can consist of up to 100 characters.
Resource
(25)
Reserved for future use.
Descript
(100)
This field contains a description of the resource or the last change made to it. You can enter 
up to 100 characters.
Bookmark pdf in preview - 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
how to bookmark a pdf file; add bookmarks pdf
Bookmark pdf in preview - 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
auto bookmark pdf; excel hyperlink to pdf bookmark
Chapter 9 – Managing Resources
338
Effective
(10)
This field contains the date on which you want this resource to become available for 
processing. This date is stored in D4 format (YYYYMMDD) in the library index.
Depending on your locale setting (Choose Settings, then go to the Locale option in the 
Language control group), you may see the date displayed in other formats like MMDDYYYY or 
DDMMYYYY.
ModifyTm
(10)
This field indicates the date and time the resource was last checked in or modified. This date 
appears in the appropriate format for your locale setting, along with the time.
FileIndx
(8)
This field contains a number that, for xBase implementations, connects this index record to a 
compressed file in the data portion of the library.
RecStat
(3)
This field indicates whether this resource is locked or not. If locked, the field contains LOC, 
otherwise it is blank.
Version
(5)
This field contains the version number of this resource. The version number starts at 00001 
and, as the resource is checked out and checked in, is incremented if you have checked the 
Increment Version field.
Revision
(5)
This field contains the revision number of this resource. The revision number starts at 00001 
and, as the resource is checked out and checked in, is incremented. If you have checked the 
Increment Version field, the version number is incremented instead of the revision number and 
the revision number is reset to 00001.
When a resource is expired, the revision field is set to 
EXP
.
UserID
(64)
This field shows you the user ID of the user who last modified the resource, or who has the 
resource checked out. This ID can consist of up to 64 characters.
UsrLevl
(2)
Reserved for future use.
Passwd
(64)
Reserved for future use.
Unique_ID
(26)
This field contains a unique identifier used for internal purposes.
ArcKey
(18)
This key is used with DBMS implementations of the library to connect this index record to a row 
in the data table of the library. When using a DBMS, this field is used instead of the FILEINDX 
field, which is used in xBase implementations of the library.
LibName
(129)
This is the name of the library. This name can consist of up to 129 characters.
AppData
(10)
This field can contains up to 10 characters of additional, customer-specific application data.
Mode
(25)
This field indicates the mode of the resource. You define the modes using the Manage, 
Settings options. For instance, you could set up modes to denote milestones in the 
development process such as Development, Testing, and Production. You can enter up to 25 
characters. For more information, see Defining Mode, Status, Class, and Project Options on 
page 402.
Status
(25)
This field indicates the status of the resource. You define the status codes using the Manage, 
Settings options. For instance, you could have codes like Pass or Fail. You can enter up to 25 
characters. For more information, see Defining Mode, Status, Class, and Project Options on 
page 402.
Field
Description
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Also a preview component enables compressing and
how to create bookmark in pdf automatically; bookmark pdf documents
How to C#: Preview Document Content Using XDoc.Word
How to C#: Preview Document Content Using XDoc.Word. Get Preview From File. You may get document preview image from an existing Word file in C#.net.
convert word pdf bookmarks; add bookmark to pdf reader
Overview
339
While the index portion of the library contains attributes for each version/revision 
combination of a resource that is stored in the library, the data portion of the library 
contains the resources themselves.
The structure of the data portion of the library depends on how the library is defined 
(xBase, DBMS, Documanage), but in general, the data portion contains each of the 
version/revision combinations of the resources listed in the library index.
Processing with Effective Dates
Because document requirements change over time, your forms will evolve. Studio 
lets you assign effective dates to resources so you can make changes ahead of time 
while making sure those changes are put in effect only when appropriate. You can 
change the content of a form as necessary and control the date at which the new form 
takes effect. Using effective dates also lets you preserve prior versions of a form so 
when you need to retrieve a version of a form that was effective, for example, a year 
ago, you can.
In the Documaker system, a form can be composed of one or more sections. A 
section is also called a FAP file because fap is the extension the Studio applies. So, 
if a form needs to be changed, then one or more of the sections (FAP files) that 
comprise the form need to be changed.
For example, you have a form called DEC PAGE. This form consists of these 
sections...
• Q1SNAM
• Q1MDC1
• Q1MDC2
• Q1MDC3
The Q1SNAM section contains the company’s corporate address. The company’s 
corporate address is going to change next month. and you want to go ahead and 
change the address to reflect the change.
You can check out the Q1SNAM section (FAP), make the address change, then 
check in the Q1SNAM section and set the effective date for this new version of 
Q1SNAM to the first of next month.
If the DEC PAGE form is assembled at any time this month, the version of Q1SNAM 
that is effective this month (the older one) is used. If the DEC PAGE form is 
assembled next month, the version of Q1SNAM that is effective next month (the 
newer one) is used.
Class
(25)
This field indicates the class of the resource. You define classes using the Manage, Settings 
options. You can use classes to group resources by product lines or by geographical regions, 
such as GA, TX, or MD. You can enter up to 25 characters. For more information, see Defining 
Mode, Status, Class, and Project Options on page 402.
Project
(25)
This field indicates the project code that last modified this resource. You define project codes 
using the Manage, Settings options. You can enter up to 25 characters. For more information, 
see Defining Mode, Status, Class, and Project Options on page 402.
Field
Description
How to C#: Preview Document Content Using XDoc.PowerPoint
How to C#: Preview Document Content Using XDoc.PowerPoint. Get Preview From File. You may get document preview image from an existing PowerPoint file in C#.net.
pdf bookmark; create pdf bookmark
C# WinForms Viewer: Load, View, Convert, Annotate and Edit PDF
It makes users easy to view PDF document and edit PDF document in preview. PDF Annotation. • Add sticky notes to PDF document in preview.
export pdf bookmarks to text file; create pdf bookmarks
Chapter 9 – Managing Resources
340
This example uses a FAP file to demonstrate how the effective date of a resource can 
be used to cause a different version of that resource to be used at the appropriate time. 
You can also manage graphics (LOG files) and DAL scripts in the same way. 
Retrieving Resources with Version and Revision Numbers
When a resource is added to the library it is assigned a version number and a revision 
number. A resource added to the library for the first time is given a version number 
of 00001 and a revision number of 00001. The version number and revision number 
change as the resource is checked out, changed, and checked back in.
Generally, if you check out a resource to make a small change, the revision number 
of the resource is incremented by one when you check in the resource. If you make 
a major change to the resource, or if this change requires you also change the 
effective date, the version number is incremented by one. The version number is 
considered a major number and the revision number is considered a minor number. 
Typically, version/revision numbers are shown in this format:
version.revision
and leading zeros are omitted. So version 00001, revision 00003 is referred to as 1.3.
When you request a resource, the request generally supplies a resource type (FAP, 
LOG, or DAL), a name (such as Q1SNAM) and a run date (such as 20071225, which 
is December 25, 2007). Studio searches the library index for items that match that 
name and type, then chooses the one which has an effective date closest to, but not 
exceeding, the run date.
If Studio finds there are two or more versions of the same resource with the same 
effective date, it chooses the one with the higher version/revision number. For 
instance, the version/revision 2.1 is considered to be higher than the version/revision 
1.2, so between these two resources, Studio would choose 2.1.
Note
Keep in mind if you are triggering forms based on effective date processing:
If possible, avoid creating forms with effective dates that require updated printer 
resource files, such as fonts, form overlays, bitmap files, and so on.
Otherwise, make sure you have the corresponding set of printer resource files for the 
forms based on the effective date to be processed.
Note
Documaker (versions 10.2 and higher) enforces the rule that all revisions of a particular 
version of a resource must have the same effective date. Prior to version 10.2, 
Documaker allowed revisions of a particular version of a resource to have different 
effective dates.
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Split PDF document by PDF bookmark and outlines in VB.NET. Independent component for splitting PDF document in preview without using external PDF control.
how to bookmark a pdf document; create pdf bookmarks online
VB.NET PDF insert image library: insert images into PDF in vb.net
NET. An independent .NET framework component supports inserting image to PDF in preview without adobe PDF control installed. Access
convert word to pdf with bookmarks; pdf create bookmarks
Overview
341
Stringently Checking Resources
In Documaker 10.3
In Documaker 10.3 and higher, the StringentChecking option defaults to Yes. 
Stringent checking means that if Studio finds versions of a resource in the library but 
none are effective yet — their effective date is greater than the run date being used— 
it will not return any of those resources.
Although you should leave the StringentChecking option set to Yes, you can, 
however, override it, as shown here:
< LibraryManager >
StringentChecking =  No
When StringentChecking is set to No, Studio tries to return some version of the 
resource, even if that resource is not yet effective. If Studio finds versions of a 
resource in the library but none are effective yet, Studio returns the resource with the 
oldest effective date.
If the StringentChecking option is set to No and Studio does not find any versions of 
the resource in the library, it tries to find the resource on disk, in the location 
designated for that resource type in the INI file. If it finds the resource on disk, it 
returns that resource.
In Documaker 10.2 and earlier
In Documaker 10.2 and earlier, the StringentChecking option defaults to No. If the 
system finds versions of a resource in the library but none of those versions are 
effective yet, it returns the oldest version/revision of that resource. 
If the system does not find any versions of the resource in the library, it tries to find 
the resource on disk, in the location designated for that resource type in the INI file. 
If it finds the resource on disk, it returns that resource. 
For DDT files only, if you want the system to issue an error message or to perform 
specialized processing, you can set the StringentChecking option to Yes. In 
Documaker 10.2, stringent checking is only available for DDT resources and only 
affects the GenData program.
You can use these INI options to control the stringent checking of DDT resources:
< DDTResource >
ErrorOnMissingFile    = Yes
RemoveImageMissingDDT = No
StringentChecking     = No
WarnOnMissingFile     = Yes
Option
Description
ErrorOnMissingFile
The system normally generates an error if a DDT file cannot be found for a 
triggered section. Errors are written to a file, named using the ErrFile option 
in the Data control group.
This file is typically called ERRFILE.DAT. Set this option to No to prevent the 
system from generating an error message when it cannot find the DDT file. 
The default is Yes.
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF document by PDF bookmark and outlines. Advanced component for splitting PDF document in preview without any third-party plug-ins installed.
create bookmarks in pdf from excel; how to add bookmark in pdf
C# PDF insert text Library: insert text into PDF content in C#.net
Supports adding text to PDF in preview without adobe reader installed in ASP.NET. Powerful .NET PDF edit control allows modify existing scanned PDF text.
how to bookmark a page in pdf document; export excel to pdf with bookmarks
Chapter 9 – Managing Resources
342
RemoveImageMissingDDT
A DDT file is normally required for any triggered section and not finding a 
section is a fatal error for a transaction. Setting this option to Yes tells the 
system that when it cannot find a DDT file for a triggered section, it should 
remove the section from the form set. 
This can result in the removal of the form as well if all sections are removed. 
An empty form set can result if all of the forms are removed. If this results in 
an empty form set, the system generates an error message. The default is 
No.
StringentChecking
Normally, if the system does not find an effective version of the file, it returns 
the oldest version/revision of the file. 
If, however, you set this option to Yes, only an effective version of the file will 
be returned. If no such file exists, nothing is returned. Stringent checking is 
only applicable when you use the system to control effective date eligibility of 
DDT files. The default is No.
WarnOnMissingFile
Normally, the system generates an error if it cannot find a DDT file for a 
triggered section. You can, however, suppress this error by setting the 
ErrorOnMissingFile option to No. 
When you suppress this type of error, the system assumes you still want a 
warning message but by setting this option to No, even the warning message 
is suppressed. The default is Yes.
Option
Description
VB.NET PDF url edit library: insert, remove PDF links in vb.net
Link access to variety of objects, including website, image, document, bookmark, PDF page number, flash, etc. Edit PDF url in preview without adobe PDF
export pdf bookmarks to excel; creating bookmarks in a pdf document
VB.NET PDF remove image library: remove, delete images from PDF in
pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET Remove PDF image in preview without adobe
how to add bookmarks on pdf; create pdf bookmarks from word
Overview
343
Understanding Run Dates
The idea behind effective date processing is that, within a library, there can be 
multiple versions of a resource, each with a different effective date. When the system 
creates a form set, it is built with the version (and revision) of the resources that were, 
or will be, effective on a given date. In Documaker, this date is called the run date. 
In Documaker Workstation it is called the create date.
When using Studio to manage your resources, you must use run dates for the system 
to construct, archive, and retrieve your form sets correctly. Be sure to:
• Define the RunDate field in your TRNDFDFL.DFD, RCBDFDFL.DFD, and 
APPIDX.DFD Data Format Definition (DFD) files.
• Create the extract file to include the run date for each transaction’s set of records.
• Use the TRN_FIELDS control group to indicate the location of the RunDate and 
other fields in the extract file. The GenTrn program uses this control group.
• Set the RunDate option in the Trigger2Archive control group as shown here to 
make the GenArc program populate the APPIDX file with the RunDate from the 
NEWTRN file:
< Trigger2Archive >
RunDate = RunDate
• Set the RunDate option in the AFEWIP2ArchiveRecord control group to make 
Documaker Workstation (PPS) populate the APPIDX file with the value of the 
creation date in the WIP index:
< AFEWIP2ArchiveRecord >
RunDate = CreateTime,X
If you follow the guidelines above, the system will behave as described here:
• When the GenTrn program runs, the value in the RunDate field for each 
transaction is read from the extract file and copied into the TRNFILE.
• When the GenData program runs, it uses the value in the RunDate field in the 
TRNFILE for each transaction and loads the appropriate resources from the 
library.
• When the GenPrint program runs, it uses the value in the RunDate field, if 
necessary, in the recipient batch files for each transaction.
• When the GenArc program runs, it copies the value in the RunDate field from 
the NEWTRN file into the APPIDX file, using the RunDate option in the 
Trigger2Archive control group.
• When you archive a form set in Documaker Workstation, the value in the 
CreateTime field is converted from hexadecimal format to D4 format 
(YYYYMMDD) and copied into the APPIDX file.
When you retrieve that form set, the value in the CreateTime field that was saved 
into the APPIDX file can be used to load objects, such as FAP files and graphics, 
from the library as required to reconstruct the form set.
Keep in mind the run date should be in D4 format, which is YYYYMMDD. If your 
run date is not in D4 format, you can convert it using additional INI options.
Chapter 9 – Managing Resources
344
To make sure the value in the RunDate field is part of the TRNDFDFL.DFD, 
RCBDFDFL.DFD, and APPIDX.DFD files, make sure these DFD files contain 
entries for the RunDate field, as shown below. The DFD files shipped with your 
system contain similar entries. DFD files are generally stored in the \DEFLIB 
directory. In each of these DFD files, you should have an entry for the RunDate field 
and an entry that describes the attributes of the RunDate field. These entries will look 
similar to those shown here:
< Fields >
FieldName
= RunDate
< FIELD:RunDate >
EXT_Type
= CHAR_ARRAY
EXT_Length
= 8
EXT_Precision = 0
INT_Type
= CHAR_ARRAY
INT_Length
= 8
INT_Precision = 0
Key
= No
Required
= Yes
If you did not place the RunDate field in the TRNDFDFL.DFD, RCBDFDFL.DFD, 
and APPIDX.DFD files, you can use the GetRunDate rule to get the current system 
date and use it as the RunDate for each transaction. Keep in mind that using the 
GetRunDate rule limits you to using the current date as the run date, which may not 
always be the date you want to use.
Refreshing the Display
By default, Studio refreshes the display automatically. You can, however, use the 
LibAutoRefresh INI option to turn off the automatic refresh:
In most cases, there is no need to change this option from the default (Yes) to No. If, 
however, you have multiple users in Studio and performance slows, setting this 
option to No can improve performance.
Keep in mind that if you set the LibAutoRefresh option to No, you will have to 
manually refresh your screen.
Overview
345
H
OW
I
T
A
LL
W
ORKS
The following topics describe how Documaker software uses these concepts in 
everyday processing.
In Documaker Workstation
Entry
When you use Documaker Workstation (or PPS) to create a new form set or 
transaction, the current system date is used to note when the form set was created. 
This value is stored in the CreateTime field, which is equivalent to the RunDate field 
in Documaker.
You can change this date by clicking on the Effective Date control and choosing a 
different date from the calendar. You can hide the Effective Date control using this 
option:
< Control >
ShowEffectiveDate  = No
The effective date specified — whether the current date or another date — is the date 
compared against the effective dates associated with the resources, such as FAP files 
and graphics, pulled from the library.
Example 1 - Multiple versions, different effective dates 
Say today’s date is 10/25/2007 and the form set you are creating requires a form 
called DEC PAGE. The DEC PAGE form is comprised of these FAP files:
• Q1SNAM
• Q1MDC1
• Q1MDC2
• Q1MDC3
Assume the following versions of the Q1SNAM FAP are in the library:
Since the run date is 20071025 (10/25/2007), Studio chooses version 00001, revision 
00002 (version 1.2) of Q1SNAM because it has an effective date (20070731) and 
that is the latest date that does not exceed the run date (20071025).
Form set
Version
Revision
Effective Date
Q1SNAM
00001
00001
20070131
Q1SNAM
00001
00002
20070731
Q1SNAM
00002
00001
20071231
Note
This example shows two revisions, 1.1 and 1.2, of version 1 which contain different 
effective dates. Though Documaker 10.2 and higher enforce the rule that all revisions of 
a particular version of a resource must have the same effective date, if you have 
migrated a library from a prior version, your library can contain resources that do not 
adhere to this restriction. This situation will not cause errors.
Chapter 9 – Managing Resources
346
Example 2 - Multiple versions, same effective dates
Say today’s date is 10/25/2007 and the form set you are creating requires a form 
called DEC PAGE. The DEC PAGE form is comprised of these FAP files:
• Q1SNAM
• Q1MDC1
• Q1MDC2
• Q1MDC3
Assume the following versions of the Q1SNAM FAP are in the library:
The run date is 20071025 (10/25/2007), so the latest effective for Q1SNAM that 
does not exceed the run date is 20070731. There are three version/revisions of 
Q1SNAM that have the most correct effective date, versions 1.1, 1.2, and 1.3. Studio 
chooses version 1.3 because it has the highest version/revision number.
Sometimes, you might create a form set and decide to base that new form set on an 
older one from archive. To do this, you first choose the New, Retrieve Data option 
to select the form set from archive. By default, the new form set would consist of the 
same version/revisions of the forms from the archived form set. 
If, instead, you want the new form set to be comprised of the same forms as the 
archived form set, but with newer versions/revisions of those forms — if they exist 
— you must use this INI option:
< FormSelection >
RetrieveVersionInfo = No
Form set
Version
Revision
Effective Date
Q1SNAM
00001
00001
20070731
Q1SNAM
00001
00002
20070731
Q1SNAM
00001
00003
20070731
Q1SNAM
00002
00001
20071231
Documents you may be interested
Documents you may be interested