© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 20/43
5.3.3 Features and their Impact on Performance
The performance of the PDF Merge Split API is determined by the complexity of the input documents as well as by
the options chosen. The following options have an impact on performance (ordered by effect on performance):
Tagged PDF: (Option CopyLogicalStructure) Copying and merging of logical structure information is complex
and requires both time and memory. You may deactivate this option, if performance is more important to you 
than preserving tagging information.
Interactive Form Fields: (Option CopyForms) If the input documents contain interactive form fields that need not
be editable in the output document, the FlattenFormFields option can be used. This speeds the merge process 
up significantly while preserving the visual appearance of form fields.
Optimize Resources: (Option OptimizeResources) Detecting and merging duplicate resources takes both time 
and memory.
Outlines: (Option CopyOutlines) Copying and merging of outlines takes some time.
Named Destinations: (Option RemoveNamedDests) Copying and merging of named destinations takes both 
time and memory.
6Programmer’s Reference
Note: this manual describes the COM interface only. Other interfaces (C, Java,
.NET) however work similarly, i.e. they have calls with similar names and the call
sequence to be used is the same as with COM.
6.1
InDoc 
Interface
6.1.1
Close
Method:
Boolean Close()
Close an opened input file. If the document is already closed the method does nothing.
Returns:
True
The file was closed successfully.
False
Otherwise.
Convert pdf to openoffice text document - SDK application service:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Convert pdf to openoffice text document - SDK application service:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 21/43
6.1.2
CropBox
Property (get):
Variant CropBox
This property returns the crop box of the current page defined by the property
Page
. The crop box rectangle is 
described by the coordinates left, bottom, right, top.  If no crop box is defined, the media box is returned.  The 
values are returned as an array of four single precision real numbers. This property cannot be set.
In order to get the dimensions of the page as it is displayed by a viewer application, the rectangle must be rotated 
according to the property
Rotate
.
6.1.3
ErrorCode
Property (get):
TPDFErrorCode ErrorCode
This property can be accessed to receive the latest error code. See also enumeration
TPDFErrorCode
. PDF-Tools 
error codes are listed in the header file
bseerror.h
 Please note that only few of them are relevant for the 3-
