pdf viewer in mvc c# : Copy image from pdf to pdf SDK control service wpf azure winforms dnn TET-4.2-manual1-part1728

1.1  Overview of TET Features 11
1Introduction
The PDFlib Text Extraction Toolkit (TET) is targeted at extracting text and images from 
PDF documents, but can also be used to retrieve other information from PDF. TET can be 
used as a base component for realizing the following tasks:
>search the text contents of PDF
>create a list of all words contained in a PDF (concordance)
>implement a search engine for processing large numbers of PDF files
>extract text from PDF to store, translate, or otherwise repurpose it
>convert the text contents of PDF to other formats
>process or enhance PDFs based on their contents
>compare the text contents of multiple PDF documents
>extract the raster images from PDF for repurposing
>extract metadata and other information from PDF
TET has been designed for stand-alone use, and does not require any third-party soft-
ware. It is robust and suitable for multi-threaded server use.
1.1 Overview of TET Features
Supported PDF input. TET has been tested against millions of PDF test files from vari-
ous sources. It accepts PDF 1.0 up to PDF 1.7 extension level 8 and PDF 2.0, corresponding 
to Acrobat 1-XI including encrypted documents. TET attempts to repair various kinds of 
malformed and damaged PDF documents.
Unicode support. TET includes a considerable number of algorithms and data to 
achieve reliable Unicode mappings for all text. Although text in PDF documents is not 
usually encoded in Unicode, TET will normalize the text from a PDF document to Uni-
code:
>TET converts all text contents to Unicode. In C the text will be returned in UTF-8 or 
UTF-16 format; in other language bindings as native Unicode strings.
>Ligatures and other multi-character glyphs will be decomposed into a sequence of 
their constituent Unicode characters.
>Vendor-specific Unicode values (Corporate Use Subarea, CUS) are identified, and will 
be mapped to characters with precisely defined meanings if possible.
>Glyphs which are lacking Unicode mapping information are identified as such, and 
will be mapped to a configurable replacement character.
>UTF-16 surrogate pairs for characters outside the Basic Multilingual Plane (BMP) are 
properly interpreted and maintained. Surrogate pairs and UTF-32 values can be re-
trieved in all language bindings.
Some PDF documents do not contain enough information for reliable Unicode map-
ping. In order to successfully extract the text nevertheless TET offers various configura-
tion options which can be used to supply auxiliary information for proper Unicode 
mappings. In order to facilitate writing the required mapping tables we make available 
PDFlib FontReporter, a free plugin for Adobe Acrobat. This plugin can be used for ana-
lyzing fonts, encodings, and glyphs in PDF.
Copy image from pdf to pdf - 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
how to copy pdf image into word; copying images from pdf files
Copy image from pdf to pdf - 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
how to copy and paste image from pdf to word; pasting image into pdf
12
Chapter 1:  Introduction
CJK support. TET includes full support for extracting Chinese, Japanese, and Korean 
text:
>All predefined CJK CMaps (encodings) are recognized; CJK text will be converted to 
Unicode. The CMap files for CJK encoding conversion are included in the TET distri-
bution.
>Special character forms (e.g. wide, narrow, prerotated glyphs for vertical text) can op-
tionally be converted (folded) to the corresponding regular forms
>Horizontal and vertical writing modes are supported.
>CJK font names are normalized to Unicode.
Support for Bidirectional Hebrew and Arabic Text. TET includes the following features 
for dealing with Bidi text:
>Re-order right-to-left and Bidi text to logical ordering
>Determine dominant text direction of the page
>Normalize Arabic presentation forms and decompose ligatures
>Remove Arabic Tatweel character used for stretching words
Unicode postprocessing. TET’s Unicode postprocessing features include the following:
>Folding: preserve, replace, or remove one or more characters; affected characters can 
conveniently be specified as Unicode sets;
>Decomposition: optionally apply canonical or compatibility decompositions as de-
fined in the Unicode standard. This may make the text better usable in some envi-
ronments. For example, you can keep or split accented characters, fractions, or sym-
bols like the trademark symbol.
>Normalization: convert the output to Unicode normalization formats NFC, NFD, 
NFKC, or NFKD as defined in the Unicode standard. This way TET can produce the ex-
act format required as input in some environments, e.g. databases or search engines.
Image extraction. TET extracts raster images from PDF. Adjacent parts of a segmented 
image will be recombined to facilitate postprocessing and re-use (e.g. multi-strip imag-
es created by some applications). Small images can be filtered in order to exclude tiny 
image fragments from cluttering the output.
Images are extracted in TIFF, JPEG, JPEG 2000, or JBIG2 format.
Geometry. TET provides precise metrics for the text, such as the position on the page, 
glyph widths, and text direction. Specific areas on the page can be excluded or included 
in the text extraction process, e.g. to ignore headers and footers or margins.
For images the pixel size, physical size, and color space are available as well as posi-
tion and angle.
Word detection and content analysis. TET can be used to retrieve low-level glyph in-
formation, but also includes advanced algorithms for high-level content analysis:
>Detect word boundaries to retrieve words instead of characters.
>Recombine the parts of hyphenated words (dehyphenation).
>Remove duplicate instances of text, e.g. shadow and fake bold text.
>Recombine paragraphs into reading order.
>Reorder text which is scattered over the page.
>Reconstruct lines of text.
>Recognize tabular structures on the page.
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
How to C#: Extract Image from PDF Document. List<PDFImage> allImages = PDFImageHandler. ExtractImages(page); C#: Select An Image from PDF Page by Position.
how to copy image from pdf file; paste image into pdf reader
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET PDF - Extract Image from PDF Document in VB.NET. Support PDF VB.NET : Select An Image from PDF Page by Position. Sample for
how to copy text from pdf image to word; how to copy a pdf image into a word document
1.2  Many ways to use TET 13
>Recognize superscript, subscript and dropcaps (large initial characters at the start of 
a paragraph)
pCOS interface for simple access to PDF objects. TET includes pCOS (PDFlib Compre-
hensive Object System) for retrieving arbitrary PDF objects. With pCOS you can retrieve 
PDF metadata, interactive elements (e.g. bookmark text, contents of form fields), or any 
other information from a PDF document with a simple query interface. The syntax of 
pCOS query path is described separately in the pCOS Path Reference.
TET Markup Language (TETML). The information retrieved from a PDF document can 
be presented in an XML format called TET Markup Language, or TETML for processing 
with standard XML tools. TETML contains text, image, and metadata information and 
can optionally also contain font- and geometry-related details.
What is text? While TET deals with a large class of PDF documents, not all visible text 
can successfully be extracted. The text must be encoded using PDF’s text and encoding 
facilities (i.e., it must be based on a font). Although the following flavors of text may be 
visible on the page they cannot be extracted with TET:
>Rasterized (pixel image) text, e.g. scanned pages;
>Text which is directly represented by vector elements without any font.
Note that metadata and text in hypertext elements (such as bookmarks, form fields, 
notes, or annotations) can be retrieved with the pCOS interface. On the other hand, TET 
may extract some text which is not visible on the page. This may happen in the follow-
ing situations:
>Text using PDF’s invisible attribute (however, there is an option to exclude this kind 
of text from the text retrieval process)
>Text which is obscured or clipped by some other element on the page, e.g. an image.
>PDF layers are ignored; TET will retrieve the text from all layers regardless of their 
visibility.
1.2 Many ways to use TET
TET is available as a programming library (component) for various development envi-
ronments, and as a command-line tool for batch operations. Both offer similar features, 
but are suitable for different deployment tasks. Both the TET library and command-line 
tool can create TETML, TET’s XML-based output format.
>The TET programming library can be used for integration into your desktop or server 
application. Many different programming languages are supported. Examples for 
using the TET library with all supported language bindings are included in the TET 
package.
>The TET command-line tool is suited for batch processing PDF documents. It doesn’t 
require any programming, but offers command-line options which can be used to 
integrate it into complex workflows. 
>TETML output is suited for XML-based workflows and developers who are familiar 
with the wide range of XML processing tools and languages, e.g. XSLT.
>TET connectors are suited for integrating TET in various common software packages, 
e.g. databases and search engines.
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 Ability to copy selected PDF pages and paste into another PDF file. The
how to copy and paste a picture from a pdf; copy picture to pdf
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Dim page As PDFPage = doc.GetPage(3) ' Select image by the point VB.NET: Clone a PDF Page. Dim doc As PDFDocument = New PDFDocument(filepath) ' Copy the first
paste image on pdf preview; copy paste image pdf
14
Chapter 1:  Introduction
>The TET Plugin is a free extension for Adobe Acrobat which makes TET available for 
interactive use (see Section 4.1, »Free TET Plugin for Adobe Acrobat«, page 43, for 
more information).
1.3 Roadmap to Documentation and Samples
Mini samples for the TET library. The TET distribution contains programming exam-
ples for all supported language bindings. These mini samples can serve as a starting 
point for your own applications, or to test your TET installation. They comprise source 
code for the following applications:
>The extractor sample demonstrates the basic loop for extracting text from a PDF doc-
ument.
>The extract_images sample extracts the images on each page and reports about their 
geometry and other properties.
>The image_resources sample demonstrates the basic loop for extracting images from 
a PDF document in a resource-oriented way (no geometric information available).
>The dumper sample shows the use of the integrated pCOS interface for querying gen-
eral information about a PDF document.
>The fontfilter sample shows how to process font-related information, such as font 
name and font size.
>The glyphinfo sample demonstrates how to retrieve detailed information about 
glyphs (font, size, position, etc.) as well as text attributes such as dropcap, shadow, 
hyphenation, etc.
>The tetml sample contains the prototypical code for generating TETML (TET’s XML 
language for expressing PDF contents) from a PDF document.
>The get_attachments sample (not available for all language bindings) demonstrates 
how to process PDF file attachments, i.e. PDF documents which are embedded in an-
other PDF document.
XSLT samples. The TET distribution contains several XSLT stylesheets. They demon-
strate how to process TETML to achieve various goals:
>concordance.xsl: create list of unique words in a document sorted by descending fre-
quency.
>fontfilter.xsl: List all words in a document which use a particular font in a size larger 
than a specified value.
>fontfinder.xsl: For all fonts in a document, list all occurrences along with page number 
and position information.
>fontstat.xsl: generate font and glyph statistics.
>index.xsl: create an alphabetically sorted »back-of-the-book« index.
>metadata.xsl: extract selected fields from document-level XMP metadata included in 
TETML.
>solr.xsl: generate input for the Solr enterprise search server.
>table.xsl: Extract a table to a CSV file (comma-separated values).
>tetml2html.xsl: convert TETML to simple HTML.
>textonly.xsl: extract the raw text from TETML input.
TET Cookbook. The TET Cookbook is a collection of source code examples for solving 
specific application problems with the TET library. The Cookbook examples are written 
VB.NET PDF insert image library: insert images into PDF in vb.net
VB.NET PDF - Add Image to PDF Page in VB.NET. Insert Image to PDF Page Using VB. Add necessary references: RasterEdge.Imaging.Basic.dll.
how to paste picture on pdf; cut and paste pdf images
C# Create PDF from images Library to convert Jpeg, png images to
Best and professional C# image to PDF converter SDK for Visual Studio .NET. C#.NET Example: Convert One Image to PDF in Visual C# .NET Class.
paste image into pdf in preview; how to cut picture from pdf file
1.4  What’s new? 15
in the Java language, but can easily be adjusted to other programming languages since 
the TET API is almost identical for all supported language bindings. Some Cookbook 
samples are written in the XSLT language.The TET Cookbook is organized in the follow-
ing groups:
>Text: samples related to text extraction
>Font: samples related to text with a focus on font properties
>Image: samples related to image extraction
>TET & PDFlib+PDI: samples which extract information from a PDF with TET and con-
struct a new PDF based on the original PDF and the extracted information. These 
samples require the PDFlib+PDI product in addition to TET.
>TETML: XSLT samples for processing TETML
>Special: other samples
The TET Cookbook is available at the following URL:
www.pdflib.com/tet-cookbook.
pCOS Cookbook. The pCOS Cookbook is a collection of code fragments for the pCOS in-
terface which is integrated in TET. It is available at the following URL:
www.pdflib.com/pcos-cookbook.
Details of the pCOS interface are documented in the pCOS Path Reference which is 
included in the TET package.
1.4 What’s new?
What’s new in TET 4.0? The following features are new or considerably improved in 
TET 4.0:
>performance enhancements: faster for many classes of documents
>higher speed and smaller memory consumption for very large documents up to 
hundreds of thousands of pages
>extract right-to-left and bidirectional text for Arabic, Hebrew, etc.
>Unicode postprocessing with normalization, folding, and decomposition controls
>improved shadow removal, word boundary detection, and dehyphenation
>improved super- and subscript detection
>workarounds for non-conforming PDF documents to enhance robustness
>enhanced repair mode for successfully extracting text from damaged PDF
>More information in XML output (TETML): dehyphenation, dropcap, shadow, and su-
per/subscript; coordinates in topdown system, PDF/A-2, PDF/E, font subsets, 
>improved C++ and Perl language bindings
What’s new in TET 4.1? The following features are new or considerably improved in 
TET 4.1:
>support for PDF 1.7 extension level 8 (encryption method specified in ISO 32000-2)
>updated to pCOS interface 8 with more pseudo objects (e.g. font details) and clarified 
handling of encrypted attachments
>additional information about PDF documents and fonts in TETML output
>new language bindings for Objective-C and Ruby
>word boundary detection for ideographic CJK text improved (suboption ideographic)
>new API functions TET_convert_to_unicode( ) and TET_info_pvf( )
>updated connectors for Lucene and Solr
C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
copy pdf picture; how to copy picture from pdf
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Replace Text in PDF. Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image: Copy, Paste, Cut Image in Page. Link: Edit URL.
copy image from pdf to word; copy images from pdf to powerpoint
16
Chapter 1:  Introduction
>new connector for the TIKA toolkit for detecting and extracting metadata and struc-
tured text content
>improved performance, especially for large documents
>variety of bug fixes and minor improvements
What’s new in TET 4.2? The following features are new or considerably improved in 
TET 4.2:
>enhanced repair mode for damaged PDF and improved robustness against various 
kinds of malformed data;
>improved word boundary detection for ideographic CJK text and implemented the 
page option ideographic;
>implemented the new page option keyword docstyle=cad;
>extract images in JBIG2 format;
>improved image merging to cover more flavors of PDF images;
>made image merging more robust against malformed PDF images;
>improved the ordering of placed images in TETML;
>optionally omit ICC profiles from extracted images;
>optionally use LZW compression for extracted TIFF images as alternative to Flate (al-
so known as »Adobe Flate« compression.
2.1  Command-Line Options 17
2TET Command-Line Tool
2.1 Command-Line Options
The TET command-line tool allows you to extract text and images from one or more PDF 
documents without the need for any programming. Output can be generated in plain 
text (Unicode) format or in TETML, TET’s XML-based output format. The TET program 
can be controlled via a number of command-line options. The program will insert space 
characters (U+0020) after each word, U+000A after each line, and U+000C after each 
page. It is called as follows for one or more input PDF files:
tet [<options>] <filename>...
The TET command-line tool is built on top of the TET library. You can supply library op-
tions using the --docopt, --tetopt, --imageopt, and --pageopt options according to the op-
tion list tables in Chapter 10, »TET Library API Reference«, page 141. Table 2.1 lists all TET 
command-line options (this list will also be displayed if you run the TET program with-
out any options).
Note In order to extract CJK text you must configure access to the CMap files which are shipped with 
TET according to Section 0.1, »Installing the Software«, page 7.
Table 2.1 TET command-line options
option
parameters
function
--
End the list of options; this is useful if file names start with a - character.
@filename
1
Specify a response file with options; for a syntax description see »Response files«, 
page 20. Response files are only recognized before the  --  option and before the 
first filename. Response files can not be used to replace the parameter for another 
option, but only complete option/parameter combinations.
--docopt
<option list>
Additional option list for TET_open_document( ) (see Table 10.8, page 162). The 
filename suboption of the tetml option can not be used here.
--firstpage
-f
<integer> | last
The number of the page where content extraction will start. The keyword last 
specifies the last page, last-1 the page before the last page, etc. Default: 1
--format
utf8 | utf16
Specifies the format for text output (default: utf8):
utf8
UTF-8 with BOM (byte order mark)
utf16
UTF-16 in native byte ordering with BOM
This option does not affect TETML output which will always be created in UTF-8.
--help, -?
(or no option)
Display help with a summary of available options.
--image
2
-i
Extract images from the document. The naming scheme for extracted images de-
pends on the --imageloop option.
18
Chapter 2:  TET Command-Line Tool
--imageloop
page | resource
Specifies the kind of enumeration loop for extracting images with the --image op-
tion (default: resource if --tetml is specified, otherwise page):
page
Enumerate all images on the selected pages. Images which are placed 
multiply will be extracted multiply. Extracted images will be named 
according to the following pattern:
<filename>_p<pagenumber>_<imagenumber>.[tif|jpg|jpx|jbig2]
resource Enumerate all (merged) image resources in the document. Each image 
resource will be extracted only once, regardless of the number of 
occurrences in the document. The --firstpage and --lastpage 
options will be ignored for extracting images. Extracted images will be 
named according to the following pattern:
<filename>_I<imageid>.[tif|jpg|jpx|jbig2]
Note: I<imageid> is also used in the TETML attribute Image/@id.
--imageopt
<option list>
Additional option list for TET_write_image_file( ) (see Table 10.17, page 183)
--lastpage
-l
<integer> | last
The number of the page where content extraction will finish. The keyword last 
specifies the last page, last-1 the page before the last page, etc. Default: last
--outfile
-o
<filename>
(Not allowed if multiple input file names are supplied) File name for text or TETML 
output. The file name »-« can be used to designate standard output provided only 
a single input file has been supplied. Default: name of the input file, with .pdf or 
.PDF replaced with .txt (for text output) or .tetml (for TETML output).
--pagecount
Print the number of pages in the document, i.e. the value of the pCOS path 
length:pages, to stdout or the file provided with --outfile.
--pageopt
<option list>
Additional option list which will be supplied to TET_open_page( ) if text output is 
generated, or to TET_process_page( ) if TETML output is generated. See Table 10.10, 
page 169 and Table 10.18, page 185, for a list of available options. For text output 
the option granularity will always be set to page.
--password,
-p
<password>
User, master or attachment password for encrypted documents. In some situa-
tions the shrug feature can be used to index protected documents without supply-
ing a password (see Section 5.1, »Extracting Content from protected PDF«, page 
59).
--samedir
Create output files in the same directory as the input file(s).
--
searchpath
1
-s
<path>...
Name of one or more directories where files (e.g. CMaps) will be searched. Default: 
installation-specific
--targetdir
-t
<dirname>
Output directory for generated text, TETML, and image files. The directory must 
exist. This option is ignored if --samedir is specified. Default: . (i.e. the current 
working directory)
--tetml
-m
glyph | word |
wordplus |
line | page
(Can not be combined with --text) Create TETML output according to the TET 3 
schema containing text and image information. TETML will always be created in 
UTF-8. The supplied parameter selects one of several variants (see Section 9.2, 
»Controlling TETML Details«, page 127):
glyph
Glyph-based TETML with glyph geometry and font details
word
Word-based TETML with word boxes
wordplus Word-based TETML with word boxes plus all glyph details
line
Line-based TETML (text only)
page
Page-based TETML (text only)
--tetopt
<option list>
Additional option list for TET_set_option( ) (see Table 10.2, page 148). The option 
outputformat will be ignored (use --format instead).
Table 2.1 TET command-line options
option
parameters
function
2.1  Command-Line Options 19
--text
2
(Can not be combined with --tetml) Extract text from the document (enabled by 
default)
--verbose
-v
0 | 1 | 2 | 3
verbosity level (default: 1):
0
no output at all
1
emit only errors
2
emit errors and file names
3
detailed reporting
--version, -V
Print the TET version number.
1. This option can be supplied more than once.
2. The option --image disables text extraction, but it can be combined with --text and --tetml.
Table 2.1 TET command-line options
option
parameters
function
20
Chapter 2:  TET Command-Line Tool
2.2 Constructing TET Command Lines
The following rules must be observed for constructing TET command lines:
>Input files will be searched in all directories specified as searchpath.
>Short forms are available for some options, and can be mixed with long options.
>Long options can be abbreviated provided the abbreviation is unique.
>Depending on the encryption status of the input file, a user or master password may 
be required for successfully extracting text. It must be supplied with the --password 
option. TET will check whether this password is sufficient for text extraction, and 
will generate an error if it isn’t.
TET checks the full command line before processing any file. If an error is encountered 
in the options anywhere on the command line, no files will be processed at all.
File names. File names which contain blank characters require some special handling 
when used with command-line tools like TET. In order to process a file name with blank 
characters you should enclose the complete file name with double quote "  characters. 
Wildcards can be used according to standard practice. For example, *.pdf denotes all files 
in a given directory which have a .pdf file name suffix. Note that on some systems case 
is significant, while on others it isn’t (i.e., *.pdf may be different from *.PDF). Also note 
that on Windows systems wildcards do not work for file names containing blank charac-
ters. Wildcards will be evaluated in the current directory, not any searchpath directory.
On Windows all file name options accept Unicode strings, e.g. as a result of dragging 
files from the Explorer to a command prompt window.
Response files. In addition to options supplied directly on the command-line, options 
can also be supplied in a response file. The contents of a response file will be inserted in 
the command-line at the location where the @filename option was found.
A response file is a simple text file with options and parameters. It must adhere to 
the following syntax rules:
>Option values must be separated with whitespace, i.e. space, linefeed, return, or tab.
>Values which contain whitespace must be enclosed with double quotation marks: "
>Double quotation marks at the beginning and end of a value will be omitted.
>A double quotation mark must be masked with a backslash to use it literally: \"
>A backslash character must be masked with another backslash to use it literally: \\
Response files can be nested, i.e. the @filename syntax can itself be used in a response 
file.
Response files may contain Unicode strings for file name arguments. Response files 
can be encoded in UTF-8, EBCDIC-UTF-8, or UTF-16 format and must start with the corre-
sponding BOM. If no BOM is found, the contents of the response file will be interpreted 
in EBCDIC on zSeries, and in ISO 8859-1 (Latin-1) on all other systems.
Exit codes. The TET command-line tool returns with an exit code which can be used to 
check whether or not the requested operations could be successfully carried out:
>Exit code 0: all command-line options could be successfully and fully processed.
>Exit code 1: one or more file processing errors occurred, but processing continued.
>Exit code 2: some error was found in the command-line options. Processing stopped 
at the particular bad option, and no input file has been processed.
Documents you may be interested
Documents you may be interested