| Name
|
Type
|
Default
|
Overridable
|
Description
|
| TempDirectory |
STRING |
"" |
|
ABCpdf uses the temp directory.
You can override the location it uses by setting this value.
|
| V3Compatible |
DWORD |
0 [false] |
|
By setting this value to 1, you can ensure full compatibility
with ABCpdf version 3 layout algorithms.
|
| V4Compatible |
DWORD |
0 [false] |
|
By setting this value to 1, you can ensure full compatibility
with ABCpdf version 4 layout algorithms.
|
| V5Compatible |
DWORD |
0 [false] |
|
By setting this value to 1, you can ensure full compatibility
with ABCpdf version 5 layout algorithms.
|
| DisableCCITT |
DWORD |
0 [false] |
|
ABCpdf compresses black and white images using CCITT
compression.
You can disable this type of compression if you wish to produce
simple flate compressed images.
|
| InsertJPEGsDirect |
DWORD |
1 [true] |
|
When you insert JPEGs using the Image object, they bypass the
normal rendering process and are inserted direct. This can result
in a considerable reduction in file size without any loss of visual
quality.
However, the final output may vary slightly from that produced
by older versions of ABCpdf.
By setting this value to 0, you can ensure compatibility.
|
| RenderDelay |
DWORD |
0 |
|
HTML rendering sometimes requires two stages: an information
gathering stage and a render stage.
For backwards compatibility reasons, you can insert a delay
between these two stages. This value is measured in
milliseconds.
|
| AutoDeleteHTML |
DWORD |
1 [true] |
|
Certain HTML temp files are automatically deleted by ABCpdf
after use.
You are unlikely to want to change the value of this key.
|
| LogErrors |
DWORD |
0 [false] |
|
Determines whether errors will be logged in the Application
Event Log.
|
| AutoRecover |
DWORD |
0 [false] |
|
Whether ABCpdf should automatically attempt to recover from
serious errors.
This is generally set to false. Recovery may work in some
situations but in others it will leave the application in an
inconsistent state.
|
| LogOperations |
DWORD |
0 [false] |
|
Unused in release versions. |
| MaxOperationTime |
DWORD |
1000 |
|
Unused in release versions. |
| LogDirectory |
STRING |
"%SystemRoot%\Temp\"
|
|
Unused in release versions. |
| LogMaxFileSize |
DWORD |
0xFFFF |
|
Unused in release versions. |
| LogAsserts |
DWORD |
1 [true] |
|
If true, certain run-time consistency checks will be
enabled.
If any consistency check fails, then an error will be logged in
the Application Event Log.
|
| LogAssertsMax |
DWORD |
5 |
|
The maximum number of times an
assertion will log an error. This is kept at a small number to
avoid excessive use of the Application Event Log. |
| ClearoutSize |
DWORD |
1000 |
|
On startup, the ABCpdf temp directory is checked. If it appears
that there are a large number of unused items, then the directory
will be cleared.
This setting determines the maximum number of items which are
permitted in the directory before a clearout is deemed
necessary.
|
| OneStageRender |
DWORD |
1 [true] |
|
This property is included for backwards compatibility
reasons.
|
| LoadType1Fonts |
DWORD |
1 [true] |
|
Whether ABCpdf should allow the use of
Type 1 fonts. |
| WriteVersionNumber |
DWORD |
1 [true] |
|
Whether the ABCpdf version should be
embedded in the PDF output. |
| SetInfoProps |
DWORD |
1 [true] |
|
Whether registry keys can be overridden on a per-document
basis.
To override a registry key, use SetInfo with the name of the key
and passing zero as the ID. For example:
theDoc.SetInfo(0, "UseScript", "1")
Note that only keys marked as overridable can be overridden this
way.
|
| CheckSaveRestore |
DWORD |
1 [true] |
|
Some PDFs do not conform to Adobe document structuring
conventions. For details see section 4.3.1 of the Adobe PDF Specification.
Conforming documents should save the graphics state at the start
of drawing and restore the graphics state after drawing is
complete. This way it is guaranteed that drawing operations are
independent of each other.
Non-conforming documents may make transform and other graphics
state changes which cannot easily be undone. When you add your
content, it is affected by these leftover state changes.
This key determines whether ABCpdf will automatically detect and
fix non-conforming documents.
|
| AnnotBorder |
DWORD |
0 |
|
The default width of borders on Annotations added to PDF
documents.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| LargeDocumentSize |
DWORD |
2,000 |
|
The size at which a binary search tree is constructed for HTML
rendering.
For larger documents, a binary search tree is a much more
efficient structure for HTML rendering than is a linear search
tree.
For smaller documents, the time taken to build the tree can
outweigh the speed advantages so a linear search tree is
better.
This property determines the point at which ABCpdf shifts its
strategy from linear to binary searches. The number relates to the
number of object fragments in the HTML. The number of object
fragments is extremely dependent on the complexity of the page, but
a couple of hundred object fragments per PDF page would not be
atypical.
|
| DisableFilters |
DWORD |
1 |
|
Whether to automatically disable HTML filters.
HTML filters can interfere with the HTML to PDF conversion
process because they are raster rather than vector based. For this
reason, we try to disable them.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| JPEGThreshold |
DWORD |
256 |
|
The threshold at which images are JPEG compressed.
When an uncompressed image is added to a document ABCpdf may
decide whether to use JPEG (lossy) compression or lossless
compression based on an analysis of the image.
ABCpdf counts the number of colors used in the image and if the
number is greater than a certain threshold ABCpdf assumes that the
image is continuous tone and thus eligible for JPEG
compression.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| UnloadInterval |
DWORD |
0 |
|
Whether we allow MSHTML to be unloaded when the screen depth
changes.
Appropriate values are 0 (MSHTML is never unloaded) and 10 (it
is unloaded a little while after the screen properties change).
The number actually refers to the number of calls that ABCpdf
makes (once a monitor change has occurred) without keeping MSHTML
force loaded. We assume that at some point during this period,
Windows will unload the DLL.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| MakeURLsUnique |
DWORD |
0 |
|
Whether to make URLs unique when the page cache is disabled. A
URL parameter with a 7-random-uppercase-letter name and a
7-random-uppercase-letter value is added to the URL.
Sometimes caching can occur outside of ABCpdf. Making the URL
unique can provide an effective way of forcing the page to be
refreshed.
|
| Refactor |
DWORD |
1 |
|
Whether to eliminate redundant objects on save or append.
Sometimes PDFs can contain duplicate objects. Eliminating these
duplicates can reduce the size of certain PDF documents.
If this property is set to a non-zero value, then ABCpdf will
attempt to eliminate any redundant objects. This process requires
significant amount of memory and time if the documents contain many
indirect objects.
For appending one document to another, any non-zero value other
than 2 indicates partial refactoring where some redundant objects
that form circular references may not be eliminated, but this takes
shorter time. The value 2 indicates full refactoring. For saving to
file or memory, any non-zero value indicates full refactoring.
|
| PagesMaxKids |
DWORD |
20 |
|
The maximum number of children of non-leaf nodes in the page
tree. If it is 2 or below, no balancing of the page tree is
performed.
The page tree gives the order to the pages. The look-up of pages
from page numbers and the identification of page numbers from the
pages' IDs are performed using the page tree. The time complexity
of these operations is O(PagesMaxKids×log PageCount/log
PagesMaxKids) so the smaller PagesMaxKids, the faster the
operations.
If the value is 3 or above, the entire tree is balanced when the
first time the page tree is modified either by adding a page or
removing a page or a non-leaf node (a Pages object). When a page is
added such that the parent node has more than PagesMaxKids children
or when a page or a non-leaf node is removed such that the
(non-root) parent node has less than PagesMaxKids/2 children (or
equivalently, less than the floor of (PagesMaxKids + 1)/2
children), the page tree is partially balanced. The balancing of
the tree is triggered more often if PagesMaxKids is small.
|
| BgImageVertProximity |
DWORD |
480 |
|
(For HTML Import) ABCpdf treats background and foreground images
differently. For example, it is generally acceptable to split a
background image across pages while it is much less acceptable to
split a foreground image in this way.
For this reason, ABCpdf tries to determine whether images are
foreground or background using a variety of methods.
If the same image appears a number of times within a limited
area of the HTML, ABCpdf will assume it is a background image.
This property represents the vertical distance (in pixels) above
a particular image in which ABCpdf looks for repeated images.
|
| BgImageMinRepeat |
DWORD |
5 |
|
(For HTML Import) ABCpdf treats background and foreground images
differently. For example, it is generally acceptable to split a
background image across pages while it is much less acceptable to
split a foreground image in this way.
For this reason, ABCpdf tries to determine whether images are
foreground or background using a variety of methods.
If the same image appears a number of times within a limited
area of the HTML, ABCpdf will assume it is a background image.
This property represents the number of repeats above which
ABCpdf determines that the image is background.
|
|
NarrowBgImageMaxWidth |
DWORD |
80 |
|
(For HTML Import) ABCpdf treats background and foreground images
differently. For example, it is generally acceptable to split a
background image across pages while it is much less acceptable to
split a foreground image in this way.
For this reason, ABCpdf tries to determine whether images are
foreground or background using a variety of methods.
If an image is very tall and thin, ABCpdf will assume it is a
background image.
This property represents the maximum width for this test.
|
|
NarrowBgImageMinHeight |
DWORD |
480 |
|
(For HTML Import) ABCpdf treats background and foreground images
differently. For example, it is generally acceptable to split a
background image across pages while it is much less acceptable to
split a foreground image in this way.
For this reason, ABCpdf tries to determine whether images are
foreground or background using a variety of methods.
If an image is very tall and thin, ABCpdf will assume it is a
background image.
This property represents the minimum height for this test.
|
| CheckBgImages |
DWORD |
0 |
|
(For HTML Import) Sometimes, Windows can tell ABCpdf that an
HTML page is complete even though background images have not yet
finished loading.
This option allows you to specify that ABCpdf should force-load
any background images.
|
|
HTMLBottomExtraMargin |
DWORD |
30 |
|
(For HTML Import) Change this value to change the extra margin
that ABCpdf adds at the bottom when rendering HTML pages. Due to
rendering issues in Internet Explorer, it is necessary to make the
HTML page a bit taller. This extra margin is then clipped and so it
does not alter the final PDF output.
However, if the page contains objects positioned relatively to
the bottom of the page, the objects may be clipped/shifted. Set
this property to zero or to a smaller value in order to avoid such
problems.
|
| CharWidthRatioMin |
DWORD |
700 |
|
When importing EMF or HTML content, this property specifies the
minimum EMF-to-PDF character-width ratio in 1000ths.
Characters whose (EMF and PDF) widths form ratios between the
specified minimum and CharWidthRatioMax (exclusively) assume the
PDF character widths as font substitution may occur. Characters
whose widths form ratios outside the interval are placed as
specified because the text is placed in an unusual way.
|
| CharWidthRatioMax |
DWORD |
1400 |
|
When importing EMF or HTML content, this property specifies the
maximum EMF-to-PDF character-width ratio in 1000ths.
Characters whose (EMF and PDF) widths form ratios between
CharWidthRatioMin and the specified maximum (exclusively) assume
the PDF character widths as font substitution may occur. Characters
whose widths form ratios outside the interval are placed as
specified because the text is placed in an unusual way.
|
| FlashPreviewTime |
DWORD |
0 |
|
When HTML contained Flash (SWF) movies are added to a PDF
document, ABCpdf will make a preview image for the movie.
The preview is what you will see if you don't have Flash
installed. It is what is used when printing PDFs. In general, it is
what you will see if you open your PDF using a viewer other than
Acrobat.
This value is used for SWF raster import in previous versions
of ABCpdf and has the same meaning as FlashPreviewWaitTime for SWF
vector import.
When the movie is intialized, you can specify a time (in
milliseconds) at which the movie will be started.
Note that many movies contain script which can alter the way
that the movie is played. For example, a script might reset the the
current frame to the start after five seconds of content have been
played. So the content you get by setting the preview time to ten
seconds may be very different to the content a user will see after
watching the movie for ten seconds.
|
| FlashPreviewWaitTime |
DWORD |
2000 |
|
When HTML contained Flash (SWF) movies are added to a PDF
document, ABCpdf will make a preview image for the movie.
The preview is what you will see if you don't have Flash
installed. It is what is used when printing PDFs. In general, it is
what you will see if you open your PDF using a viewer other than
Acrobat.
This property determines the time (in milliseconds) that the
movie will be given to play before the preview will be made.
Note that many movies contain script which can alter the way
that the movie is played. For example, a movie might reset the the
current frame to the start after five seconds of content have been
played. So the content you get by setting the preview time to ten
seconds may be very different to the content a user will see after
watching the movie for ten seconds.
|
| FlashPreviewDPI |
DWORD |
96 |
|
When HTML contained Flash (SWF) movies are added to a PDF
document, ABCpdf will make a preview image for the movie.
The preview is what you will see if you don't have Flash
installed. It is what is used when printing PDFs. In general, it is
what you will see if you open your PDF using a viewer other than
Acrobat.
This value is used for SWF raster import in previous versions
of ABCpdf and is not used for SWF vector import.
This property determines the resolution (in dots per inch) at
which the preview will be made.
|
| RenderNoBitmap |
STRING |
0 |
|
This parameter allows low-level control over the way that
documents are rendered to vector formats like EMF and EPS.
During the generation of an EMF or EPS file, bitmap generation
due to transparency detection will be suppressed. This can cause
some unexpected results as neither EMF nor EPS format supports
transparency and non-default blending modes to the extent that PDF
does.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| RenderNoDisplayList |
STRING |
0 |
|
This parameter allows low-level control over the way that
documents are rendered to bitmap outputs.
During the generation of a high-resolution or scene-antialiased
bitmap, the renderer stores PDF rendering objects in a display
list. The bitmap is broken into sections and the display list is
rendered to each section.
For some very complex PDF files, this display list can become
rather large and consume a lot of memory. In these cases, it is
better to allocate a complete image and render the PDF objects
directly to the image than it is to try and store the individual
PDF objects.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| RenderTextAsText |
STRING |
1 |
|
This parameter allows low-level control over the way that text
is rendered into vector formats like EPS.
If the value is true, the text is placed directly into the
output file when possible. If it is false, the text is converted to
vectors, which are then output to the file.
The former method results in smaller files. The latter results
in larger but font-independent output files. It is important to
note that not everything that looks like text is actually text or
can be extracted as text.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| RenderEmfType |
STRING |
1 |
|
This parameter allows low-level control over the way that
documents are rendered to EMF.
This setting controls the type of EMF output. Possible values
are:
- 0 - EmfOnly
- 1 - EmfPlusOnly
- 2 - EmfPlusDual.
You may want to change the setting to EmfPlusDual, which means
that both EMF and EMF+ entries are included in the output. This
produces greater compatibility but at the cost of a doubling in
file size.
This property is only accessible using the SetInfo method. The
default cannot be overridden using a registry key.
|
| NeverClipAppearances |
DWORD |
1 |
|
This parameter allows control over the way that text field
appearances are generated.
Some documents contain text fields which are not tall enough for
the text that they contain. There are two choices here. You can
preserve the requested text size and let the text be clipped.
Alternatively, you can reduce the text size so that it fits the
height of the field.
The default behavior is to reduce the text size. However, in
some cases you may want to override this behavior by altering this
setting.
|
| CheckDisplaySettings |
DWORD |
0 |
|
Changing the screen resolution while a process is running can
cause some versions of MSHTML to become confused. If the screen
size is reduced then portions of the output HTML may be clipped at
the right hand side.
It is unusual for this to be a problem because changing the
screen resolution is not a normal event. However some remote access
applications can change screen settings in an uncontrolled way
which means that someone logging onto a server remotely can
sometimes trigger this kind of event in a long running process such
as a web application.
This registry key allows you to control what ABCpdf does when
this type of event is detected. The possible options are.
- 0 - Ignore any screen changes.
- 1 - Raise an exception "Display settings changed.". This may be
used as a trigger for recycling the current package and thus
resolving the issue.
- 2 - Attempt to revert screen to previous settings, raising an
exception only if this could not be done.
|
| RenderInstallFonts |
DWORD |
0 |
|
This registry key allows you to control the installation of
embedded fonts when rendering to EMF.
By default, when you use Rendering.GetData to render to EMF,
fonts will be installed in memory and will remain available to the
ABCpdf process until Doc.Clear is called. This means that the EMF
can be spooled to a printer and the fonts will appear
correctly.
By default, when you use Rendering.Save to render to EMF,
embedded fonts are not installed and text will be rendered as
polygons for any fonts that are not available on the system. This
is because when an EMF file is viewed outside the ABCpdf process,
memory-resident fonts are not available. Thus any text using those
fonts would be subject to font substitution by Windows.
Set this value to 0xFFFFFFFF to disable the installation of
embedded fonts in memory, even when calling Rendering.GetData. This
results in text rendered with polygons for embedded fonts. Hence,
the rendering is slower and the output is bigger.
Set this value to 1 to always install fonts, even when calling
Rendering.Save. This results in faster rendering and smaller
outputs. However, viewing emf files outside the ABCpdf process may
not display embedded fonts correctly.
|
| PrintHookLog |
DWORD or STRING |
0 |
|
Set this value to 1 to enable the logging of the PrintHook
library using %SystemRoot%\Temp or set it to a path to
a folder to enable the logging using that folder.
The PrintHook library is used to print files to XPS, which are
then converted to PDF in ImportAny operations. We may ask you to
enable the logging and send us the log files for debugging purposes
if you request us to solve related problems.
Log files are named spy_<PID>.txt.
On 64-bit machines, you will need to set this value in the
32-bit registry section (Wow6432Node) as well for intercepting
32-bit processes.
|
| PrintHookShow |
DWORD |
0 |
|
Set this value to 1 for viewing applications that are launched
by Operations.ImportAny(), typically Office applications. Set it to
0 or remove it to hide them.
We use Office applications to print their documents to XPS
files, which we then convert to PDF. Sometimes these applications
get stuck on pop-ups of various types, so it may be useful to see
what they are doing.
Please note that there are limitations with this feature—it may
not be possible to view applications that run under a different
user account. This is normally the case when running Office
Applications in a web server process.
|