Heights™ PDF Merge Split API.
6.1.4
ErrorMessage
Property (get):
String ErrorMessage
Return the error message text associated with the last error (see property
ErrorCode
).
Note: The property is
NULL
if no message is available.
6.1.5
GetXMPMetadata
Method:
Boolean GetXMPMetadata(String FileName)
Write the XMP metadata to the specified file.
6.1.6
GetXMPMetadataMem
Method:
Variant GetXMPMetadataMem()
Returns XMP metadata as byte-array.
SDK application service:C# Create PDF from OpenOffice to convert odt, odp files to PDF in
in C#.NET. Convert OpenOffice Text Document to PDF with embedded fonts. Export PDF from OpenOffice Spreadsheet data. Create PDF document
www.rasteredge.com
SDK application service:VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
conversion. Create PDF document from OpenOffice Text Document with embedded fonts. Convert OpenOffice Spreadsheet data to PDF. Export
www.rasteredge.com
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 22/43
6.1.7
InfoEntry
Method:
String InfoEntry(String Key)
Retrieve or add a key-value pair to the document’s info object. Values of predefined keys are also stored in the XMP 
metadata package.
Popular entries specified in thePDF Reference1.7
and accepted by most PDF viewers are
"Title"
,
"Author"
,
"Subject"
,
"Creator"
(sometimes referred to as Application) and
"Producer"
(sometimes referred to as PDF
Creator).
Parameter:
Key [String
A key as string.
Returns:
The value as string.
Examples in Visual Basic 6:
Get the document title.
t = InfoEntry("Title")
Set the document title.
InfoEntry("Title") = "my title"
Set the creation date to 13:55:33, April 5, 2010, UTC+2.
InfoEntry("CreationDate") = "D:20100405135533 + 02'00'"
6.1.8
MediaBox
Property (get):
Variant MediaBox
Use this property to get the PDF “MediaBox” of the current page defined by the property
Page
 The MediaBox
rectangle is described by the coordinates left, bottom, right, top. The values are returned as an array of four single 
precision real numbers. The media box is required, it defines the physical boundaries of the medium on which the 
page is intended to be displayed or printed.
Usually the MediaBox is rotated by viewer applications according to the property
Rotate
.
SDK application service:C# HTML5 Viewer: Load, View, Convert, Annotate and Edit OpenOffice
OpenOffice Conversion. • By using C#.NET RasterEdge HTML5 Viewer, users can perform these conversions: convert ODT to PDF document (.pdf) online, convert
www.rasteredge.com
SDK application service:C# WinForms Viewer: Load, View, Convert, Annotate and Edit
C# WinForms Viewer: Load, View, Convert, Annotate and Except to process PDF, Microsoft Office documents and Supported OpenOffice file formats, CSV file and
www.rasteredge.com
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 23/43
6.1.9
Open
Method:
Boolean Open(String Filename, String Password)
Open a PDF file, i.e. make the objects contained in the document accessible. If a document is already open, it is 
closed first.
Parameters:
Filename [String
The file name and optionally the file path, drive or server string according to the oper­
ating systems file name specification rules.
Password [String
(optional) The user or the owner password of the encrypted PDF document.  If this 
parameter is left out an empty string is used as a default.
Returns:
True
The file could be successfully opened.
False
The file does not exist, it is corrupt, or the password is not valid. Use the property
ErrorCode
for addi­
tional information.
6.1.10
OpenMem
Method:
Boolean OpenMem(Variant MemBlock, String Password)
Open a PDF file, i.e. make the objects contained in the document accessible. If a document is already open, it is 
closed first.
Parameters:
MemBlock [Variant
The memory block containing the PDF file given as a one dimensional byte array.
Password [String
(optional) The user or the owner password of the encrypted PDF document.  If this 
parameter is left out an empty string is used as a default.
Returns:
True
The document could be successfully opened.
False
The document could not be opened, it is corrupt, or the password is not valid.
SDK application service:C# WPF Viewer: Load, View, Convert, Annotate and Edit OpenOffice
Convert CSV file to PDF (.pdf). Convert CSV file to HTML (.htm, .html). Annotation. Protection. • Create signatures to OpenOffice document.
www.rasteredge.com
SDK application service:C# Create PDF Library SDK to convert PDF from other file formats
Create writable PDF from text (.txt) file. HTML webpage to interactive PDF file creator freeware. Create multipage PDF from OpenOffice and CSV file.
www.rasteredge.com
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 24/43
6.1.11
Page
Property (get, set):
Long Page
This property allows to set and get the currently selected page of an open document given its page number.
The numbers are counted from 1 for the first page to the value of the
PageCount
attribute for the last page. If the 
document is closed zero is returned.
6.1.12
PageCount
Property (get):
Long PageCount
Get the number of pages of an open document. If the document is closed or if the document is a collection (also 
known as PDF Portfolio) then this property is
0
.
6.1.13
Rotate
Property (get):
Integer Rotate
Return the rotation value of the page. This value is used by viewer programs to turn the page by the given number of 
degrees while displaying. A positive number turns the page clockwise. The value must be a multiple of 90, i.e.valid 
values are -270, -180, -90, 0, 90, 180, 270.
6.2
OutDoc 
Interface
6.2.1
AddAssociatedFile
Method:
Boolean AddAssociatedFile(String FileName, String Name, Integer
AssociateString AFRelationshipString MimeTypeString DescriptionDATE
ModDate)
Add a file to the document’s embedded files. For PDF/A-3, the embedded file is associated with an object of the 
document, i.e.  it is an associated file.  This method must be called after
Create
and before
Close
 The file is 
embedded as-is. Embedding files is not allowed for PDF/A-1 and restricted to PDF/A compliant files for PDF/A-2.
Parameters:
FileName [String
The path (or URL) to the file to be embedded.
SDK application service:C# PDF Text Extract Library: extract text content from PDF file in
Free online source code for extracting text from adobe PDF document in C#.NET class. Ability to extract highlighted text out of PDF document.
www.rasteredge.com
SDK application service:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
easy for C# developers to convert and transform style that are included in target PDF document file original formatting and interrelation of text and graphical
www.rasteredge.com
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 25/43
Name [String
The name used for the embedded file. This name is presented to the user when viewing the 
list of embedded files. Default:
FileName
with the path removed.
Associate [Integer
(Default:
-1
 The object to associate the embedded file with.
-1
for none,
0
for
document, number greater than
0
for respective page. If the embedded file is associated with a page, the page 
must have been copied already.
AFRelationship [String
(Default:
"Unspecified"
 The relationship of the embedded file to the ob­
ject associate. (Ignored, if Associate is
-1
.) Allowed values are
"Source"
,
"Data"
,
"Alternative"
,
"Sup-
plement"
, and
"Unspecified"
.
MimeType
[String
(Default:
"application/octet-stream"
 Mime-type of the embedded file.
Common values other than the default are
"application/pdf"
,
"application/xml"
, or
"applica-
tion/msword"
.
Description [String
(Default:
""
 A description of the embedded file. This is presented to the user
when viewing the list of embedded files.
ModDate [DATE
The modify date of the file. Default: The modify date of the file on the file system or current
time, if not available.
Returns:
True
The file was embedded successfully.
False
Otherwise.
Example:
outdoc.AddAssociatedFile "c:\data\input.doc", "", 0, "Source",
"application/msword", "", 0
6.2.2
AddEmbeddedFile
Method:
Boolean AddEmbeddedFile(String FileName, String Name)
This is a simplified call that is equal to
AddAssociatedFile
with default arguments. This is for convenience, for
example when embedding files in a PDF/A-2 conforming document.
6.2.3
AddOutlineItem
Method:
AddOutlineItem(String TextLong PageNoSingle LeftSingle Bottom,
Single Right, Single Top, Single Zoom, Integer Mode)
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 26/43
This method adds a new outline (bookmark) item including name and its position. To apply multiple outlines, call 
the function multiple times. The relevant parameters depend on the parameter Mode. The outline item is inserted 
at the end of the existing outline tree.
Parameters:
Text [String
the displayed text.
PageNo [Long
the target page number in this document.
Left [Single
the left position in points.
Bottom [Single
the bottom position in points.
Right [Single
the right position in points.
Top [Single
the top position in points.
Zoom [Single
the zoom level; 1 = 100%.
Mode [Integer
the destination type. This must be a value between
0
and
7
. See
TPDFDestMode
.
Example:
Dim outdoc As New PDFSPLMRGAPILib.outdoc
Dim indoc As New PDFSPLMRGAPILib.indoc
If indoc.Open("in.pdf", "") Then
outdoc.Create "out.pdf"
outdoc.CopyOutlines = False
outdoc.CopyPages indoc
outdoc.AddOutlineItem "Page 1, Fit", 1, 0, 0, 0, 0, 0, 1
outdoc.AddOutlineItem "Page 2, @50,400,300%", 2, 50, 0, 0, 400, 3, 0
outdoc.AddOutlineItem "Page 3, FitH", 3, 0, 0, 0, 2000, 0, 2
outdoc.Close
indoc.Close
End If
Set indoc = Nothing
Set outdoc = Nothing
6.2.4
AddOutlineItem2
Method:
AddOutlineItem2(String TextLong PageNoSingle LeftSingle Bottom,
Single Right, Single Top, Single Zoom, Integer Mode, Integer Level, Boolean
Open)
This method adds a new outline (bookmark) item including name and its position. To apply multiple outlines, call 
the function multiple times. The relevant parameters depend on the parameter
Mode
. The outline item is inserted 
in the end of the existing outline tree at the hierarchy level specified. This method can be used to create an arbitrary
outline hierarchy and can be used in combination with the method
CopyOutlineItems
.
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 27/43
Parameters:
Text [String
the displayed text.
PageNo [Long
the target page number in this document.
Left [Single
the left position in points.
Bottom [Single
the bottom position in points.
Right [Single
the right position in points.
Top [Single
the top position in points.
Zoom [Single
the zoom level; 1 = 100%.
Mode [Integer
the destination type. This must be a value between
0
and
7
. See
TPDFDestMode
.
Level [Integer
The hierarchy level within the existing outline tree at which the outline item is appended.
Level
0
for top level.
Open [Boolean
Whether or not this outline should initially be open (child outline items expanded) or closed 
(child outline items collapsed).
6.2.5
Author
Property (get, set):
String Author
Default:
""
This property sets the Author attribute in the document.
6.2.6
Close
Method:
Boolean Close()
Close an opened input file. If the document is already closed the method does nothing.
Returns:
True
The file was closed successfully.
False
Otherwise.
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 28/43
6.2.7
CopyAssociatedFiles
Property (get, set):
Boolean CopyAssociatedFiles
Default:
False
If this option is set to
True
, associated files are copied in
CopyPages
and
CopyEmbeddedFiles
. For PDF/A-3 
compliance, this property must be set to
True
and the method
CopyEmbeddedFiles
must be called.
6.2.8
CopyAttributes
Method (deprecated):
Boolean CopyAttributes(InDoc InDoc)
Use the methods
CopyMetadata
,
CopyViewerProperties
, and
CopyOutputIntent
.
6.2.9
CopyEmbeddedFiles
Method:
CopyEmbeddedFiles(InDoc InDocBoolean All)
This method copies embedded files from the input document. If the property
CopyAssociatedFiles
is set, the 
document’s associated files are copied as well.
Parameters:
InDoc [InDoc
The input document.
All [Boolean
If set to
True
: Copy all embedded files. If set to
False
: Copy embedded files associated with 
document and pages copied with
CopyPages
only. (PDF/A-3 only,
CopyAssociatedFiles
must be set to
True
.)
6.2.10
CopyForms
Property (get, set):
Boolean CopyForms
Default:
True
Get or set the option to copy interactive form fields in
CopyPages
. See also
FlattenFormFields
.
6.2.11
CopyLogicalStructure
Property (get, set):
Boolean CopyLogicalStructure
Default:
True
© PDF Tools AG – Premium PDF Technology 
3-Heights™ PDF Merge Split API, March 24, 2016 29/43
Get or set the option to copy logical structure information in
CopyPages
. It is recommended to set this option, if 
all input documents are Tagged PDF. Otherwise this could be deactivated in order to create smaller output files and 
get a much better performance of
CopyPages
. This option is required for PDF/A levelA conformance.
6.2.12
CopyMetadata
Method:
Boolean CopyMetadata(InDoc InDoc)
Copy info object and XMP metadata from an
InDoc
. This method should only be called once per output document.
Setting the XMP metadata automatically adjusts and thereby overrides the current document info entries. Therefore 
document info entries must always be applied after setting the XMP meta-data to become effective (applies to 
properties
Author
,
Keywords
,
Subject
and
Title
).
6.2.13
CopyOptionalContent
Method:
Boolean CopyOptionalContent(InDoc InDoc, String Text)
Copy configuration data for optional content groups (layers). The groups are collected under the name given in the 
parameter
Text
. If this parameter is
NULL
, then the document title of
InDoc
is used as
Text
, unless the document
title is empty in which case the file name is chosen.
This method is intended to be used prior to calling
CopyPages
when
MergeOptionalContent
is set to
False
.
6.2.14
CopyOutlines
Property (get, set):
Boolean CopyOutlines
Default:
True
Get or set the option to copy outlines in
CopyPages
.
6.2.15
CopyOutlineItems
Method:
Boolean CopyOutlineItems(InDoc InDoc, Long FirstPage, Long LastPage,
Integer Level)
Copy outline items of the page range. The outline items are inserted in the end of the existing outline tree at the 
hierarchy level specified. The pages of the page range must be copied using
CopyPages
before calling the
Copy-
OutlineItems
method. It is recommended to set the
CopyOutlines
option to False. The method CopyOut­
lineItems can be used in combination with the
AddOutlineItem
method.
Documents you may be interested
Documents you may be interested