pdf to epub c# : Bookmarks pdf reader software SDK cloud windows wpf html class doxygen5-part1712

48
Howtohelp
ThedevelopmentofDoxygenhighlydependsonyourinput!
IfyouaretryingDoxygenletmeknowwhatyouthinkofit(doyoumisscertainfeatures?). Evenifyou
decidenottouseit,pleaseletmeknowwhy.
Howtoreportabug
BugsaretrackedinGNOME’sbugzilladatabase. Beforesubmittinganew bug,firstcheckifthe
samebughasalreadybeensubmittedbyothers. Ifyoubelieveyouhavefoundanewbug,pleasefile
it.
If you are unsure whether or not something is a bug,please ask help ontheusers mailing list first
(subscription is required).
If you send only a (vague) description of a bug, you are usually not very helpful and it will cost me much
more time to figure out what you mean. Inthe worst-case yourbug report may even be completelyignored
by me,so always try to include the following information in yourbug report:
• The version of doxygen you are using (for instance 1.2.4, use doxygen --version if you are
not sure).
• The name and version number ofyour operating system (for instance SuSE Linux 6.4)
• It is usually a good idea to send along the configuation file as well, but please use doxygen with the
-s flag while generating it to keep it small (use doxygen -s -u [configName] to strip the
comments froman existing config file).
• The easiest (and often the only) way for me to fix bugs is if you can send me a small example
demonstrating the problem you have, so I can reproduce it on my machine. Please make sure the
example is valid source code (could potentially compile) and that the problem is really captured by
the example (I often get examples that do not trigger the actual bug!). If you intend to send more
than one file please ziportarthe files together intoa singlefilefor easier processing. Whenreporting
anew bug you’ll get a chance to attach a file to it immediately after opening the bug.
You can (and are encouraged to) adda patch fora bug. Ifyou do so please use PATCH as a keyword in the
bug entry form.
If you have ideas how to fix existing bugs and limitations please discuss them on thedevelopers
mailing list(subscriptionrequired). Patches s canalsobesentdirectlyto dimitri@stack.nl
ifyou prefer not to send themvia the bug trackeror mailing list.
For patches please use ”diff -uN” or include the files you modified. If you send more than one file please
taror zip everything,so I only have to save and download one file.
Part II
Reference Manual
14 Features
• Requires very little overhead from the writer of the documentation. Plain text will do, but for more
fancy or structured output HTML tags and/or some ofdoxygen’s special commands can be used.
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
Bookmarks pdf reader - 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
create bookmarks pdf files; create pdf bookmarks from word
Bookmarks pdf reader - 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
how to bookmark a pdf page; add bookmarks to pdf
49
• Supports C/C++,Java,(Corba andMicrosoft)Java,Python,IDL,C#,Objective-C andtosome extent
Dand PHPsources.
• Supports documentation offiles, namespaces,packages,classes,structs, unions,templates,variables,
functions,typedefs, enums and defines.
• JavaDoc (1.1), Qt-Doc,and ECMA-334 (C# spec.) compatible.
• Automatically generates class and collaboration diagrams in HTML (as clickable image maps) and
L
A
T
E
X(as EncapsulatedPostScript images).
• Uses the dot tool of the Graphviz tool kit to generate include dependency graphs, collaboration
diagrams, call graphs, directory structure graphs,and graphical class hierarchy graphs.
• Flexible comment placement: Allows you to put documentation in the header file (before the decla-
ration of an entity), source file (before the definition of an entity) orin a separate file.
• Generates a list ofall members of a class (including any inherited members)along with theirprotec-
tion level.
• Outputs documentation in on-line format (HTML and UNIX man page) and off-line format (LAT
E
X
and RTF) simultaneously (any of these can be disabled if desired). All formats are optimized for
ease of reading.
Furthermore, compressed HTML can be generated from HTML output using Microsoft’s HTML
Help Workshop (Windows only) and PDFcan be generated from the LAT
E
Xoutput.
• Includes a full C preprocessor to allow proper parsing of conditional code fragments and to allow
expansion of all or part of macros definitions.
• Automatically detects public, protected and private sections, as well as the Qt specific signal and
slots sections. Extraction of private class members is optional.
• Automatically generates references to documented classes, files, namespaces and members. Doc-
umentation of global functions, globals variables, typedefs, defines and enumerations is also sup-
ported.
• References to base/super classes and inherited/overridden members are generated automatically.
• Includes a fast, rank based search engine to search for strings or words in the class and member
documentation.
• You can type normal HTML tags in your documentation. Doxygen will convert them to theirequiv-
alent LAT
E
X, RTF, and man-page counterparts automatically.
• Allows references to documentation generatedfor other projects (oranotherpartofthesame project)
in a location independent way.
• Allows inclusion of source code examples that are automatically cross-referencedwith the documen-
tation.
• Inclusion of undocumented classes is also supported, allowing to quickly learn the structure and
interfaces ofa (large) piece of code without looking into the implementation details.
• Allows automatic cross-referencing of(documented) entities with theirdefinitionin the source code.
• All source code fragments are syntax highlighted for ease of reading.
• Allows inclusion of function/member/class definitions in the documentation.
• All options are read from an easy to edit and (optionally) annotated configuration file.
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
document file. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Also a preview
export bookmarks from pdf to excel; add bookmark to pdf reader
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 create bookmark in pdf with; export pdf bookmarks to text
50
• Documentation and search engine can be transferred to another location or machine without regen-
erating the documentation.
• Can cope with large projects easily.
Although doxygen can now be used in any project written in a language that is supported by doxygen,
initially it was specifically designed to be used for projects that make use of Troll Tech’sQt toolkit.
Ihave tried to make doxygen ‘Qt-compatible’. That is: Doxygen can read the documentation contained
in the Qt source code and create a class browser that looks quite similar to the one that is generated by
Troll Tech. Doxygen understands the C++extensions used byQt suchas signals and slots and many of the
markup commands used in the Qt sources.
Doxygen can alsoautomaticallygenerate links to existing documentationthatwas generated withDoxygen
orwith Qt’s non-public class browser generator. For a Qtbased project this means that whenever you refer
to members or classes belonging to the Qt toolkit, a link will be generated to the Qt documentation. This
is done independent of where this documentation is located!
15 Doxygen History
Version1.2.0
Major new features:
• Support forRTFoutput.
• Using the dot tool of the AT&T’s GraphViz package, doxygen can now generate inheritance dia-
grams,collaboration diagrams,include dependency graphs, included by graphs and graphical inher-
itance overviews.
• Function arguments can now be documented with separate comment blocks.
• Initializers and macro definitions are now included in the documentation.
• Variables and typedefs are now put in their own section.
• Old configuration files can be upgraded using the -uoption without loosing any changes.
• Using the \if and \endif commands, doxygen can conditionally include documentation blocks.
• Added Doc++like support formembergrouping.
• Doxygen now has a GUIfront-end called doxywizard (based on Qt-2.1)
• All info about configuration options is now concentrated in a new tool called configgen. This tool
can generate the configuration parser and GUI front-end from source templates.
• Better support for the using keyword.
• New transparent mini logo that is put in the footer of all HTML pages.
• Internationalization support for the Polish, Portuguese and Croatian language.
• Todo list support.
• If the source browser is enabled, for a function, a list of function whose implementation calls that
function, is generated.
• All source code fragments are now syntax highlighted in the HTML output. The colors can be
changed using cascading style sheets.
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Demo Code in VB.NET. The following VB.NET codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
pdf reader with bookmarks; create pdf with bookmarks from word
C# PDF File Compress Library: Compress reduce PDF size in C#.net
NET framework. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. C# class demo
add bookmark pdf; bookmarks pdf
51
Version1.0.0
Major new features:
• Support fortemplates and namespaces.
• Internationalization support. Currently supported languages are: English, Czech, German, Spanish,
Finnish, French,Italian, Japanese, Dutch, and Swedish.
• Automatic generation ofinheritance diagrams for sub and super classes.
• Support forman page,compressed HTML help, and hyperlinked PDF output.
• Cross-referencing documentation with source code and source inlining.
• LaTeX formulas can be included in the documentation.
• Support forparsing Corba and Microsoft IDL.
• Images can be included in the documentation.
• Improved parsing and preprocessing.
Version0.4
Major new features:
• LaTeX output generation.
• Full JavaDoc support.
• Build-in C-preprocessorfor correct conditional parsing of source code that is read by Doxygen.
• Build-in HTML to LaTeX converter. This allows you to use HTML tags in your documentation,
while doxygen still generates proper LaTeX output.
• Many new commands (there are now more than 60!) to document more entities, to make the docu-
mentation look nicer,and to include examples or pieces ofexamples.
• Enumtypes, enum values, typedefs, #defines, and files can now be documented.
• Completely new documentation,that is now generatedby Doxygen.
• A lot of small examples are now included.
Version0.3
Major new features:
• A PHP based search engine that allows you to search through the generated documentation.
• A configuration file instead of command-line options. A default configuration file can be generated
bydoxygen.
• Added an option to generate output for undocumented classes.
• Added an option to generate output for private members.
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
.NET PDF SDK | Read & Processing PDF files
provided by this .NET Imaging PDF Reader Add-on Able to convert PDF documents into other formats Include extraction of text, hyperlinks, bookmarks and metadata;
editing bookmarks in pdf; bookmarks pdf documents
.NET PDF SDK - Description of All PDF Processing Control Feastures
Fully featured PDF Viewer in HTML5; Outstanding rendering of PDF documents; Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display;
bookmark pdf documents; how to bookmark a pdf file in acrobat
52
• Every page now contains a condensed index page, allowing much faster navigation through the
documentation.
• Global and member variables can now be documented.
• A project name can now given, which will be included in the documentation.
Version0.2
Major new features:
• Blocks of code are now parsed. Function calls and variables are replaced by links to their documen-
tation if possible.
• Special example documentation block added. This can be used to provide cross references between
the documentation and some example code.
• Documentation blocks can now be placed inside the body of a class.
• Documentation blocks with line range may now be created using special //! C++ line comments.
• Unrelatedmembers cannow be documented. A page containing a list of these members is generated.
• Added an \include command to insert blocks of source code into the documentation.
• Warnings are generated formembers that are undocumented.
• You can now specify your own HTML headers and footers for the generated pages.
• Option addedto generated indices containing all external classes instead ofonly the used ones.
Version0.1
Initial version.
16 Doxygen usage
Doxygen is acommand line based utility. Callingdoxygen with the --help option atthe command line
will give you a brief description ofthe usage of the program.
All options consist ofa leading character-, followed by one characterandone or more arguments depend-
ing on the option.
To generate a manual for yourproject you typically need to followthese steps:
1. You document your source code with special documentation blocks (see sectionSpecialdocumenta-
tion blocks).
2. You generate a configuration file (see sectionConfiguration)by calling doxygen with the -g option:
doxygen -g <config_file>
3. You edit the configuration file so it matches your project. In the configuration file you can specify
the input files and a lot ofoptional information.
4. You let doxygen generate the documentation, based on the settings in the configuration file:
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
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
adding bookmarks to a pdf; create pdf bookmarks online
XDoc.PowerPoint for .NET, All Mature Features Introductions
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. PowerPoint Convert. Convert PowerPoint to PDF; Convert
excel print to pdf with bookmarks; create pdf bookmark
53
doxygen <config_file>
If you have a configuration file generated with an older version of doxygen, you can upgrade it to the
current version by running doxygenwith the -u option.
doxygen -u <config_file>
All configuration settings in the orginal configuration file will be copied to the new configuration file. Any
new options will have their default value. Note that comments that you may have added in the original
configuration file will be lost.
If you want to fine-tune the way the output looks,doxygen allows you generate default style sheet, header,
and footer files that you can edit afterwards:
• ForHTML output,youcan generatethedefault headerfile (seeHTML
HEADER),thedefaultfooter
(seeHTML
FOOTER),andthedefaultstylesheet(see HTML
STYLESHEET),usingthefollowing
command:
doxygen -w html header.html footer.html stylesheet.css
• For LaTeX output,you can generate the first part of refman.tex (seeLATEX
HEADER)andthe
style sheet included by that header (normally doxygen.sty),using:
doxygen -w latex header.tex doxygen.sty
If you need non-default options (for instance to use pdflatex) you need to make a config file with
those options set correctly and then specify that config file as the forth argument.
• For RTF output,you can generate the default style sheet file (seeRTF
STYLESHEET
FILE)using:
doxygen -w rtf rtfstyle.cfg
Note:
• If you do not want documentation for each item inside the configuration file then you can use the
optional -s option. This can usebe usedincombination withthe-u option, to add orstrip the docu-
mentationfroman existingconfigurationfile. Pleaseuse the-s option ifyousendme aconfiguration
file as part ofa bug report!
• To make doxygen read/writetostandardinput/output insteadoffrom/to afile, use - forthe file name.
17 Doxytag usage
Doxytag is a small command line based utility. It can generate tag files. These tag files can be used with
doxygentogeneratereferencestoexternaldocumentation(i.e.documentationnotcontainedintheinput
files that are used by doxygen).
Atag file contains information about files, classes and members documented in external documentation.
Doxytag extracts this information directly from the HTML files. This has the advantage that you do not
need to have the sources from which the documentation was extracted.
If you do have the sources it is better to let doxygen generate the tag file by putting the name of the tag
file afterGENERATE
TAGFILEintheconfigurationfile.
The input of doxytag consists of a set of HTML files.
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
54
Important:
If you use tag files, the links that are generated by doxygen will contain dummy links. You have to
run the installdox script to change these dummy links into real links. SeeInstalldoxusage for
more information. The use of dummy links may seem redundant, but it is really useful, if you want
to move the external documentation to another location. Then the documentation does not need to be
regenerated by doxygen, only installdox has to be run.
Note:
Because the HTML files are expected to have a certain structure, only HTML files generated with
doxygen or with Qt’s class browser generator can be used. Doxytag only reads the HTML files, they
are not altered in any way.
Doxytag expects a list ofall HTMLfiles thatformthe documentation or a directorythatcontains allHTML
files. If neither is present doxytag will read all files with a .html extension fromthe current directory. If
doxytag is used with the -t flag it generates a tag file.
Example 1:
Suppose the file example.cpp from the examples directory that is listed below is included in
some package for which you do not have the sources. Fortunately, the distributor of the packages
included the HTML documentationthat was generated by doxygen in the package.
/
**
A Test class.
*
More details about this class.
*
/
class Test
{
public:
/
**
An example member function.
*
More details about this function.
*
/
void example();
};
void Test::example() {}
/
**
\example example_test.cpp
*
This is an example of how to use the Test class.
*
More details about this example.
*
/
Nowyou can create a tag file from the HTML files in the package by typing:
doxytag -t example.tag example/html
from the examples directory. Finally you can use this tag file with your own piece of code, such as
done in the following example:
/
*
! A class that is inherited from the external class Test.
*
/
class Tag : public Test
{
public:
/
*
! an overloaded member.
*
/
void example();
};
Doxygen will now include links to the external package in your own documentation. Because the tag
file does not specify where the documentation is located, you will have to specify that by running the
installdox script that doxygengenerates (See sectionInstalldoxusage for more information).
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
55
Note that this is actually a feature because if you (or someone else) moves the external documentation to
adifferent directory or URL you can simply run the script again and all links in the HTML files will be
updated.
Example 2:
To generate a tag file ofthe Qt documentation you can do the following:
doxytag -t qt.tag $QTDIR/doc/html
18 Doxywizard usage
Doxywizard is a GUIfront-end for configuring and running doxygen.
When you start doxywizard it will display the main window (the actual look depends on the OSused).
The windows shows the steps to take to configure and run doxygen. The first step is to choose one of the
ways to configure doxygen.
Wizard Click this button to quickly configure the most important settings and leave the restof the options
to their defaults.
Expert Click this button to to gain access to thefullrangeofconfigurationoptions.
Load Click this button to load an existing configuration file fromdisk.
Note that you can selectmultiple buttons in a row, forinstance to first configure doxygen using the Wizard
and then fine tune the settings via the Expert.
After doxygen is configured you need to save the configuration as a file to disk. This second step allows
doxygen to use the configuration and has the additional advantage that the configuration can be reused to
run doxygen with the same settings at a later point intime.
Since some configuration options may use relative paths, the next step is to select a directory from which
to run doxygen. This is typically the root of the source tree and will most of the time already be filled in
correctly.
Once the configuration file is saved and the working directory is set, you can run doxygen based on the
selected settings. Do this by pressing the ”Start” button. Once doxygen runs you can cancel it by clicking
the same button again. The output produced by doxygen is captured and shown in a log window. Once
doxygen finishes,the log can be saved as a text file.
The Wizard Dialog If you select the Wizard button in step 1, then a dialog with a number of tabs will
appear.
The fields in the project tab speak for themselves. Once doxygen has finished the Destination directory is
where to look for the results. Doxygen will put each output format ina separate sub-directory.
The mode tab allows you to select how doxygen will look at your sources. The default is to only look for
things that have been documented.
You can also select how doxygen should present the results. The latter does not affect the way doxygen
parses your source code.
You can select one or more of the output formats that doxygen should produce. For HTML and LaTeX
there are additional options.
Doxygencan produce a numberofdiagrams. Usingthediagrams tab youcanselectwhich ones to generate.
For most diagrams the dot tool of theGraphViz package is needed (if you use the binary packages for
Mac orWindows this tool is already included).
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
56
Expertdialog The Expert dialog has anumberoftabfields,onefor each section in the configuration file.
Each tab-fieldcontains a number of lines,one for each configuration option in that section.
The kind ofinput widget depends on the type of the configuration option.
• For each boolean option (those options that are answered with YES or NO in the configuration file)
there is a check-box.
• For items taking one ofa fixed set of values (likeOUTPUT
LANGUAGE)acomboboxisused.
• For items taking an integervalue froma range, a spinbox is used.
• For free form string-type options there is a one line edit field
• For options taking a lists of strings, a one line edit field is available, with a ‘+’ button to add this
string to the list and a ‘-’button to remove the selected string fromthe list. There is alsoa ‘∗’button
that, when pressed,replaces the selected item in the list withthe string entered in the edit field.
• For file and folder entries, there are special buttons that start a file selection dialog.
The get additional information about the meaning of an option, click on the ”Help” button at the bottom
right of the dialog and then on the item. A tooltip with additional information will appear.
Menu options The GUI front-end has a menu with a couple of useful items
Open... This is the same as the ”Load” button in the main window and allows to open a configuration file
fromdisk.
Save as.. This is the same as the ”Save” button in the main window and can be used to save the current
configuration settings to disk.
Recentconfigurations Allowto quickly loada recently saved configuration.
Set as default... Stores the current configuration settings as the default to use nexttime the GUIis started.
You will be asked to confirm the action.
Reset... Restores thefactory defaults as the defaultsettings touse. You will be asked to confirmthe action.
19 Installdox usage
Installdox is a perl script that is generated by doxygen whenever tag files are used (See TAGFILES in
sectionExternalreferenceoptions) orthesearchengine is enabled (See SEARCHENGINEinsectionSearch
engine options).ThescriptislocatedinthesamedirectorywheretheHTMLfilesarelocated.
Its purpose is to set the location of the external documentation for each tag file and to set the correct links
to the search engine at install time.
Calling installdox with option -h atthe commandline will give you a brief description ofthe usage of
the program.
The following options are available:
-l <tagfile>@<location> Each tag file contains information about the files,classes and members
documented in a set of HTML files. A user can install these HTML files anywhere on his/her hard
disk or web site. Therefore installdox requires the location of the documentation for each tag file
<tagfile> that is used by doxygen. The location <location> can be an absolute path or a
URL.
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
57
Note:
Each <tagfile> must be unique and should only be the name ofthe file, not including the path.
-q Whenthis option is specified,installdox will generate no output other than fatal errors.
Optionally a listof HTML files may be given. These files are scannedand modified ifneeded. Ifthis list is
omitted all files in the current directory that end with .html are used.
The installdox script is unique for each generated class browser in the sense that it ‘knows’ what tag
files are used. It will generate an error if the -l option is missing for a tag file or if an invalid tag file is
given.
20 Configuration
20.1 Format
Aconfiguration file is a free-form ASCII text file with a structure that is similar to that of a Makefile,
with the default name Doxyfile. It is parsed by doxygen. The file may contain tabs and newlines for
formatting purposes. The statements in the file are case-sensitive. Comments may be placed anywhere
within the file (except within quotes). Comments begin with the # character and end at the end ofthe line.
The file essentially consists of a list of assignment statements. Each statement consists of a TAG
NAME
written in capitals, followed by the = character and one or more values. If the same tag is assigned more
than once, the last assignment overwrites any earlier assignment. For options that take a list as their
argument, the += operator can be used instead of = to append new values to the list. Values are sequences
of non-blanks. If the value should contain one or more blanks it must be surrounded by quotes (”...”).
Multiple lines can be concatenated by inserting a backslash (\) as the last characterof a line. Environment
variables can be expanded using the pattern $(ENV
VARIABLE
NAME).
You can also include part of a configuration file fromanother configuration file using a @INCLUDE tag as
follows:
@INCLUDE = config_file_name
The include file is searched in the current working directory. You can also specify a list of directories that
shouldbe searched before lookinginthecurrent working directory. Dothis byputting a @INCLUDE
PATH
tag withthese paths before the @INCLUDE tag,e.g:
@INCLUDE_PATH = my_config_dir
The configuration options canbe divided intoseveralcategories. Below is analphabetical index ofthe tags
that are recognized followed by the descriptions of the tags grouped by category.
ABBREVIATE
BRIEF
20.2
ALIASES
20.2
ALLEXTERNALS
20.16
ALPHABETICAL
INDEX
20.7
ALWAYS
DETAILED
SEC
20.2
BINARY
TOC
20.8
BUILTIN
STL
SUPPORT
20.2
BRIEF
MEMBER
DESC
20.2
CALL
GRAPH
20.17
CALLER
GRAPH
20.17
CASE
SENSE
NAMES
20.2
CHM
FILE
20.8
CLASS
DIAGRAMS
20.17
CLASS
GRAPH
20.17
User ManualforDoxygen1.5.3,written byDimitrivanHeesch
c
1997-2006
Documents you may be interested
Documents you may be interested