how to save pdf file in asp net using c# : Create bookmarks in pdf reader software application cloud windows winforms html class epdfsdk5-part2053

- 51 - 
This method is different from the “FlagProhibitHKCU”, which disable reading HKCU 
for the whole category (subkey), e.g., “Security” or “Email”. By “MUST” approach, 
administrators can set mandatory profile setting in per key-value based.  
Administrator can just force a sepecific entry to be False instead of disabling reading the 
whole sub-category settings in HKCU. As before, the profile settings in HKLM is the 
global default settings. The profile with prefixed \MUST\ in HKLM will be the 
mandatory settings. By default, it will not affect old settings since there is NO MUST 
entries set in HKLM. 
For example, administrator adds the 2 key-value pairs in MUST registry entry
HKEY_LOCAL_MACHINE \Software\ITEKSOFT\eDocPrinter\PDF\5.0\MUST\Profiles\eDocPrinter PDF Pro\Security\ 
EnableOwnerPasswd    True 
OwnerPasswd     ***** 
It will force all PDF created in this machine will be encrypted with administrator 
assigned owner password. 
For example, administrator adds the 1 key-value pairs in MUST registry entry
HKEY_LOCAL_MACHINE \Software\ITEKSOFT\eDocPrinter\PDF\5.0\MUST\Profiles\eDocPrinter PDF Pro\Destination\ 
DestPostSaveDlg     True 
It will force prompting SaveAs after job spooled for all users in this machine. 
Administrators can use the similar way to create a group policy by writing proper values 
into HKLM. 
RemoteRegServer setting 
Since Ver 6.24 build 4398, a special registry setting “RemoteRegSever” can be set to as a 
server name or IP address for reading settings from a remote server’s HKLM. When 
enabling this feature (it requires ADV pack license), the eDocPrinter will load the HKLM 
default settings and HKLM MUST settings from the remote server’s HKLM instead of 
the local machine 
Administrators can manually add a string value with name “RemoteRegSever” in the key 
RemoteRegServer -> “servername” 
Or enable this feature for a specific eDocPrinter profile by 
HKEY_LOCAL_MACHINE \Software\ITEKSOFT\eDocPrinter\PDF\5.0\Profiles\“profile name” 
RemoteRegServer -> “servername” 
Administrators can also change this value by PropAdm. It requires the “Remote Registry 
service is turned on in the remote server. In addition, this feature requires the local 
workstations have permission on reading the server registry. Normally, it requires 
Create bookmarks in pdf reader - add, remove, update PDF bookmarks in, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmark pdf in preview; creating bookmarks pdf files
Create bookmarks in pdf reader - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmark pdf reader; creating bookmarks in pdf from word
- 52 - 
workstation is logged in the active directory and administrators may need to add 
SYSTEM\CurrentControlSet\ Control\SecurePipeServers\winreg\AllowedPaths in the 
server for allowing other workstations or machines to read the centralized settings of 
eDocPrinter because ordinary users account may not have permission to remote reading 
the HKLM registry. (Please refer
for more 
It may induce some side-effects if network connection failed or time-out. For example, if 
enabling RemoteRegServer, but the network connection failed or the server is not 
responding. In such cases, it may take 20~30 seconds trying to connect before timeout. 
(i.e. showing property pages may delay due to this time-out period) 
When enabling this feature (requiring ADV pack license), the eDocPrinter will load the 
HKLM default settings and HKLM MUST settings from the remote server HKLM 
instead of the local machine.  
Administrators may also utilize the GPO (Group Policy) to force the HKLM settings for 
group computers without using RemoteRegServer. 
Global Watermarks settings 
Please refer watermark section for details. 
Page Setup 
There are registry settings, which can control the margin in left, top, right, and bottom, in 
HKCU\Software\ITEKSOFT\eDocPrinter\PDF\5.0\Profiles\eDocPrinter PDF Pro\Page 
Setup when LayoutDirMarginEnable is True 
These represent values of the margin in unit as the unit in Page Setup 
These settings now can only be set by registry,  (These cannot be controlled by embedded 
commands as margins are set in the every beginning of printing) Since Ver 6.20, these 
settings are directly available in UI, hence users can set these in UI directly. 
Shell Extension customization settings 
Administrator can customize shortcuts in by modifying registry values under 
HKLM\SOFTWARE\ITEKSOFT\Drag2PDF\ShellExt. By default, there are 3 shortcuts 
defined, “->PDF”, “->PDF&Email”, and “->PDF&Merge”. 
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
bookmarks pdf reader; add bookmark to pdf reader
VB.NET PDF File Split Library: Split, seperate PDF into multiple
file into multiple ones by PDF bookmarks or outlines As String = Program.RootPath + "\\" 1.pdf" Dim outputFileName 1 to (Page Count - 1). ' Create output PDF
create bookmark pdf file; how to create bookmarks in pdf file
- 53 - 
The key name is representing the shortcut title. In addition, “#” can be prefixed to enforce 
the ordering. For example, “#1->PDF” means the shortcut “->PDF” will be on the first 
position of the group.  
The value name is representing the command line to call the Drag2PDF for conversion. 
For example, [-sm0 –sp“Drag2PDF”] is the command line for “->PDF”. The “-sm” 
represents the converting mode of Drag2PDF. For example, “-sm0” will do “Convert to 
PDF files” and “-sm1” will do “Convert and Merge into one PDF”. “-sp” is used for 
specifying the printer profile for converting. By default, it is “Drag2PDF”. 
Administrators may add additional printer instance with different settings mainly for 
right-click conversion actions of shell extension. “-se” will force to enable Email as in the 
Email property page. It follows the email settings defined in the printer profile. 
drag2pdf.exe supports command line mode for batch processing. 
-s  ==> do not show drag2pdf UI 
-sp "printer profile" ===> specify the printer profile, default is "Drag2PDF" 
-sax ==> do not use addin for converting office documents 
-se# ==> enable Email after converting 
(e.g. -se0 send by email method 0 (default email client), -se2, by method 2 ...) 
-sm# ==> specify the conersion mode 
-sm0  Convert to PDF files 
-sm1  Convert and merge into one PDF file 
-sv ==> show SaveAs dialog 
-svx ==> do NOT show Saveas dialog  
For example: 
drag2pdf.exe -s -svx c:\temp\kk1.txt 
The destination directory is specified by the Dest Dir in the profile Destination property 
The default is the same as the source document when DestDir is empty 
The default destination filename is the same as the source document. 
The postaction (Launching PDF reader) is controlled by the option in Destination 
property page of the profile 
PDF/A-1b registry settings  
C# PDF File Compress Library: Compress reduce PDF size in
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
how to bookmark a pdf in reader; add bookmarks to pdf file
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
how to bookmark a pdf file; create bookmark in pdf automatically
- 54 - 
Under [Doc Info] registry, three registry values (DocIntentMode, DocMetaMode, and 
DocPDFVersion) must be set properly for PDF/A-1b in addition to force embedding all 
used fonts. When installing properly, these values shall be (all string type registry entries) 
“DocMetaMode” “1” 
“DocIntentMode” “1” 
“DocPDFVersion” “1.4” 
Printer Server registry settings 
Since Ver. 6.30, eDocPrinter supports a “printer server” mode for accepting printing jobs 
from other computers, which may not have eDocPrinter installed. It requires intranet or 
internet server license (per-server). 
eDocPrinter PDF Pro is a native Windows printer driver with Office-addin support for 
creating PDF files on local or network file systems. For fully functioning with support of 
prompting UI and Office addin interactions, it is required to install eDocPrinter PDF Pro 
driver on necessary machines locally. 
The new printer server mode is designed for special purpose usage, which will do the 
printing and post-processing in the server. However, under this server mode,  
It does NOT support prompting SaveAs dialog or similar UI dialogs. 
It does NOT support Office-addins for internal links, cross references, or headings-
>bookmarks conversions. 
It does NOT support launching PDF readers or Email clients in clients. 
It does NOT support Drag2PDF. 
As a result, it may not be suitable for ordinary customers. 
Administrator have to add or set extra printer instances by “PropAdm” or “Add New 
Printer” shortcut to enable printer server mode in addition to sharing the printer instance 
by printer control panel. These actions will enable “print server” mode for the 
eDocPrinter instances (profiles). 
Internally, these steps will attach the “eDocPDF” printer processor and add a registry 
PrinterServerMode under HKLM\SOFTWARE\ITEKSOFT\eDocPrinter\PDF\5.0\ 
Profiles\“PrinterName”, where “PrinterName” is the printer profile name. Currently, 
mode “1” is available for PrinterSeverMode. Mode “1” representing the printer instance 
will work under printer server mode. Printer server mode does not support prompting UI 
(e.g. SaveAs dialog) because the printing jobs are processed all in the server side. By 
default, it automatically generates the filename and saves the PDF into the user’s My 
Documents folder. And it does not launch PDF reader. Usually the user’s context is 
determined by the logon session or printer connection session in the active directory. 
C# Create PDF Library SDK to convert PDF from other file formats
file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields.
bookmarks pdf documents; bookmarks pdf
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create.
create pdf bookmarks; adding bookmarks to a pdf
- 55 - 
Normally, it is the logon user context if printer and the client are both in the same active 
directory domain. 
Basically, printer server mode provides a function similar to the network sharing or active 
directory printers without installing eDocPrinter drivers on client workstations. Users 
may change the profile settings, e.g., to enable detecting embedded commands, stamping 
watermarks, or etc. in the user’s profile in the server. Multiple printer servers are 
supported in the same way as multiple printer instances of eDocPrinter PDF Pro. 
VB.NET Create PDF Library SDK to convert PDF from other file
Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields in Visual Basic .NET application.
pdf reader with bookmarks; bookmarks in pdf reader
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
excel hyperlink to pdf bookmark; pdf bookmark editor
- 56 - 
ExtEscape Control: 
If developers have the Printer DC (DeviceContext) directly in their own applications, 
developers can use Windows standard API ExtEscape to control eDocPrinter PDF Pro 
directly without writing registry.  
Basically, it is similar to control by registry settings or commands, but using a specific 
API to send the key-value pair to the printer DC directly. As it is sent to printer DC, the 
settings are applicable to the current print job. When writing into registry directly, 
developers have to restore its original settings to avoid unwanted behaviour after printing. 
For details and samples, please refer to the section of Escape Codes and Samples in 
Appendixes. In addition to the code snippets, users can download one full source 
example [ESCDEMO], which contains a working example of controlling eDocPrinter 
PDF Pro programmatically in a simple text editor inherited from MFC “CEditView”. 
- 57 - 
Synchronization in Application Level: 
If applications need to be signaled when PDF creation and post-processing finished, 
please refer the following methods there are several 
I.  Executing Post Action Command line: (available since Ver 5.18) 
Users can select the “DestActionMode” from the UI to execute a command line 
after PDF fully created. Using this simple way, users may provide proprietary 
scripts or EXE file to be executed and do the necessary notification or post-
processing in this step before starting the next print job. 
Commands, registry settings, and ExtEscape all can control “DestActionMode”, 
“DestCommand”, and “DestArgument” at run-time. 
II.  Polling Sync File Existence: (available since Ver 6.00) 
There is a registry setting “DestCreatePDFSync” in 
eDocPrinter PDF Pro\Destination, where “eDocPrinter PDF Pro” is the printer 
profile (instance) name. If there are multiple eDocPrinter instances, proper 
instance name shall be used. Its default value is “False”. When it is “True”, 
when PDF creation and post-processing (e.g. appending and emailing) are fully 
finished, a file with the same name as the final PDF but with appending 
extension “.end” will be created in the same directory of the destination PDF. 
For example, if the final PDF is “C:\test1.pdf”, if creating sync file is “True”, it 
will create a file “C:\test1.pdf.end” as the sync file. Checking the existence of 
the sync file will know the state of PDF conversion process. 
Developers have to make sure the sync file does not exist before print job started 
and have to delete the sync file after PDF conversion process finished. 
Embedded commands and ExtEscape can also control this setting directly. 
III.  Waiting for Windows Event: (available since Ver 5.52) 
Developers can use ExtEscape to set “JobPDFReadyEvent” value to the event 
name specified. Developers can the use standard Windows API CreateEvent and 
WaitForSingleObject for creating the event for waiting to be signaled.  
Developers have to create this event and start waiting for it before print job 
- 58 - 
Though this “JobPDFReadyEvent” is not belonged to the “Destination” 
category, developers can also write this key-value into 
eDocPrinter PDF Pro\Destination for fully controlling eDocPrinter by registry 
settings. Please make sure to set and clean this key-value before job started and 
after job finished. 
Developers can also use the command “JobPDFReadyEvent” for setting an 
event name to be signaled when PDF creation and post-processing is finished. 
For example, adding a command  
%%JobPDFReadyEvent: MyPDFCreationISOK%% 
in the document to be printed. Developers then create and wait for this event 
name of  “MyPDFCreationISOK” in their applications. 
IV. Waiting for Windows Message: (available since Ver 6.19 build 4127) 
For message based applications, developers can control the key-value pair 
“DestWaitPDFReadyMsg” in “Destination” to set the message name. This 
message will be broadcasted to all applications with message ID got from 
Windows API “RegisterWindowMessage”. The wParam is the print job 
identifier returned by StartDoc. Its default value is 
As the same, this key-value pair can also be controlled by ExtEscape or 
embedded commands. Just developers have to ensure the version of eDocPrinter 
for supporting this function. 
Please refer to the appendixes for a WORD VBA Macro sample to how to control 
[Destination] path and wait for PDF finish event. 
- 59 - 
Synchronization in Driver Level: 
Ver 6.18 or earlier: 
In Ver 6.18 and earlier, the driver level provides 2 registry settings for the 
synchronization of PDF creation.  
I.  “DestLaunchProcess” – True/False ; i.e “Wait PDF if applications closed” in UI 
It is available since Ver 5.50. The default value is “True” since Ver 6.14. It will 
launch a process “epdfact.exe” for waiting PDF until it is fully processed. It is 
necessary for cases, where applications print and quit after job spooled before 
PDF is fully ready. (e.g. some batch mode printing)  
For high throughput without blocking, PDF processing work (including, 
encryption, appending, overlaying, emailing, and etc.) is done in a separate thread. 
When “DestLauchProcess” is “False”, the thread is attached to the application 
itself. (Hence if the application close, the PDF may not be fully processed) When 
“DestLauchProcess” is “True”, the thread is attached to the “epdfact.exe”.  
Since 6.12, there is a registry “DestAutoWaitByProcess” added with default value 
“True”. When it is “True”, it will automatically turn on “DestLauchProcess” when 
it detects the printing is under batch command line printing (i.e. applications may 
terminate after print job spooled)  
Since 6.14, an extra setting “DestEPDFACTMode” is added for supporting 
running epdfact.exe as a singleton monitor process. Default value is “1” since Ver 
6.14. When “DestEPDFACTMode” is “1”, the “epdfact.exe” will run as a 
singleton monitor process, when first job printed. It will not terminate itself until 
users log off. When “DestEPDFACTMode” is “0”, the “epdfact.exe” will be 
created and terminated after PDF fully created for every printing job. (Since Ver 
6.20, mode “1” is obsolete, please refer the section below for new 
[DestWaitPDFMode] details). 
II.  “DestWaitPDFReadyEvent” – True/False; i.e. “Wait synchronization of PDF 
ready event” (available in registry setting since 6.06, available in UI option since 
It ensures the spooler will start printing next job when the previous PDF 
processing is fully finished. The spooler will not start printing next job until the 
current PDF processing or merging is fully finished.   
- 60 - 
Ver 6.20 or later: 
Since Ver 6.20, for simplifying and improving the batch processing, a new registry 
setting “DestWaitPDFMode” is added for controlling the above settings automatically, 
which value is “0/1/2/3” representing the following methods: 
[0] “Process PDF asynchronously” 
This is the default mode, which means there is no special driver level 
synchronization method applied. Users can select to enable or disable “Wait PDF if 
applications closed” (i.e. “DestLaunchProcess”) In this mode, if enabled 
“DestLaunchProcess”, epdfact.exe will be executed and terminated when it finishes 
the PDF job. 
In this mode, it will set the setting values for the current print job as: 
DestLaunchProcess -> “As user control” 
DestEPDFACTMode -> “0” 
DestWaitPDFReadyEvent -> “False” 
DestWaitPostAction -> “False” 
[1] “Process PDF sequentially” 
This mode will queue all PDF processing requests and process one by one 
sequentially. It guarantees any PDF merging operation will be finished before next 
PDF processing. It is suitable for common batch appending or printing applications, 
which need PDFs created sequentially. It provides higher throughput than mode 2 as 
it allows current job in spooler and PDF merging processing in another thread for 
previous job simultaneously executed. And it will not the block the spooler printing. 
In this mode, it will set the setting values for the current print job as: 
DestLaunchProcess -> “True” 
DestEPDFACTMode -> “2” 
DestWaitPDFReadyEvent -> “False” 
DestWaitPostAction -> “As user control” 
[2] “Process PDF with full synchronization” 
This is similar to “mode 1” above. In addition, it force synchronizing with spooler 
print jobs and post-action command line execution. (i.e., it guarantees PDF is fully 
ready when print job status is completed in spooler.) It is mainly for applications, 
which rely on the Windows API of print job status from the spooler. Otherwise, 
“mode 1” will be sufficient, since “mode 1” provides higher throughput as it allows 
current job in spooler and PDF processing of previous jobs simultaneously 
In this mode, it will set the setting values for the current print job as: 
DestLaunchProcess -> “True” 
Documents you may be interested
Documents you may be interested