HelpNDoc User Manual
61 / 87
HndGeneratorInfo.CurrentFile := ExtractFileName(HndGeneratorInfo.OutputFile);
To alter this behavior, just comment or remove the line from the template. Now HelpNDoc will
generate an index.html file automatically.
Fix the topics redirections in topics.pas.html
When a topic is called directly by its URL, it has a built-in mechanism to redirect to the index file
so that the table of contents is shown. As we have renamed the index file, we need to change
the behavior of the topics.pas.html file and change the following line:
top.location.href = "<% print(ExtractFileName(HndGeneratorInfo.OutputFile)); %>?" +
top.location.href = "index.html?" + sTopicId
That's all. Now HelpNDoc will generate an HTML documentation which will automatically use the
index.html file as the default index file.
Usage from the command line
HelpNDoc handles various command line parameters to be able to update and generate
documentation without user interface. This is useful to integrate the documentation generation
process with an automated build process for example. HelpNDoc's command line options use
the syntax "hnd4.exe [FileName] [Parameters]" where [FileName] is the optional HND file to be
processed and the parameters are described bellow. When run using the command line
parameters bellow, HelpNDoc won't show any user interface except for a DOS prompt window.
Command line help
At any time, use the "hnd4.exe /?" command line to get help on the various command line
syntax and parameters.
Command line parameters
· /g - Generate the HelpNDoc "FileName" using project's settings
· /b=[value] - Override the list of build to generate from the project (Semi-colon separated list
of built)
· /v[name]=[value] - Set the [value] of variable [name] or create a new variable named [name]
· /silent - Silent mode: no user input required. Useful for automated build processes to avoid
user interaction
· /l=[value] - Output the generation log to the specified file
Command line examples
Pdf form data extraction - extract form data from PDF in, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
exporting data from excel to pdf form; make pdf form editable in reader
Pdf form data extraction - VB.NET PDF Form Data Read library: extract form data from PDF in, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extract data from pdf table; extract data from pdf using java
HelpNDoc User Manual
62 / 87
The following is a simple example of a possible use of the HelpNDoc's command line options:
> hnd4.exe myHelp.hnd /g
This translates to: generate the file "myHelp.hnd" according to the settings saved in that file.
> hnd4.exe myHelp.hnd /g /l=c:\log\hnd-log.txt
This translates to: generate the file "myHelp.hnd" according to the settings saved in that file and
save the log to the file "c:\log\hnd-log.txt"
> hnd4.exe myHelp.hnd /g /b="Build chm documentation";"Build pdf documentation" /
This translates to: generate the file "myHelp.hnd" by using the builds named "Build chm
documentation" and "Build pdf documentation" and modify or declare the variable "MyVariable"
with the value "MyValue".
CHM files and programming languages
HelpNDoc generates standard Windows CHM help files which can be opened from any
Windows application. The following section explains how to open CHM help files using various
programming languages. This includes:
· Delphi integration
· Java integration
· Visual Basic integration
Delphi integration
Opening a CHM help file from a Delphi program
Courtesy of The Helpware Group
, the Delphi HH Kit is a free download for Delphi 2/3/4/5/6/7... It
consists of two units and a document file. The first unit is a port of the C++ header file
"HtmlHelp.h". The second one is a library of HTML help related functions. Two versions exists
based on the Delphi compiler capabilities:
· Download "The Kit" version 2.1
- Size: 32KB, 3-Dec-2009
- Unicode version now compatible with Delphi 6/7/... Delphi 2010.
- HH_Funcs.pas utility now compiles under D2010. Ansi and Unicode versions of
- HH.pas - HTMLHelp()  function defaults to either Ansi or Unicode depending on the
version of Delphi.
· Download "The Kit" version 1.09
- Size: 32KB, 27-Aug-2008
- Ansi version for Delphi 2/3/4/5/6/...
VB.NET PDF Text Extract Library: extract text content from PDF
control provides text extraction from PDF images and image files. Enable extracting PDF text to another PDF file, and other formats such as TXT and SVG form.
extract data from pdf forms; extract data from pdf form
C# PDF Text Extract Library: extract text content from PDF file in
Image text extraction control provides text extraction from PDF images and image files. Best C#.NET PDF text extraction library and component for free download.
how to fill in a pdf form in reader; java read pdf form fields
HelpNDoc User Manual
63 / 87
- Fix bug with Windows Vista compatibility.
- Updated D6OnHelpFix.pas to fix small memory leak on shutdown.
Java integration
Opening a CHM help file from a Java program
Courtesy of Daniel Whitworth, the following Java code assumes the CHM help file is located in
the same directory as the program being run:
File file = new File("help.chm");
Runtime.getRuntime().exec("HH.EXE ms-its:" + file.getAbsolutePath() + "::/
} catch (IOException e1)
The highlighted parts should be customized according to your needs:
· help.chm: This is the CHM help file you would like to open 
· TOPIC_ID: This is the topic ID you would like to open 
Microsoft Access integration
Opening a CHM help file from Microsoft Access
You can find a detailed PDF document here
, courtesy Dave Liske.
Visual Basic integration
Opening a CHM help file from a Visual Basic program
Courtesy of David E. Liske
, the HTML help VB class is a free download for Visual Basic 5/6. It
includes the source code and the documentation on how to use it.
Download HTML Help VB Class
(Version: 3.0h, Size: 80 KB)
Customize default project styles
It is possible to create and save a set of customized default styles which will be used by default
each time a new project is started. Here is a step by step guide on how to achieve that:
Create a customized set of styles using the styles editor
At the bottom of the styles editor, click "export..."
Styles must be exported to your home HelpNDoc folder, which is "My Documents\HelpNDoc
\Styles\default.hns" by default and can be customized in the Options window
For now on, each time a new project is created, the set of styles defined in this file will be loaded
and available for that project.
Using the Script Editor
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
image extraction from multiple page adobe PDF file in VB.NET. Extract multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline
export pdf data to excel; extracting data from pdf forms
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Support PDF Image Extraction from a Page, a Region on a Page Extract various types of image from PDF file, like XObject Image, XObject Form, Inline Image
extract data from pdf form fields; pdf data extractor
HelpNDoc User Manual
64 / 87
The script editor provides a way to use a programming language, based on the Pascal syntax, to
automate HelpNDoc. Almost everything in HelpNDoc can be automated, from project creation to
library management. See methods available in the HelpNDoc API
HelpNDoc API methods
The HelpNDoc API is based on the Pascal programming language. The following list describes
the methods available via the HelpNDoc API. As an example for the ClearDictionaries method, it
can be used as follows: HndDictionaries.ClearDictionaries;
List of objects
· HndBuilds
· HndBuildsEx
· HndBuildTags
· HndBuildTagsEx
· HndDictionaries
· HndEditor
· HndEditorHelper
· HndGeneratorInfo
· HndMeta
· HndJsSearchEngine
· HndKeywords
· HndLibraryItems
· HndLibraryItemsCache
· HndProjects
· HndProjectsMeta
· HndStyles
· HndTemplates
· HndTemplatesEx
· HndTopics
· HndTopicsEx
· HndTopicsKeywords
· HndTopicsMeta
Properties and methods for Builds
function CreateBuild: string;
Create a new build.
procedure DeleteAllBuilds;
Delete all builds for the current project.
procedure DeleteBuild(const aBuildId: string);
Delete a specific build.
function GetBuildCustomValue(const aBuildId, aKey: string; const aDefaultValue: string =
''): string;
Get a custom value for that build.
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET PDF - PDF File Pages Extraction Guide. Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc. Free PDF document
extract data from pdf; pdf form data extraction
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF Text Extraction. Mature and robust APIs are provided for programmers to integrate and perform PDF text extraction feature in .NET windows and web project.
how to make pdf editable form reader; exporting data from pdf to excel
HelpNDoc User Manual
65 / 87
function GetBuildCustomValueAsBool(const aBuildId, aKey: string; const aDefaultValue:
Boolean = False): Boolean;
Get a custom value for that build as a boolean.
function GetBuildCustomValueAsInt(const aBuildId, aKey: string;
Returns a custom value for that build as an integer.
function GetBuildCustomValueAsList(const aBuildId, aKey: string; const aDefaultValue:
TStringList = nil): TStringList;
Returns a custom value for that build as a list.
function GetBuildEnabled(const aBuildId: string): Boolean;
Returns true if a build is enabled.
function GetBuildFirstOfKind(const aBuildKind: string): string;
Returns the first build of the specified kind.
function GetBuildKind(const aBuildId: string): string;
Returns the kind of the build (CHM, HTML...).
function GetBuildList: THndBuildInfoArray;
Get a list of all builds in the project.
function GetBuildName(const aBuildId: string): string;
Returns the name of a specific build.
function GetBuildNext(const aBuildId: string): string;
Get the next build.
function GetBuildOrder(const aBuildId: string): Integer;
Returns the order of a specific build.
function GetBuildOutput(const aBuildId: string): string;
Returns the output path/file of a build.
function GetBuildPrevious(const aBuildId: string): string;
Returns the previous build.
function GetBuildTemplate(const aBuildId: string): string;
Returns the template used by this build.
procedure MoveBuildAfter(const aBuildId, aAfterBuildId: string);
Move a build after another one.
procedure MoveBuildBefore(const aBuildId, aBeforeBuildId: string);
Move a build before another one.
procedure SetBuildCustomValue(const aBuildId, aKey, aValue: string);
Set a custom key/value pair for that build.
procedure SetBuildCustomValueAsBool(const aBuildId, aKey: string; const aValue: Boolean);
Set a custom key/value pair for that build as Boolean.
procedure SetBuildCustomValueAsInt(const aBuildId, aKey: string; const aValue: Integer);
Set a custom key/value pair for that build as Integer.
procedure SetBuildCustomValueAsList(const aBuildId, aKey: string; const aValue:
Set a custom key/value pair for that build as List.
procedure SetBuildEnabled(const aBuildId: string; const aIsEnabled: Boolean);
C# PDF File Permission Library: add, remove, update PDF file
Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction Enable or disable copying and form filling functions.
how to save editable pdf form in reader; extract data from pdf form to excel
VB.NET PDF File Permission Library: add, remove, update PDF file
Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction Enable or disable copying and form filling functions.
can reader edit pdf forms; how to fill out a pdf form with reader
HelpNDoc User Manual
66 / 87
Set the enabled state for a build.
procedure SetBuildKind(const aBuildId, aBuildKind: string);
Sets the kind of the build (CHM, HTML...).
procedure SetBuildName(const aBuildId, aName: string);
Set the name of a specific build.
procedure SetBuildOutput(const aBuildId, aOutput: string);
Set the output path/file of a build.
procedure SetBuildTemplate(const aBuildId, aTemplateName: string);
Set the template used by this build.
function GetBuildTemplateOrDefault(const aBuildId: string): string;
Returns the template for a specific build or the default template for this build kind.
function GetChmButtonVisibilityHex: string;
Return the CHM button visibility as an hexadecimal string.
function GetChmNavigationPaneStyleHex: string;
Returns the CHM navigation pane style as an Hexadecimal string.
function GetValidBuildOutput(const aBuildId, aBuildOutput: string): string;
Returns a build output which is not empty.
procedure AddTag(aTag: string);
Add a tag to the list of possible tags.
procedure ClearTagList;
Clear the list of tags for this project.
procedure DeleteTag(const aTag: string);
Delete a specific tag.
function GetTagListAll: TStringList;
Returns a list of all system and custom tags.
function GetTagListCustom: TStringList;
Get a list of custom tags.
function GetTagListSystem: TStringList;
Get a list of system tags.
procedure ConditionAdd(aCondition: string; var aConditionList: TStringList);
Add condition to the list.
procedure ConditionInvert(var aConditionList: TStringList);
Invert condition in the list.
function ConditionRemove(aCondition: string; var aConditionList: TStringList): Boolean;
Remove condition from the list.
procedure ConditionReset(var aConditionList: TStringList);
Reset condition list.
C# PDF File Merge Library: Merge, append PDF files in, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. PDF page deleting, PDF document splitting, PDF page reordering and PDF page image and
extract pdf form data to excel; how to make a pdf form fillable in reader
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAnnot = True ' Allow to fill form. passwordSetting.IsFillForm = True ' Content extraction is allowed. True ' Add password to PDF file.
exporting pdf form to excel; edit pdf form in reader
HelpNDoc User Manual
67 / 87
function IsTopicIncludedInBuild(const aTopicId, aBuildId: string): Boolean;
Returns true if a topic can be included in the specified build (including correct build tags).
procedure TopicTagAdd(const aTopicId, aTag: string);
Associate a tag with this topic.
procedure TopicTagClear(const aTopicId: string);
Remove all tags associated with this topic.
procedure TopicTagDelete(const aTopicId, aTag: string);
Delete a tag associated with the topic.
procedure TopicTagInvert(const aTopicId, aTag: string);
Invert the tag status of this topic.
procedure ClearDictionaries;
Clears the loaded dictionaries list and disable the spell checker component.
procedure DisableAllDictionaries;
Disable all the dictionaries.
function EnableDictionaries(const aLocalIdList: TStringList; const DisabledOthers:
Boolean = True): Boolean;
Enable a list of dictionaries. Disable the other ones if needed.
function EnableDictionary(const aLocaleId: Cardinal; const DisabledOthers: Boolean =
True): Boolean;
Enable the specific dictionary and disables others if asked.
function GetActiveDictionariesCount: Integer;
Returns the number of currently active dictionaries.
function GetActiveDictionariesList: THndDictionaryInfoArray;
Returns the list of currently active dictionaries.
function GetDictionariesCount: Integer;
Get the number of dictionaries.
function GetDictionariesList: THndDictionaryInfoArray;
Get a list of dictionaries.
function GetDictionaryInfo(const aLocalId: Cardinal): THndDictionaryInfo;
Returns information about the specific locale.
function InstallOOoDictionay(const aFileName: string): Boolean;
Installs a new dictionary.
procedure NotifyActiveDictionariesChange(Sender: TObject; const SaveToProject: Boolean =
Notifies every listener the dictionary list has been updated.
procedure PauseLiveSpell;
Pause live spell in all possible controls.
function ReloadDictionaries: Boolean;
Reload the dictionary list from the disk.
procedure SaveActiveDictionariesToProject;
Save the currently active dictionaries to the currently open project.
HelpNDoc User Manual
68 / 87
procedure SwitchDictionaryStatus(const aLocalId: Cardinal);
If dictionary is enable, then disable it and vice-versa.
procedure UpdateLiveSpell;
Resume the live spell after it has been paused.
procedure UpdateStylesFromTemplate(const anEditor: TObject);
Update the styles of the editor based on the template
procedure ApplyStyleToSelection(const anEditor: TObject; const aStyleId: Integer);
Apply the specified style to the selection.
procedure Clear(const anEditor: TObject);
Clears the content of the specified editor.
function CreateTemporaryEditor: TObject;
Creates a new temporary editor.
function CreateTemporaryReportHelper: TObject;
Create a new temporary report helper.
function CreateTemporaryViewer: TObject;
Creates a new temporary viewer.
procedure DestroyTemporaryEditor(const anEditor: TObject);
Destroys a previously created temporary editor.
procedure DestroyTemporaryReportHelper(const aReportHelper: TObject);
Destroys a previously created temporary report helper.
procedure DestroyTemporaryViewer(const aViewer: TObject);
Destroys a previously created temporary viewer.
function GetAnchorList(const anEditor: TObject): TStringList;
Retrieves the list of anchors in the specified editor.
function GetContentAsHtml(const anEditor: TObject; out aCssContent: string): string;
Returns the editor content as HTML.
procedure GetContentAsStream(const anEditor: TObject; aStream: TMemoryStream);
Returns the editor content as Stream.
function GetContentAsText(const anEditor: TObject): string;
Returns the editor content as text.
function GetCurrentAnchorName(const anEditor: TObject): string;
Returns the name of the current checkpoint or an empty string if there isn't any.
function GetCurrentItem(const anEditor: TObject): TObject;
Returns the currently selected item.
function GetCurrentPictureAltText(const anEditor: TObject): string;
Return the currently selected picture's alternative text.
function GetCurrentPictureBackColor(const anEditor: TObject): TColor;
Returns the background color of the currently selected picture.
function GetCurrentPictureHeight(const anEditor: TObject): Integer;
Returns the currently selected picture's height.
HelpNDoc User Manual
69 / 87
function GetCurrentPictureMarginLeftRight(const anEditor: TObject): Integer;
Get the current picture left/right margins.
function GetCurrentPictureMarginTopBottom(const anEditor: TObject): Integer;
Get the current picture top/bottom margins.
function GetCurrentPicturePadding(const anEditor: TObject): Integer;
Get the current picture padding.
function GetCurrentPictureVAlign(const anEditor: TObject): THndVAlign;
Return the currently selected picture's vertical alignment.
function GetCurrentPictureWidth(const anEditor: TObject): Integer;
Returns the currently selected picture's width.
procedure InsertAnchorBeforeCurrentItem(const anEditor: TObject; const aName: string);
Inserts a checkpoint at the current cursor position.
procedure InsertCondition(const anEditor: TObject; const anOperation, aCondition:
Insert a condition item at the current cursor position.
function InsertFile(anEditor: TObject; aFile: string): Boolean;
Inserts a file in the editor.
function InsertFileFromLibraryItem(const anEditor: TObject; const aLibraryItem: string):
Insert the content of the library item.
procedure InsertHyperLinkToTopicId(const anEditor: TObject; const aText, aLinkedTopicId:
Inserts an hyperlink to a specific topic ID using the topic's caption.
procedure InsertPageBreakBeforeCurrentItem(const anEditor: TObject);
Inserts a page break at the current cursor position.
function InsertStream(const anEditor: TObject; const aStream: TStream): Boolean;
Insert the content of the specified stream in the specified editor.
procedure InsertTopicContent(const anEditor: TObject; const aTopicId: string);
Insert the content of the specified topic in the specified editor.
procedure MoveCaretTo(anEditor: TObject; X, Y: Integer);
Move the specified editor's caret to another location.
procedure MoveCarretToEnd(const anEditor: TObject);
Move the specified editor's caret to the end.
procedure ProcessConditionalsForCurrentBuild(const anEditor: TObject);
Removes any conditional items based on current build setting.
procedure RemoveCurrentAnchor(const anEditor: TObject);
Remove the current checkpoint in the specified Editor.
function ReplaceLibraryItems(const anEditor: TObject): Boolean;
Replace the library items by their actual content.
procedure SetAsTopicContent(const anEditor: TObject; const aTopicId: string);
Set the specific topic's content as the current editor's content.
function SetContent(const anEditor: TObject; const aContentStream: TStream): Boolean;
HelpNDoc User Manual
70 / 87
Set the content from a stream.
procedure SetCurrentCellsAlignment(const anEditor: TObject; const anHVAlignment:
Sets the currently selected cells horizontal and vertical alignment.
procedure SetCurrentPictureAltText(const anEditor: TObject; const anAltText: string);
Set the currently selected picture's alternative text.
procedure SetCurrentPictureBackColor(const anEditor: TObject; const aColor: TColor);
Set the currently selected picture's background color.
procedure SetCurrentPictureHeight(const anEditor: TObject; const aNewHeight: Integer;
Defines the currently selected picture's height.
procedure SetCurrentPictureMarginLeftRight(const anEditor: TObject; const aNewMargin:
Set the currently selected picture's left/right margins.
procedure SetCurrentPictureMarginTopBottom(const anEditor: TObject; const aNewMargin:
Set the currently selected picture's top/bottom margins.
procedure SetCurrentPicturePadding(const anEditor: TObject; const aNewSpacing: Integer);
Set the currently selected picture's padding.
procedure SetCurrentPictureVAlign(const anEditor: TObject; const aNewVAlign: THndVAlign);
Defines the currently selected picture's vertical alignment.
procedure SetCurrentPictureWidth(const anEditor: TObject; const aNewWidth: Integer;
Defines the currently selected picture's width.
procedure TogglePageBreak(const anEditor: TObject);
Create or remove the current page break.
procedure UpdateLibraryItem(const anEditor: TObject; anItemId: string);
Update a library item's visual appearance in the editor.
function GetHyperlinkDetailedTextFromString(const aString: string): string;
Returns a detailed text from an hyperlink string.
function GetHyperlinkInfoFromString(const aString: string): THndHyperlinkInfo;
Extract the hyperlink information from a string.
procedure GetHyperlinkTargetExtraFromString(const aString: string; var Target, Extras:
Returns the Target and Extra values from hyperlink data.
procedure ImportImagesToLibrary(const anEditor: TObject);
Import the images to library.
function SetHyperlinkInfoToString(const anHyperLinkInfo: THndHyperlinkInfo): string;
Constructs a string based in hyperlink info.
procedure SetupEditorProperties(const anEditor: TObject);
Defines default editor properties and events.
Documents you may be interested
Documents you may be interested