pdf viewer in mvc c# : Cut and paste pdf images SDK software service wpf windows .net dnn TET-4.2-manual16-part1735

10.7  Document Functions 161
10.7 Document Functions
C++ int open_document(wstring filename, wstring optlist)
C#  Java int open_document(String filename, String optlist)
Perl PHP long open_document(string filename, string optlist)
VB  RB Function open_document(filename As String, optlist As String) As Long
C int TET_open_document(TET *tet, const char *filename, int len, const char *optlist)
Open a disk-based or virtual PDF document for content extraction.
filename (Name string) Absolute or relative name of the PDF input file to be processed. 
The file will be searched in all directories specified in the searchpath resource category. 
On Windows it is OK to use UNC paths or mapped network drives. In PHP Unicode file-
names must be UTF-8.
In non-Unicode language bindings file names with len = 0 will be interpreted in the 
current system codepage unless they are preceded by a UTF-8 BOM, in which case they 
will be interpreted as UTF-8 or EBCDIC-UTF-8.
len (Only C language binding) Length of filename (in bytes) for UTF-16 strings. If len = 0 
a null-terminated string must be provided.
optlist An option list specifying document options according to Table 10.8. The follow-
ing options can be used:checkglyphlists, decompose, encodinghint, fold, 
glyphmapping
lineseparator
, normalize, inmemory, password, repair, 
requiredmode
, shrug, tetml, usehostfonts, 
wordseparator
Returns -1 on error, or a document handle otherwise. For example, it is an error if the input doc-
ument or the TETML output file cannot be opened. If -1 is returned it is recommended to 
call TET_get_errmsg( ) to find out more details about the error.
Details Within a single TET object an arbitrary number of documents may be kept open at the 
same time. However, a single TET object must not be used in multiple threads simulta-
neously without any locking mechanism for synchronizing the access.
Encryption: if the document is encrypted its user password must be supplied in the 
password option if the permission settings allow content extraction. The document’s 
master password must be supplied if the permission settings do not allow content ex-
traction. If the requiredmode option has been specified, documents can be opened even 
without the appropriate password, but operations are restricted. The shrug option can 
be used to enable content extraction from protected documents under certain condi-
tions (see Section 5.1, »Extracting Content from protected PDF«, page 59).
Supported file systems on i5/iSeries: TET has been tested with PC type file systems 
only. Therefore input and output files should reside in PC type files in the IFS (Integrat-
ed File System). The QSYS.lib file system for input files has not been tested and is not 
supported. Since QSYS.lib files are mostly used for record-based or database objects, un-
predictable behavior may be the result if you use TET with QSYS.lib objects. TET file I/O is 
always stream-based, not record-based.
Cut and paste pdf images - copy, paste, cut PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed tutorial for copying, pasting, and cutting image in PDF page using C# class code
paste image into pdf acrobat; paste image into pdf preview
Cut and paste pdf images - VB.NET PDF copy, paste image library: copy, paste, cut PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Tutorial for How to Cut or Copy an Image from One Page and Paste to Another
copy images from pdf; how to copy a picture from a pdf to a word document
162
Chapter 10:  TET Library API Reference
Table 10.8 Document options for TET_open_document( ) and TET_open_document_callback( )
option
description
check-
glyphlists
(Boolean) If true, TET will check all builtin glyphmapping rules with condition=allfonts before text ex-
traction starts. Otherwise the global glyphmapping rules will not be applied. This option slows down 
processing, but is useful for certain kinds of TeX documents with glyph names which cannot be mapped 
to Unicode by default. Default: false
decompose
(Keyword or option list) Unicode decompositions which will be applied to all characters which have a 
specified Unicode decomposition tag and are part of the specified Unicode set. These conditions are pro-
vided in the suboption name and value. Decompositions can be used to either remove or preserve the dis-
tinction between equivalent Unicode characters (see Section 7.3, »Unicode Postprocessing«, page 97).
Default:see »Default decompositions«, page 103. However, if the normalize option has a value other 
than none, all default decompositions are disabled, i.e. setting the normalize option sets the default to 
decompose=none. However, user-specified decompositions can still be applied.
The following keywords can be supplied instead of a list:
none
No decompositions will be applied.
default
The default decompositions (see »Default decompositions«, page 103) will be applied before 
other specified decompositions.
The following suboptions for decompositions are supported:
canonical, circle, compat, final, font, fraction, initial, isolated, medial, narrow, nobreak, small, square, 
sub, super, vertical, wide
Each of these suboptions accepts a string or keyword which specifies the decomposition’s domain, i.e. the 
set of Unicode characters to which the decomposition will be applied. A string specifies a Unicode set for 
the domain. This can be used to restrict decompositions to subsets of the characters with the specified 
decomposition tag. Characters outside the domain will not be modified.
As an alternative to a string for a Unicode set the following keywords can be supplied:
_all
The set of all Unicode characters, i.e. the decomposition will be applied to all characters with 
the specified decomposition tag.
_none
The empty set, i.e. the decomposition will not be applied at all.
encodinghint (String
1
) The name of an encoding which will be used to determine Unicode mappings for glyph names 
which cannot be mapped by standard rules, but only by a predefined internal glyph mapping rule. The 
keyword none can be used to disable all predefined rules. Default: winansi
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Please refer to below listed demo codes. VB.NET DLLs: Extract, Copy and Paste PDF Page. using RasterEdge.XDoc.PDF; VB.NET: Extract All Images from PDF Document.
how to copy pictures from a pdf; copy image from pdf to ppt
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
C#.NET PDF Library - Copy and Paste PDF Pages in C#.NET. Easy to C#.NET Sample Code: Copy and Paste PDF Pages Using C#.NET. C# programming
how to paste a picture in a pdf; paste image in pdf file
10.7  Document Functions 163
fold
(Keyword or list of lists; the first element of each inner list is a Unicode set or keyword, the second ele-
ment is a Unichar or a keyword) Apply a folding (equivalence mapping) to all characters in a folding do-
main specified as a Unicode set. The foldings will be applied to all text except separator characters added 
by the lineseparator or wordseparator options (see see Section 7.3, »Unicode Postprocessing«, page 97). 
Default: see Table 7.3, page 99.
The following keyword can be supplied instead of a list:
none
No foldings will be applied.
The following keyword can be supplied instead of a sublist:
default
The default foldings will be applied before other specified foldings.
The first element of each list specifies the folding’s domain, i.e. the set of Unicode characters to which the 
folding will be applied. A string specifies a Unicode set for the domain. If a character is included in multi-
ple sets specified within the fold option, the first matching set definition has priority over all others. In 
order to avoid problems it is recommended to use disjoint sets.
As an alternative to a Unicode set the following keyword can be supplied:
_dehyphenation
The folding will be applied to hyphen characters which have been found within hyphenated 
words at line breaks. These characters will be flagged in the attributes member returned by 
TET_get_char_info() and the @dehyphenation attribute in TETML.
The second element in each list contains the target character or action for the folding. It is specified with 
one of the following variants:
(Unichar) Replace all characters in the domain with the specified Unicode character.
remove
All characters in the domain will be removed.
preserve The characters in the domain will not be modified.
unknownchar
Replace all characters in the domain with the character specified in the unknownchar option.
glyphmapping
(List of option lists) A list of option lists where each option list describes a glyph mapping method for one 
or more font/encoding combinations which cannot reliably be mapped with standard methods. The 
mappings will be used in least-recently-set order. If the last option list contains the font name wildcard 
»*«, preceding mappings will no longer be used. Each rule consists of an option list according to Table 
10.9. All glyph mappings which match a particular font name will be applied to this font. (default: pre-
defined internal glyph rules will be applied).
Note that glyph mapping rules can also be specified as an external resource in the UPR file (see Section 
5.2, »Resource Configuration and File Searching«, page 61).
lineseparator
(Unichar; Only for granularity=page) Character to be inserted between lines
2
. Default: U+000A
normalize
(Keyword) Normalize the text output to one of the Unicode normalization forms (default: none):
none
Do not apply any normalization.
nfc
Normalization Form C (NFC): canonical decomposition followed by canonical composition
nfd
Normalization Form D (NFD): canonical decomposition
nfkc
Normalization Form KC (NFKC): compatibility decomposition followed by canonical composi-
tion
nfkd
Normalization Form KD (NFKD): compatibility decomposition
Since the Unicode normalization forms involve canonical and compatibility decompositions, combina-
tions of the options decompose and normalize must be constructed carefully. Setting the normalize op-
tion to a value different from none sets the decomposition default to decompose=none. The normalize 
option is processed after the decompose option.
inmemory
(Boolean; Only for TET_open_document( )) If true, TET will load the complete file into memory and pro-
cess it from there. This can result in a tremendous performance gain on some systems (especially MVS) at 
the expense of memory usage. If false, individual parts of the document will be read from disk as need-
ed. Default: false
Table 10.8 Document options for TET_open_document( ) and TET_open_document_callback( )
option
description
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Selection for compressing to multiple image formats. Cut and paste any areas in PDF pages to images. Supports to resize images in conversion.
how to copy picture from pdf to powerpoint; copy images from pdf to powerpoint
C# PDF remove image library: remove, delete images from PDF in C#.
page. Define position to remove a specific image from PDF document page. Able to cut and paste image into another PDF file. Export
paste image into pdf form; how to copy and paste an image from a pdf
164
Chapter 10:  TET Library API Reference
password
(String) The user, master or attachment password for encrypted documents. If the document’s permission 
settings allow text copying then the user password is sufficient, otherwise the master password must be 
supplied.
See the pCOS Path Reference to find out how to query a document’s encryption status, and pCOS opera-
tions which can be applied even without knowing the user or master password.
The shrug option can be used to enable content extraction from protected documents under certain con-
ditions (see Section 5.1, »Extracting Content from protected PDF«, page 59).
repair
(Keyword) Specifies how to treat damaged PDF documents. Repairing a document takes more time than 
normal parsing, but may allow processing of certain damaged PDFs. Note that some documents may be 
damaged beyond repair (default: auto):
force
Unconditionally try to repair the document, regardless of whether or not it has problems.
auto
Repair the document only if problems are detected while opening the PDF.
none
No attempt will be made at repairing the document. If there are problems in the PDF the 
function call will fail.
requiredmode
(Keyword) The minimum pcosmode (minimum/restricted/full) which is acceptable when opening the 
document. The call will fail if the resulting pcosmode (see the pCOS Path Reference) would be lower than 
the required mode. If the call succeeds it is guaranteed that the resulting pcosmode is at least the one 
specified in this option. However, it may be higher; e.g. requiredmode=minimum for an unencrypted docu-
ment will result in full mode. Default: full
shrug
(Boolean) If true, the shrug feature will be activated to enable content extraction from protected docu-
ments under certain conditions (see Chapter 5.1, »Extracting Content from protected PDF«, page 59). By 
using the shrug option you assert that you will honor the PDF document author’s rights. Default: false
tetml
(Option list) TETML output will be initiated, and can be created page by page with TET_process_page( ). 
The following suboptions are supported:
elements (List of Boolean) Specify whether certain TETML elements will be included in the output 
(default: all true):
docinfo
The /TET/Document/DocInfo element
docxmp
The /TET/Document/Metadata element
options
The elements /TET/Document/Options and /TET/Document/Pages/Page/Options
encodingname
(Keyword) The name to use in the XML encoding declaration of the text declaration of the 
generated TETML. The output will always be created in UTF-8 (default: UTF-8):
_none
No encoding declaration will be created; the output will still be in UTF-8 format.
UTF-8
The declaration encoding="UTF-8" will be created.
Any other encoding name will be used literally in the encoding declaration. The client is 
responsible for supplying a suitable encoding name and converting the generated TETML 
(which is UTF-8) to the specified encoding after TET finished TETML output.
filename (String) The name of the TETML file. If no filename is supplied, output will be created in 
memory, and can be retrieved with TET_get_xml_data( ). If the function call fails (i.e. the PDF 
input document could not successfully be opened), no TETML output will be created.
unknown-
char
(Unichar) Character to be used as a replacement for characters which cannot be mapped to Unicode be-
cause of inconsistent or missing information in the PDF document. U+0000 means that unknown char-
acters will be removed. Default: U+FFFD (Replacement Character)
Related options: use fold={{[:Private_Use:] unknownchar}} to also replace unknown (PUA) charac-
ters with the specified unknownchar, or fold={{[:Private_Use:] remove}} to remove them.
Table 10.8 Document options for TET_open_document( ) and TET_open_document_callback( )
option
description
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Able to extract vector images from PDF. Extract all images from whole PDF or a specified PDF page. C#: Extract All Images from PDF Document.
how to copy a pdf image into a word document; copy and paste image from pdf
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Able to extract images from PDF in both .NET WinForms and ASP.NET project. using RasterEdge.XDoc.PDF; VB.NET: Extract All Images from PDF Document.
paste jpeg into pdf; copy image from pdf preview
10.7  Document Functions 165
usehostfonts (Boolean) If true, data for fonts which are not embedded, but are required for determining Unicode 
mappings will be searched on the OS X or Windows host operating system. Default: true
wordseparator
(Unichar; Only for granularity=line and page) Character to be inserted between words
2
. Default: 
U+0020
1. See footnote 2 in Table 10.9
2. Use U+0000 to disable the separator.
Table 10.8 Document options for TET_open_document( ) and TET_open_document_callback( )
option
description
VB.NET PDF url edit library: insert, remove PDF links in vb.net
class. Copy, cut and paste PDF link to another PDF file in VB.NET project. Extract and search url in existing PDF file in VB.NET. Link
how to paste picture on pdf; copy and paste images from pdf
How to C#: Basic SDK Concept of XDoc.PDF for .NET
from PDF to Word (.docx) and raster images are also easily create, load, combine, and split PDF file(s insert, delete, re-order, copy, paste, cut, rotate, and
paste jpg into pdf preview; how to copy pictures from pdf file
166
Chapter 10:  TET Library API Reference
Table 10.9 Suboptions for the glyphmapping option of TET_open_document( ) and TET_open_document_callback( )
option
description
codelist
(String) Name of a codelist resource to be applied to the font. It will have higher priority than an embed-
ded ToUnicode CMap or encoding entry.
fontname
(Name string) Partial or full name of the font(s) which will be selected for the rule. If a subset prefix has 
been supplied only the specified subset will be selected. If no subset prefix has been supplied, all fonts 
where the name (without any subset prefix) matches will be selected. Limited wildcards
1
are supported. 
Default: *
fonttype
(List of keywords) The glyphmapping will only be applied to the specified font types: * (designates all font 
types), Type1, MMType1, TrueType, CIDFontType2, CIDFontType0, Type3. Default: *
force-
encoding
(List with one or two strings
2
, If there are two names, the first must be winansi, macroman, or Custom)
Fonts with an 8-bit encoding: Replace the first encoding with the encoding resource specified by the sec-
ond name. If only one entry is supplied, the specified encoding will be used to replace all instances of 
MacRoman, WinAnsi, and MacExpert encoding. If this option matches a font no other glyph mappings will 
be applied to the same font.
CID fonts: Only the single value unicode is supported. It interprets CID values as Unicode values.
forcettsymbol-
encoding
(Keyword or string
2
) The name of an encoding which will be used to determine Unicode mappings for 
embedded pseudo TrueType symbol fonts which are actually text fonts, or one of the following keywords 
(default: auto):
auto
If the font’s builtin encoding (see below) contains at least one Unicode character in the 
symbolic range U+F0000-U+F0FF, the encoding specified in the encodinghint option will be 
used to map the pseudo symbol characters to real text characters. Otherwise encodinghint 
will not be used, and the characters will be mapped according to the builtin keyword.
builtin
Use the font’s builtin encoding, which results from the Unicode mappings of the glyph names 
in the font’s post table.
The well-known TrueType fonts Wingdings* and Webdings* will always be treated as symbol fonts.
globalglyphlist
(Boolean) If true, the specified glyph list will be kept in memory until the end of the TET object, i.e. it can 
be applied to more than one document. Default: false
glyphlist
(String) Name of a glyphlist resource to be applied
glyphrule
(Option list) Mapping rule for numerical glyph names (in addition to the predefined rules). The option list 
must contain the following suboptions:
prefix
(String; may be empty) Prefix of the glyph names to which the rule will be applied.
base
(Keyword) Specifies the interpretation of glyph names:
ascii
Single-byte glyphnames will be interpreted as the corresponding literal ASCII 
character (e.g. 1 will be mapped to U+0031).
auto
Automatically determine whether glyph names represent decimal or hexadecimal 
values. If the result is not unique, decimal will be assumed.
dec
The glyphnames will be interpreted as a decimal representation of a code.
hex
The glyphnames will be interpreted as a hexadecimal representation of a code.
encoding (String) Name of an encoding resource which will be used for this rule, or the keyword none to 
disable the rule.
ignoreto-
unicodecmap
(Boolean) If true, a ToUnicode CMap for the font will be ignored. Default: false
override
(Boolean; only reasonable together with the glyphlist or glyphrule option) If true, the glyphmapping 
rule will be applied before the standard (builtin) glyph name mappings (i.e. the new mappings will have 
priority over the builtin ones), otherwise before. Default: true
remove
(Boolean) If true, all text which uses the specified font name(s) and/or font type(s) will be removed from 
the retrieved text.
10.7  Document Functions 167
C++ int open_document_callback(void *opaque, size_t filesize,
size_t (*readproc)(void *opaque, void *buffer, size_t size),
int (*seekproc)(void *opaque, long offset),
wstring optlist)
C int TET_open_document_callback(TET *tet, void *opaque, size_t filesize,
size_t (*readproc)(void *opaque, void *buffer, size_t size),
int (*seekproc)(void *opaque, long offset),
const char *optlist)
Open a PDF document from a custom data source for content extraction.
opaque A pointer to some user data that might be associated with the input PDF docu-
ment. This pointer will be passed as the first parameter of the callback functions, and 
can be used in any way. TET will not use the opaque pointer in any other way.
filesize The size of the complete PDF document in bytes.
readproc A C callback function which copies size bytes to the memory pointed to by 
buffer. If the end of the document is reached it may copy less data than requested. The 
function must return the number of bytes copied.
seekproc A C callback function which sets the current read position in the document. 
offset denotes the position from the beginning of the document (0 meaning the first 
byte). If successful, this function must return 0, otherwise -1.
optlist An option list specifying document options according to Table 10.8.
Returns See TET_open_document( ).
Details See TET_open_document( ).
Bindings This function is only available in the C and C++ language bindings.
C++ void close_document(int doc)
C#  Java void close_document(int doc)
Perl PHP close_document(long doc)
VB  RB Sub close_document(doc As Long)
C void TET_close_document(TET *tet, int doc)
Release a document handle and all internal resources related to that document.
doc A valid document handle obtained with TET_open_document*( ).
tounicode-
cmap
(String) Name of a ToUnicode CMap resource to be applied to the font; it will have higher priority than an 
embedded ToUnicode CMap or encoding entry.
1. Limited wildcards: The stand-alone character »*« denotes all fonts; Using »*« after a prefix (e.g. »MSTT*«) denotes all fonts starting
with the specified prefix.
2. Encoding name according to Section 10.5, »Encoding Names«, page 147
Table 10.9 Suboptions for the glyphmapping option of TET_open_document( ) and TET_open_document_callback( )
option
description
168
Chapter 10:  TET Library API Reference
Details Closing a document automatically closes all of its open pages. All open documents and 
pages will be closed automatically when TET_delete( ) is called. It is good programming 
practice, however, to close documents explicitly when they are no longer needed. 
Closed document handles must no longer be used in any function call.
10.8  Page Functions 169
10.8 Page Functions
C++ int open_page(int doc, int pagenumber, wstring optlist)
C#  Java int open_page(int doc, int pagenumber, String optlist)
Perl PHP long open_page(long pagenumber, string optlist)
VB  RB Function open_page(doc As Long, pagenumber As Long, optlist As String) As Long
C int TET_open_page(TET *tet, int doc, int pagenumber, const char *optlist)
Open a page for content extraction.
doc A valid document handle obtained with TET_open_document*( ).
pagenumber The physical number of the page to be opened. The first page has page 
number 1. The total number of pages can be retrieved with TET_pcos_get_number( ) and 
the pCOS path length:pages.
optlist An option list specifying page options according to Table 10.10. The following 
options can be used: clippingarea, contentanalysis, docstyle, excludebox, fontsizerange, 
granularity, ignoreinvisibletext, imageanalysis, includebox, layoutanalysis, layouteffort, 
skipengines, structureanalysis, topdown.
Returns A handle for the page, or -1 in case of an error. If -1 is returned it is recommended to call 
TET_get_errmsg() to find out more details about the error.
Details Within a single document an arbitrary number of pages may be kept open at the same 
time. The same page may be opened multiply with different options. However, options 
can not be changed while processing a page.
Layer definitions (optional content groups) which may be present on the page are 
not taken into account: all text on all layers of the page will be extracted, regardless of 
the visibility of layers.
Table 10.10 Page options for TET_open_page( ) and TET_process_page( )
option
description
clippingarea (Keyword; will be ignored if includebox is specified) Specifies the area from which text will be extracted 
(default: cropbox):
mediabox Use the MediaBox (which is always present)
cropbox
Use the CropBox (the area visible in Acrobat) if present, else MediaBox
bleedbox Use the BleedBox if present, else use cropbox
trimbox
Use the TrimBox if present, else use cropbox
artbox
Use the ArtBox if present, else use cropbox
unlimited Consider all text, regardless of its location
content-
analysis
(Option list; not for granularity=glyph) List of suboptions according to Table 10.11 for controlling high-
level content analysis and text processing.
170
Chapter 10:  TET Library API Reference
docstyle
(Keyword) A hint which will be used by the layout detection engine to select various parameters. These 
parameters optimize layout detection for situations where the document belongs to one of the classes 
below. If the document is known to fall into one of these classes layout detection results can be improved 
significantly by supplying a suitable value for this option. This option activates advanced layout recogni-
tion (default: none):
book
Typical book
business Business documents
cad
Technical or architectural drawings which are typically heavily fragmented
fancy
Fancy pages with complex layout
forms
Structured forms
generic
The most general document class without any further qualification.
magazines
Magazine articles
none
No specific document style is known and advanced layout recognition will be disabled.
papers
Newspaper
science
Scientific article
searchengine
The application is a search engine indexer or similar application, and mainly interested in 
retrieving the word list for the page as fast as possible. Table and page structure recognition 
are disabled.
spacegrid List-oriented report (often generated on mainframe systems) where the visual layout is 
generated using space characters. Since many heuristics like shadow detection and 
sophisticated word boundary detection are not required for this class of documents text 
extraction can be accelerated with this option.
excludebox
(List of rectangles) Exclude the combined area of the specified rectangles from text extraction. Default: 
empty
fontsize-
range
(List of two floats) Two numbers specifying the minimum and maximum font size of text. Text with a size 
outside of this interval will be ignored. The maximum can be specified with the keyword unlimited, 
which means that no upper limit will be active. Default: { 0 unlimited }
granularity
(Keyword) The granularity of the text fragments returned by TET_get_text( ); all modes except glyph will 
enable the Wordfinder. See »Text granularity«, page 84, for more details (default: word).
glyph
A fragment contains the result of mapping one glyph, but may contain more than one 
character (e.g. for ligatures).
word
A fragment contains a word as determined by the Wordfinder.
line
A fragment contains a line of text, or the closest approximation thereof. Word separators will 
be inserted between two consecutive words.
page
A fragment contains the contents of a single page. Word, line, and zone separators will be 
inserted as appropriate.
ignore-
invisibletext
(Boolean) If true, text with rendering mode 3 (invisible) will be ignored. Default: false (since invisible 
text is mainly used for image+text PDFs containing scanned pages and the corresponding OCR text)
image-
analysis
(Option list) List of suboptions according to Table 10.13 for controlling high-level image processing.
includebox
(List of rectangles) Restrict text extraction to the combined area of the specified rectangles. Default: the 
complete clipping area
layout-
analysis
(Option list; not for granularity=glyph) List of suboptions according to Table 10.12 for controlling layout 
detection features.
Table 10.10 Page options for TET_open_page( ) and TET_process_page( )
option
description
Documents you may be interested
Documents you may be interested