pdf viewer in mvc c# : How to copy and paste a picture from a pdf application SDK utility azure wpf .net visual studio TET-4.2-manual3-part1740

3.6  .NET Binding 31
3.6 .NET Binding
Note Detailed information about the various flavors and options for using TET with the .NET Frame-
work can be found in the PDFlib-in-.NET-HowTo.pdf document which is contained in the distri-
bution packages and also available on the PDFlib Web site.
The .NET edition of TET supports all relevant .NET concepts. In technical terms, the 
TET.NET edition is a C++ class (with a managed wrapper for the unmanaged TET core li-
brary) which runs under control of the .NET framework. It is packaged as a static assem-
bly with a strong name. The TET assembly (TET_dotnet.dll) contains the actual library 
plus meta information.
Installing the TET Edition for .NET. Install TET with the supplied Windows MSI Install-
er. The TET.NET MSI installer will install the TET assembly plus auxiliary data files, docu-
mentation and samples on the machine interactively. The installer will also register TET 
so that it can easily be referenced on the .NET tab in the Add Reference dialog box of Visu-
al Studio .NET.
Error handling. TET.NET supports .NET exceptions, and will throw an exception with a 
detailed error message when a runtime problem occurs. The client is responsible for 
catching such an exception and properly reacting on it. Otherwise the .NET framework 
will catch the exception and usually terminate the application.
In order to convey exception-related information TET defines its own exception 
class TET_dotnet.TETException with the members get_errnum, get_errmsg, and get_api-
name.
Using TET with C++ and CLI. .NET applications written in C++ (based on the Common 
Language Infrastructure CLI) can directly access the TET.NET DLL without using the TET 
C++ binding. The source code must reference TET as follows:
using namespace TET_dotnet;
How to copy and paste a picture from a 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 pictures from pdf to word; how to cut image from pdf
How to copy and paste a picture from a 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 text from pdf image to word; cut picture pdf
32
Chapter 3:  TET Library Language Bindings
3.7 Objective-C Binding
Although the C and C++ language bindings can be used with Objective-C
1
, a genuine lan-
guage binding for Objective-C is also available. The TET framework is available in the 
following flavors:
>TET for use on OS X
>TET_ios for use on iOS
Both frameworks contain language bindings for C, C++, and Objective-C.
Installing the TET Edition for Objective-C on OS X. In order to use TET in your applica-
tion you must copy TET.framework or TET.framework to the directory /Library/Frameworks. 
Installing the TET framework in a different location is possible, but requires use of Ap-
ple’s install_name_tool which is not described here. The TET_objc.h header file with TET 
method declarations must be imported in the application source code:
#import "TET/TET_objc.h"
or
#import "TET_ios/TET_objc.h"
Parameter naming conventions. For TET method calls you must supply parameters ac-
cording to the following conventions:
>The value of the first parameter is provided directly after the method name, separat-
ed by a colon character.
>For each subsequent parameter the parameter’s name and its value (again separated 
from each other by a colon character) must be provided. The parameter names can 
be found in Chapter 10, »TET Library API Reference«, page 141, and in TET_objc.h.
For example, the following line in the API description:
int open_page(int doc, int pagenumber, String optlist)
corresponds to the following Objective-C method:
- (NSInteger) open_page: (NSInteger) doc pagenumber: (NSInteger) pagenumber optlist: 
(NSString *) optlist;
This means your application must make a call similar to the following:
page = [tet open_page:doc pagenumber:pageno optlist:pageoptlist];
XCode Code Sense for code completion can be used with the TET framework.
Error handling in Objective-C. The Objective-C binding translates TET errors to native 
Objective-C exceptions. In case of a runtime problem TET throws a native Objective-C 
exception of the class TETException. These exceptions can be handled with the usual try/
catch mechanism:
1. See developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/
introObjectiveC.html 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Import graphic picture, digital photo, signature and logo into PDF document.
how to copy image from pdf file; how to copy pictures from a pdf file
VB.NET PDF insert image library: insert images into PDF in vb.net
project. Import graphic picture, digital photo, signature and logo into PDF document. Add images to any selected PDF page in VB.NET.
how to copy an image from a pdf file; copying image from pdf to powerpoint
3.7  Objective-C Binding 33
@try { 
...some TET instructions...
}
@catch (TETException *ex) {
NSString * errorMessage =
[NSString stringWithFormat:@"TET error %d in '%@': %@",
[ex get_errnum], [ex get_apiname], [ex get_errmsg]];
NSAlert *alert = [[NSAlert alloc] init];
[alert setMessageText: errorMessage];
[alert runModal];
[alert release];
}
@catch (NSException *ex) {
NSAlert *alert = [[NSAlert alloc] init];
[alert setMessageText: [ex reason]];
[alert runModal];
[alert release];
}
@finally {
[tet release];
}
In addition to the get_errmsg method you can also use the reason field of the exception 
object to retrieve the error message.
C# PDF remove image library: remove, delete images from PDF in C#.
Image: Copy, Paste, Cut Image in Page. Link: Edit Support removing vector image, graphic picture, digital photo remove multiple or all images from PDF document.
copy picture from pdf to word; how to cut a picture out of a pdf
VB.NET PDF remove image library: remove, delete images from PDF in
edit, C#.NET PDF pages extract, copy, paste, C#.NET Support removing vector image, graphic picture, digital photo or all image objects from PDF document in .NET
copying a pdf image to word; copy pdf picture
34
Chapter 3:  TET Library Language Bindings
3.8 Perl Binding
The TET wrapper for Perl consists of a C wrapper and two Perl package modules, one for 
providing a Perl equivalent for each TET API function and another one for the TET ob-
ject. The C module is used to build a shared library which the Perl interpreter loads at 
runtime, with some help from the package file. Perl scripts refer to the shared library 
module via a use statement.
Installing the TET Edition for Perl. The Perl extension mechanism loads shared librar-
ies at runtime through the DynaLoader module. The Perl executable must have been 
compiled with support for shared libraries (this is true for the majority of Perl configu-
rations).
For the TET binding to work, the Perl interpreter must access the TET Perl wrapper 
and the modules tetlib_pl.pm and PDFlib/TET.pm. In addition to the platform-specific 
methods described below you can add a directory to Perl’s @INC module search path us-
ing the -I  command line option:
perl -I/path/to/tet extractor.pl
Unix. Perl will search tetlib_pl.so (on OS X: tetlib_pl.bundle), tetlib_pl.pm and PDFlib/
TET.pm in the current directory, or the directory printed by the following Perl command:
perl -e 'use Config; print $Config{sitearchexp};'
Perl will also search the subdirectory auto/tetlib_pl. Typical output of the above com-
mand looks like
/usr/lib/perl5/site_perl/5.10/i686-linux
Windows. TET supports the ActiveState port of Perl 5 to Windows, also known as 
ActivePerl. The DLL tetlib_pl.dll and the modules tetlib_pl.pm and PDFlib/TET.pm will be 
searched in the current directory, or the directory printed by the following Perl com-
mand:
perl -e "use Config; print $Config{sitearchexp};"
Typical output of the above command looks like
C:\Program Files\Perl5.10\site\lib
Exception Handling in Perl. When a TET exception occurs, a Perl exception is thrown. It 
can be caught and acted upon using an eval sequence:
eval {
...some TET instructions...
};
die "Exception caught: $@" if $@;
C# HTML5 Viewer: Deployment on ASP.NET MVC
under Views according to config in picture above. RasterEdge.XDoc.PDF.HTML5Editor. dll. Open RasterEdge_MVC3 DemoProject, copy following content to your project:
copy image from pdf; how to cut picture from pdf file
C# HTML5 Viewer: Deployment on IIS
Copy according dll files listed below under RasterEdge.DocImagSDK/Bin directory and paste to Xdoc.HTML5 ViewerDemo/Bin folder. (see picture).
how to copy picture from pdf to powerpoint; paste image into pdf in preview
3.9  PHP Binding 35
3.9 PHP Binding
Installing the TET Edition for PHP. TET is implemented as a C library which can dynam-
ically be attached to PHP. TET supports several versions of PHP. Depending on the ver-
sion of PHP you use you must choose the appropriate TET library from the unpacked 
TET archive.
Detailed information about the various flavors and options for using TET with PHP, 
including the question of whether or not to use a loadable TET module for PHP, can be 
found in the PDFlib-in-PHP-HowTo document which is available on the PDFlib Web site. 
Although it is mainly targeted at using PDFlib with PHP the discussion applies equally 
to using TET with PHP.
You must configure PHP so that it knows about the external TET library. You have 
two choices:
>Add one of the following lines in php.ini:
extension=php_tet.dll
; for Windows
extension=php_tet.so
; for Unix and OS X
extension=php_tet.sl
; for HP-UX
PHP will search the library in the directory specified in the extension_dir variable in 
php.ini on Unix, and additionally in the standard system directories on Windows. 
You can test which version of the PHP TET binding you have installed with the fol-
lowing one-line PHP script:
<?phpinfo()?>
This will display a long info page about your current PHP configuration. On this page 
check the section titled tet.  If this section contains the phrase
PDFlib TET Support         enabled
(plus the TET version number) you have successfully installed TET for PHP.
>Alternatively, you can load TET at runtime with one of the following lines at the start 
of your script:
dl("php_tet.dll");
# for Windows
dl("php_tet.so");
# for Unix and OS X
dl("php_tet.sl");
# for HP-UX
File name handling in PHP. Unqualified file names (without any path component) and 
relative file names are handled differently in Unix and Windows versions of PHP:
>PHP on Unix systems will find files without any path component in the directory 
where the script is located.
>PHP on Windows will find files without any path component only in the directory 
where the PHP DLL is located.
Exception handling. Since PHP 5 supports structured exception handling, TET excep-
tions will be propagated as PHP exceptions. You can use the standard try/catch tech-
nique to deal with TET exceptions:
try {
...some TET instructions...
C# Raster - Modify Image Palette in C#.NET
& pages edit, C#.NET PDF pages extract, copy, paste, C#.NET VB.NET How-to, VB.NET PDF, VB.NET Word, VB is used to reduce the size of the picture, especially in
extract images from pdf files without using copy and paste; how to copy picture from pdf to word
VB Imaging - VB Code 128 Generation Guide
Code 128 settings), then the barcode is drawn on the picture! Copy the VB sample code below to your .NET imaging Create Code 128 on PDF, Multi-Page TIFF, Word
copy a picture from pdf; how to copy an image from a pdf in preview
36
Chapter 3:  TET Library Language Bindings
} catch (TETException $e) {
print "TET exception occurred:\n";
print "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " 
$e->get_errmsg() . "\n";
}
catch (Exception $e) {
print $e;
}
3.10  Python Binding 37
3.10 Python Binding
Installing the TET edition for Python. The Python extension mechanism works by 
loading shared libraries at runtime. For the TET binding to work, the Python interpreter 
must have access to the TET Python wrapper which will be searched in the directories 
listed in the PYTHONPATH environment variable. The name of Python wrapper de-
pends on the platform:
>Unix and OS X: tetlib_py.so
>Windows: tetlib_py.pyd
Error Handling in Python. The Python binding translates TET exceptions to native 
Python exceptions. The Python exceptions can be dealt with by the usual try/catch 
technique:
try:
...some TET instructions...
except TETException:
print("TET exception occurred:\n[%d] %s: %s" %
((tet.get_errnum()), tet.get_apiname(),  tet.get_errmsg()))
3.11 REALbasic Binding
Installing the TET edition for REALbasic. TET for REALbasic (TET.rbx) must be copied to a 
folder called Plugins in the same folder where the REALbasic application lives. TET for 
REALbasic is delivered in a single package and contains the following variants:
>OS X Carbon (PowerPC and Intel)
>Windows
>Linux
This means that you can use the OS X or Windows version to build applications for all 
supported platforms. When a stand-alone application is generated, REALbasic selects 
the appropriate parts of TET and includes only the platform-specific portion(s) in the 
generated application.
Additional REALbasic classes. TET adds two new classes to REALbasic’s object hierar-
chy:
>The TET class contains all TET API methods.
>The TETException class, which is derived from RuntimeException, can be used to deal 
with exceptions thrown by TET (see below).
TET can be used to create GUI applications as well as console applications. Since TET is 
not a control it does not install a new icon in REALbasic’s control palette. However, 
when TET is available, REALbasic will be aware of the TET class and its associated meth-
ods. For example, statement completion and parameter checking fully work for TET API 
methods.
Error handling in REALbasic. In case of an exception TET will throw a native REALbasic 
exception of the class TETException. TET Exceptions can be handled with standard REAL-
basic techniques: either use a try/catch block (this is recommended, but requires REAL-
basic 5.5 or above), or handle them in an Exception block. The latter is demonstrated in 
the following code fragment:
Exception err As TETException
MsgBox("TET exception occurred in extractor sample: [" + _
Str(err.get_errnum()) + "] " + err.get_apiname() + ": " + err.get_errmsg())
As shown in this example, REALbasic developers can access detailed error information 
by using the TETException methods for retrieving error number, error message, and the 
name of the API function which raised the exception.
3.12  Ruby Binding 39
3.12 Ruby Binding
Installing the TET Ruby edition. The Ruby
1
extension mechanism works by loading a 
shared library at runtime. For the TET binding to work, the Ruby interpreter must have 
access to the TET extension library for Ruby. This library (on Windows and Unix: TET.so; 
on OS X: TET.bundle) will usually be installed in the site_ruby branch of the local ruby in-
stallation directory, i.e. in a directory with a name similar to the following:
/usr/local/lib/ruby/site_ruby/<version>/
However, Ruby will search other directories for extensions as well. In order to retrieve a 
list of these directories you can use the following ruby call:
ruby -e "puts $:"
This list will usually include the current directory, so for testing purposes you can sim-
ply place the TET extension library and the scripts in the same directory.
Error Handling in Ruby. The Ruby binding installs an error handler which translates 
TET exceptions to native Ruby exceptions. The Ruby exceptions can be dealt with by the 
usual rescue technique:
begin
...some TET instructions...
rescue TETException => pe
print pe.backtrace.join("\n") + "\n"
print "Error [" + pe.get_errnum.to_s + "] " + pe.get_apiname + ": " + pe.get_errmsg
print " on page pageno" if (pageno != 0)
print "\n"
rescue Exception => e
print e.backtrace.join("\n") + "\n" + e.to_s + "\n"
ensure
tet.delete() if tet
end
Ruby on Rails. Ruby on Rails
2
is an open-source framework which facilitates Web de-
velopment with Ruby. The TET extension for Ruby can be used with Ruby on Rails. Fol-
low these steps to run the TET examples for Ruby on Rails:
>Install Ruby and Ruby on Rails.
>Set up a new controller from the command line:
$ rails new tetdemo
$ cd tetdemo
$ cp <TET dir>/bind/ruby/<version>/TET.so vendor/  # use .so/.dll/.bundle
$ cp <TET dir>/bind/data/FontReporter.pdf .
$ rails generate controller home demo
$ rm public/index.html
>Edit config/routes.rb:
...
# remember to delete public/index.html
1. See www.ruby-lang.org/en 
2. See www.rubyonrails.org 
40
Chapter 3:  TET Library Language Bindings
root :to => "home#demo"
>Edit app/controllers/home_controller.rb as follows and insert TET code for extracting 
PDF contents. As a starting point you can use the code in the extractor-rails.rb sample:
class HomeController < ApplicationController
def demo
require "TET"
begin
p = TET.new
doc = tet.open_document(infilename, docoptlist)
...TET application code, see extractor-rails.rb...
...
# and finally show the retrieved text
send_data text, :type => "text/plain", :disposition => "inline"
rescue TETException => pe
# error handling
end
end
end
>In order to test your installation start the WEBrick server with the command
$ rails server
and point your browser to http://0.0.0.0:3000. The text extracted from the PDF docu-
ment will be displayed in the browser.
Local TET installation. If you want to use TET only with Ruby on Rails, but cannot in-
stall it globally for general use with Ruby, you can install TET locally in the vendors direc-
tory within the Rails tree. This is particularly useful if you do not have permission to in-
stall Ruby extensions for general use, but want to work with TET in Rails nevertheless.
Documents you may be interested
Documents you may be interested