mvc display pdf in partial view : How to extract images from pdf SDK control API .net web page html sharepoint 0131473816_book30-part49

C H A P T E R
10
Programming with Images
This chapter shows what you can do with bitmapped images. Images are great
for introducing “design values” into your application, and they can be used
with controls such as toolbars, tree controls, notebooks, buttons, HTML win-
dows, or in custom drawing code. Sometimes they can be used invisibly in an
application, for example to achieve flicker-free drawing. In this chapter, we
cover  the  different  image  classes  and  how  to override  standard  icons  and
bitmaps used with wxWidgets.
I
MAGE
C
LASSES IN WX
W
IDGETS
wxWidgets supports four kinds of bitmap images:
wxBitmap
,
wxIcon
,
wxCursor
,
and 
wxImage
.
wxBitmap
represents  a  platform-dependent  bitmap, with  an  optional
wxMask
to support drawing with transparency. On Windows,
wxBitmap
is imple-
mented using device-independent bitmaps (DIBs). On GTK+ and X11, each
wxBitmap
contains the pixmap object of GDK and X11, respectively. On Mac, a
PICT
is used. A 
wxBitmap
can be converted to and from a 
wxImage
.
wxIcon
represents the platform’s concept of an icon, a small image with
transparency that can be used for giving frames and dialogs a recognizable
visual cue, among other things. On GTK+, X11, and Mac, an icon is simply a
bitmap that always has a 
wxMask
.On Windows, an icon is represented by an
HICON
object.
wxCursor
represents  the  mouse  pointer  image; this  is  a 
GdkCursor
on
GTK+,a 
Cursor
on X11, an 
HCURSOR
in Windows, and a 
Cursor
on Mac. It has the
notion of a hotspot (the pixel in the cursor image that is considered to be the
exact mouse pointer location) and a mask.
wxImage
is the only class of the four with a platform-independent imple-
mentation, supporting 24-bit images with an optional alpha channel.A 
wxImage
can be created from data or by using 
wxBitmap::ConvertToImage
.A 
wxImage
can be
loaded from a file in a variety of formats, and it is extensible to new formats via
265
How to extract images from pdf - Select, copy, paste PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract text from pdf image; extract images pdf acrobat
How to extract images from pdf - VB.NET PDF Image Extract Library: Select, copy, paste PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
some pdf image extract; pdf image text extractor
Table 10-1 Bitmap Types
wxBITMAP_TYPE_BMP
A Windows bitmap file (BMP).
wxBITMAP_TYPE_BMP_RESOURCE
A Windows bitmap to be loaded from the resource 
part of the executable.
wxBITMAP_TYPE_ICO
A Windows icon file (ICO).
wxBITMAP_TYPE_ICO_RESOURCE
A Windows icon to be loaded from the resource 
part of the executable.
wxBITMAP_TYPE_CUR
A Windows cursor (CUR).
wxBITMAP_TYPE_CUR_RESOURCE
A Windows cursor to be loaded from the resource 
part of the executable.
wxBITMAP_TYPE_XBM
An XBM monochrome bitmap file, used on Unix.
wxBITMAP_TYPE_XBM_DATA
An XBM monochrome bitmap, to be constructed 
from C++ data.
wxBITMAP_TYPE_XPM
An XPM color bitmap file, a good cross-platform 
format for small images that can be compiled into 
the application.
wxBITMAP_TYPE_XPM_DATA
An XPM color bitmap, to be constructed from 
C++ data.
wxBITMAP_TYPE_TIF
A TIFF bitmap file, popular for large images.
wxBITMAP_TYPE_GIF
A GIF bitmap file, with a maximum 256 colors 
and optional transparency information.
wxBITMAP_TYPE_PNG
A PNG bitmap file, a popular file format with 
optional transparency and alpha channel, and free
of patent problems.
wxBITMAP_TYPE_JPEG
A JPEG bitmap file, a popular compressed format 
for large images, but it uses lossy compression, so 
it’s not suitable for multiple saving/loading cycles.
wxBITMAP_TYPE_PCX
PCX bitmap file.
wxBITMAP_TYPE_PICT
Mac PICT bitmap file.
image format handlers. Functions are available to set and get image bits, so it
can be used for basic image manipulation. Unlike a 
wxBitmap
,a 
wxImage
cannot
be drawn directly to a 
wxDC
.Instead, a 
wxBitmap
object must be created from the
wxImage
.This  bitmap  can  then  be  drawn  in  a  device  context  by  using 
wxDC::
DrawBitmap
.
wxImage
supports a mask color indicating transparent areas, and it also
supports alpha channel data to allow for more sophisticated transparency effects.
You can convert between these bitmap objects, though there are platform
dependencies on some conversion operations.
Note  that all image  classes  are reference-counted, so assignment  and
copying are very cheap operations because the image data itself is not copied.
However, you need  to be  aware that  if  you change an image, other  image
objects that refer to the same image data will also be changed.
All image classes use standard 
wxBitmapType
identifiers for loading and
saving bitmap data, as described in Table 10-1.
266
Programming with Images Chapter 10
VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. Image text extraction control provides text extraction from PDF images and image files.
extract images pdf acrobat; how to extract images from pdf file
C# PDF Text Extract Library: extract text content from PDF file in
Ability to extract highlighted text out of PDF document. Image text extraction control provides text extraction from PDF images and image files.
extract image from pdf acrobat; extract pictures pdf
Table 10-2
wxBitmap
Functions
wxBitmap
A bitmap can be created given a width and height,
another bitmap, a 
wxImage
,XPM data (
char**
), raw 
data (
char[]
), or a file name and type.
ConvertToImage
Converts to a 
wxImage
,preserving transparency.
CopyFromIcon
Creates the bitmap from a 
wxIcon
.
Create
Creates the bitmap from data or a given size.
GetWidth, GetHeight
Returns the bitmap’s size.
GetDepth
Returns the bitmap’s color depth.
GetMask, SetMask
Returns the 
wxMask
object or 
NULL
.
GetSubBitmap
Returns an area of the bitmap as a new bitmap.
LoadFile, SaveFile
Files can be loaded and (for some formats) saved.
Ok
Returns 
true
if the bitmap’s data is present.
wxBITMAP_TYPE_PICT_RESOURCE
Mac PICT bitmap file to be loaded from the 
resource part of the executable.
wxBITMAP_TYPE_ICON_RESOURCE
On Mac OS X only, loads a standard icon (such 
as 
wxICON_INFORMATION
) or an icon resource.
wxBITMAP_TYPE_ANI
Windows animated icon file (ANI).
wxBITMAP_TYPE_IFF
IFF bitmap file.
wxBITMAP_TYPE_MACCURSOR
Mac cursor file.
wxBITMAP_TYPE_MACCURSOR_
Mac cursor, to be loaded from the resource part of 
RESOURCE
the executable.
wxBITMAP_TYPE_ANY
Tells the image loading code to figure out the type 
itself.
P
ROGRAMMING WITH WX
B
ITMAP
These are some of the things you can do with a 
wxBitmap
:
 Draw it on a window via a device context.
 Use it as a bitmap label for classes such as 
wxBitmapButton
,
wxStaticBitmap,
and 
wxToolBar
.
 Use  it  to  implement  double  buffering  (drawing  into  an  off-screen
wxMemoryDC
before drawing to a window).
On some  platforms  (in  particular, Windows), the  bitmap  is  a  limited
resource, so if you have many images to store in memory, you may prefer to
work mainly with 
wxImage
objects and convert to a temporary 
wxBitmap
when
drawing on a device context.
Before discussing how to create 
wxBitmap
and draw with it, let’s summa-
rize the main functions (Table 10-2).
Programming with wxBitmap
267
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET: Extract All Images from PDF Document. This is an example that you can use it to extract all images from PDF document. ' Get page 3 from the document.
extract pictures from pdf; extract jpeg from pdf
C# Create PDF from images Library to convert Jpeg, png images to
C#.NET Project DLLs for Conversion from Images to PDF in C#.NET Program. C# Example: Convert More than Two Type Images to PDF in C#.NET Application.
extract pdf images; pdf image extractor online
Creating a wxBitmap
There are several ways to create a 
wxBitmap
object.
You can create the object in an uninitialized state (no bitmap data) by
using the default constructor. You will need to call 
Create
or 
LoadFile
or assign
another bitmap to it to do anything useful with the object.
You can create a 
wxBitmap
with a given size and depth.The bitmap will be
filled with random data, so for this object to be useful, you will need to draw
on it. The following code creates a 200 × 100 pixel bitmap and gives it a white
background.
// Create a 200x100 bitmap with the current display depth
wxBitmap bitmap(200, 100,  -1);
// Create a memory device context
wxMemoryDC dc;
// Select the bitmap into the DC
dc.SelectObject(bitmap);
// Set the background
dc.SetBackground(*wxWHITE_BRUSH);
// Color the bitmap white
dc.Clear();
// Select the bitmap out of the DC
dc.SelectObject(wxNullBitmap);
You can create a bitmap from an image object, preserving any mask or alpha
channel in the original image:
// Load an image
wxImage image(wxT(“image.png”), wxBITMAP_TYPE_PNG);
// Convert it to a bitmap
wxBitmap bitmap(image);
A bitmap can also be constructed from an icon by using 
CopyFromIcon
:
// Load an icon
wxIcon icon(wxT(“image.xpm”), wxBITMAP_TYPE_XPM);
// Convert it to a bitmap
wxBitmap bitmap;
bitmap.CopyFromIcon(icon);
268
Programming with Images Chapter 10
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Page: Extract, Copy and Paste PDF Pages. Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others in C#.NET Program.
extract jpg pdf; extract text from image pdf file
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Powerful .NET PDF image edit control, enable users to insert vector images to PDF file. Merge several images into PDF. Insert images into PDF form field.
extract images from pdf files without using copy and paste; extract text from pdf image
Or you can load a bitmap from a file:
// Load from a file
wxBitmap bitmap(wxT(“picture.png”, wxBITMAP_TYPE_PNG);
if (!bitmap.Ok())
{
wxMessageBox(wxT(“Sorry, could not load file.”));
}
wxBitmap
can load all the file types that 
wxImage
can (see Table 10-7), by using
either 
wxImage
or a more efficient platform-specific implementation for certain
file types. Some of the most popular formats are PNG, JPEG, TIFF, BMP, and
XPM, which are available on all platforms for both loading and saving, assum-
ing that wxWidgets support for these formats has been enabled.
On  Mac  OS  X, a  PICT  resource  can  also  be  loaded  by  specifying
wxBITMAP_TYPE_PICT_RESOURCE
.
If you want to load a bitmap from a platform-dependent source, you can
use the 
wxBITMAP
macro. For example:
#if !defined(__WXMSW__) && !defined(__WXPM__)
#include “picture.xpm”
#endif
wxBitmap bitmap(wxBITMAP(picture));
This will load the resource named 
picture
from the executable on Windows
and OS/2, and on all other platforms,it will load an XPM from the 
picture_xpm
variable. However, the XPM format is supported on all platforms,so use of this
macro is not usually necessary.
Setting a wxMask
Each 
wxBitmap
object can contain a 
wxMask
,a monochrome bitmap that indi-
cates the transparent areas of the main bitmap. This will be created automat-
ically when you load a transparent image, for example using XPM, PNG, or
GIF,but you can also create it programmatically and assign it to a bitmap with
SetMask
.You can create a 
wxMask
object from a 
wxBitmap
,or a 
wxBitmap
plus a
color to indicate the transparent area.
The following example creates a monochrome transparent image called
mainBitmap
,32 pixels wide by 32 pixels high, from bitmap data (
imageBits
) and
a mask (
maskBits
) where 1 is black and 0 is white for the bits, and 1 is opaque
and 0 is transparent for the mask.
static char imageBits[] = { 255, 255, 255, 255, 31,
255, 255, 255, 31, 255, 255, 255, 31, 255, 255, 255,
31, 255, 255, 255, 31, 255, 255, 255, 31, 255, 255,
255, 31, 255, 255, 255, 31, 255, 255, 255, 25, 243,
Programming with wxBitmap
269
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Professional .NET library and Visual C# source code for creating high resolution images from PDF in C#.NET class. Cut and paste any areas in PDF pages to images.
how to extract images from pdf files; extract jpg from pdf
VB.NET Create PDF from images Library to convert Jpeg, png images
VB.NET Guide for Converting Raster Images to PDF File Using VB.NET Sample Code. VB.NET Example of More than Two Images to PDF Conversion. This VB.
how to extract a picture from a pdf; online pdf image extractor
255, 255, 19, 249, 255, 255, 7, 252, 255, 255, 15, 254,
255, 255, 31, 255, 255, 255, 191, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255 };
static char maskBits[] = { 240, 1, 0, 0, 240, 1,
0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 240, 1,
0, 0, 240, 1, 0, 0, 240, 1, 0, 0, 255, 31, 0, 0, 255,
31, 0, 0, 254, 15, 0, 0, 252, 7, 0, 0, 248, 3, 0, 0,
240, 1, 0, 0, 224, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0 };
wxBitmap mainBitmap(imageBits, 32, 32);
wxBitmap maskBitmap(maskBits, 32, 32);
mainBitmap.SetMask(new wxMask(maskBitmap)); 
The XPM Format
Where small bitmaps with transparency are needed, for example as toolbar
buttons or bitmaps in notebooks and tree controls, wxWidgets programmers
often use XPM. One advantage of this format is that it uses C/C++ syntax, and
it can either be loaded dynamically or compiled into your program. Here’s an
example.
// You can also use #include “open.xpm”
static char *open_xpm[] = {
/* columns rows colors chars-per-pixel */
“16 15 5 1”,
“  c None”,
“. c Black”,
“X c Yellow”,
“o c Gray100”,
“O c #bfbf00”,
/* pixels */
“                “,
“          ...   “,
“         .   . .”,
“              ..”,
“  ...        ...”,
“ .XoX.......    “,
“ .oXoXoXoXo.    “,
“ .XoXoXoXoX.    “,
“ .oXoX..........”,
270
Programming with Images Chapter 10
Programming with wxBitmap
271
“ .XoX.OOOOOOOOO.”,
“ .oo.OOOOOOOOO. “,
“ .X.OOOOOOOOO.  “,
“ ..OOOOOOOOO.   “,
“ ...........    “,
“                “
};
wxBitmap bitmap(open_xpm);
As you can see, XPMs are encoded using character data. Before the image
data, there is a palette section that maps each character to its color, either as
an identifier  or  as a  hash-prefixed six-digit  hexadecimal  string. Using the
identifier 
None
causes this character to represent the transparent area in the
bitmap. Although XPM support is uncommon among Windows image manipu-
lation programs, you can create images as PNGs and convert to XPM using a
tool such as ImageBlocks (bundled with DialogBlocks),or you can simply write
your own converter using wxWidgets.
Drawing with Bitmaps
You can draw with a bitmap in a couple different ways. You can associate it
with a memory device context (
wxMemoryDC
) and then use 
wxDC::Blit
to transfer
the contents of the bitmap to another device context. Or, you can use the sim-
pler 
wxDC::DrawBitmap
.In either case, if the bitmap is transparent or has an
alpha channel, you can specify transparent drawing by passing 
true
to the
function.
The two methods are illustrated in the following.
// Draw a bitmap using a wxMemoryDC
wxMemoryDC memDC;
memDC.SelectObject(bitmap);
// Draw the bitmap at 100, 100 on the destination DC
destDC.Blit(100, 100,                       // Draw at (100, 100)
bitmap.GetWidth(), bitmap.GetHeight(),
// Draw full bitmap
& memDC,                               // Draw from memDC
0, 0,                                
// Draw from bitmap origin
wxCOPY,                                // Logical operation
true);                                 // Take mask into account
memDC.SelectObject(wxNullBitmap);
// Alternative method: use DrawBitmap
destDC.DrawBitmap(bitmap, 100, 100, true); 
Chapter 5, “Drawing and Printing,” discusses drawing with bitmaps in more
detail.
Packaging Bitmap Resources
If you come from a Windows programming background, you are accustomed to
loading bitmaps from the resource section of the executable. You can still do
this by passing a resource name and the 
wxBITMAP_TYPE_BMP_RESOURCE
type to
the constructor, but you are likely to want a less platform-specific method.
A portable way to package resources, whether they are bitmaps, HTML
files, or other files required by an application, is to store them in a single zip
file alongside the executable or in a separate data folder.Then you can use the
virtual file system functionality in wxWidgets to load the image directly from
the zip file, as the following fragment shows.
// Create a new file system object
wxFileSystem*fileSystem = new wxFileSystem;
wxString archiveURL(wxT(“myapp.bin”));
wxString filename(wxT(“myimage.png”));
wxBitmapType bitmapType = wxBITMAP_TYPE_PNG;
// Create a URL
wxString combinedURL(archiveURL + wxString(wxT(“#zip:”)) + filename);
wxImage image;
wxBitmap bitmap;
// Open the file in the archive
wxFSFile* file = fileSystem->OpenFile(combinedURL);
if (file)
{
wxInputStream* stream = file->GetStream();
// Load and convert to a bitmap
if (image.LoadFile(* stream, bitmapType))
bitmap = wxBitmap(image);
delete file;
}
delete fileSystem;
if (bitmap.Ok())
{
...
}
For more information about virtual file systems, please see Chapter 14, “Files
and Streams.”
P
ROGRAMMING WITH WX
I
CON
wxIcon
is a small bitmap that always has a mask. Its uses include
 Setting the icon for a frame or dialog
272
Programming with Images Chapter 10
 Adding  icons  to  a 
wxTreeCtrl
,
wxListCtrl,
or 
wxNotebook
via  the
wxImageList
class (see more information later in this chapter)
 Drawing an icon on a device context with 
wxDC::DrawIcon
Table 10-3 summarizes the major icon functions.
Table 10-3
wxIcon
Functions
wxIcon
An icon can be created given another icon, XPM data 
(
char**
), raw data (
char[]
), or a file name and type.
CopyFromBitmap
Creates the icon from a 
wxBitmap
.
GetWidth
,
GetHeight
Returns the icon’s size.
GetDepth
Returns the icon’s depth.
LoadFile
Files can be loaded.
Ok
Returns 
true
if the icon’s data is present.
Creating a wxIcon
wxIcon
object can be created from XPM data included in the application,from
wxBitmap
object, from raw data, or by loading the icon from a file, such as a
transparent XPM file. wxWidgets provides the 
wxICON
macro, which is similar
to the 
wxBITMAP
macro described earlier; the icon is loaded either from a
platform-specific resource or from XPM data.
On  Windows,
LoadFile
and  the equivalent  constructor  will  work  for
Windows bitmap (BMP) and icon (ICO) resources and files. If you want to load
other formats, load the file into a 
wxBitmap
and convert it to an icon.
On Mac OS X and Unix/Linux with GTK+,
wxIcon
has the same file load-
ing capabilities as 
wxBitmap
.
The following code fragment shows four different ways to create a 
wxIcon
object.
// Method 1: load from XPM data
#include “icon1.xpm”
wxIcon icon1(icon1_xpm);
// Method 2: load from an ICO resource (Window and OS/2 only)
wxIcon icon2(wxT(“icon2”));
// Method 3: load from an ICO file (Windows and OS/2 only)
// You can specify the desired width since an icon may
// contain multiple images.
wxIcon icon3(wxT(“icon3.ico”), wxBITMAP_TYPE_ICO, 16, 16);
// Method 4: create from a bitmap
wxIcon icon4;
wxBitmap bitmap(wxT(“icon4.png”), wxBITMAP_TYPE_PNG);
icon4.CopyFromBitmap(bitmap); 
Programming with wxIcon
273
Using wxIcon
The following code shows three different ways to use 
wxIcon
:setting a frame
icon, adding an icon to an image list, and drawing an icon on a device context.
#include “myicon.xpm”
wxIcon icon(myicon_xpm);
// 1: Set a frame icon
frame->SetIcon(icon);
// 2: Add an icon to a wxImageList
wxImageList* imageList = new wxImageList(16, 16);
imageList->Add(icon);
// 3: Draw the icon at (10, 10)
wxClientDC dc(window);
dc.DrawIcon(icon, 10, 10);
Associating an Icon with an Application
Associating an icon with an application (so the operating system can present
a clickable graphic to the user) cannot be done from within the wxWidgets
toolkit, and this is one of the few areas where you need to use a different tech-
nique for each platform.
On Windows, you need to add a resource script (extension 
.rc
) to your
makefile  or  project  file  and  add  an  ICON  statement  to  the  .rc  file—
for example:
aardvarkpro ICON aardvarkpro.ico
#include “wx/msw/wx.rc”
Here,
aardvarkpro.ico
is the name of a Windows icon file with multiple resolu-
tions  and  depths  (typically  at 48×48, 32×32  and 16×16  resolutions). When
showing the icon in Windows Explorer, Windows looks alphabetically for the
first resource, so you may want to prepend a few a’s to your chosen resource,
just to make sure it’ll be found first; otherwise, you’ll see an unexpected icon
on the desktop or in a folder.
On the Mac, you need to prepare an application bundle containing some
ICNS  files. See  the  installation  section  in  Chapter  20, “Perfecting  Your
Application,” for  more  on  bundles; the  relevant  sections  of  a  bundle’s
Info.plist
file might look like this:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
274
Programming with Images Chapter 10
Documents you may be interested
Documents you may be interested