mvc display pdf from byte array : Extract image from pdf online Library SDK component asp.net .net wpf mvc EZTwain_User_Guide5-part1932

EZTwain Pro User Guide
Converting between DIB and other image formats
Microsoft, never content to offer one solution when it can offer two (or more), has 
over the years created at least five widely-used classes of image object:
1. The Device-Independent Bitmap or DIB.
EZTwain Pro uses this format internally, representing each image as a global 
handle to a block of memory containing a DIB header immediately followed by 
the pixel data.  DIBs can store a wide variety of image formats, and retain 
resolution (DPI) information.  In native Win32 programming, the DIB is the 
standard general-purpose image format, although it is usually referenced using 
pointers rather than a global handle.
2. The Device-Dependent Bitmap, DDB, or HBITMAP.
Often simply called a ‘bitmap’, and referenced in the Win32 API by a handle 
called an HBITMAP, a DDB has a device-dependent pixel format (although 
actually the 1-bit format is standardized) and can only be manipulated by the 
video device driver that created it.  DDBs do not store resolution (DPI) 
information. It is not generally meaningful to save a DDB to a file.
Today, DDBs are only useful in two contexts: They are still the easiest way to 
embed fixed graphics as resources into a Windows program in C/C++. And if you 
need the absolute maximum speed, they are probably the fastest way to move 
pixels to and from the display.
EZTwain can convert from DDB (HBITMAP) to DIB with DIB_FromBitmap.
3. The DibSection
This is a strange hybrid object, an HBITMAP that wraps a DIB.  Many languages 
and imaging classes (such as GDI+, .NET Image, Delphi TBitmap) do not easily 
accept DIBs but readily accept a DIBSection as an HBITMAP.
EZTwain can convert a DIB to a DibSection with DIB_ToDibSection.  Use this 
function when you need an HBITMAP.  Note: DIB_ToDibSection frees the DIB.
4. The Picture/IPicture/OLE Picture object.
This is a COM object wrapper for an image - it can wrap either a bitmap or a 
Windows Metafile (WMF).  VB supports this format as the Picture type - when 
calling EZTwain from VB, you can use DIB_ToPicture and DIB_FromPicture.
5. The Image class
The .NET framework introduced the Image class.  When using EZTwain from 
VB.NET, you can use the function DIB_ToImage.
Page 49
Extract image from pdf online - 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 pdf images; how to extract text from pdf image file
Extract image from pdf online - 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
extract image from pdf c#; extract images from pdf online
EZTwain Pro User Guide
DIB_ToDibSection
HBITMAP DIB_ToDibSection(HANDLE hdib)
Convert the given DIB into a kind of bitmap called a DIBSection, which is a special 
kind of Windows native bitmap.  The returned HBITMAP (bitmap handle) can be used 
with many Windows functions and controls.  Many class libraries (such as .NET 
Image and Delphi TBitmap) also prefer this kind of bitmap.
Note: The input DIB is freed and can no longer be accessed or used.
DIB_FromBitmap
HANDLE DIB_FromBitmap(HBITMAP hbm, HDC hdc)
Reverse of DIB_ToDibSection:  Converts a device-dependent bitmap into a DIB 
(Device-Independent Bitmap).  If successful, the input bitmap is deleted.
Most programmers can pass 0 (NULL) for the HDC argument.  The HDC (handle to 
device context) should only be used if you understand GDI programming and know 
that the HDC is compatible with the HBITMAP and contains useful color palette 
information.  If the incoming HBITMAP is a DIBSection (for example from 
DIB_ToDibSection) the HDC is never needed and can always be 0.
DIB_ToImage/DibToImage
Function DIB_ToImage(ByVal hdib As System.IntPtr) As Image 
Function DibToImage(ByVal hdib As System.IntPtr) As Image 
Converts a DIB into a .NET Image object and returns it. Note that with this function, 
the input DIB is not freed - your code must free the DIB when you are done with it.
Page 50
VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. control provides text extraction from PDF images and image files. Best VB.NET PDF text extraction SDK library and
extract image from pdf in; online pdf image extractor
C# PDF Text Extract Library: extract text content from PDF file in
Ability to extract highlighted text out of PDF document. from scanned PDF by using XDoc.PDF for .NET Image text extraction control provides text extraction from
how to extract a picture from a pdf; pdf image extractor online
EZTwain Pro User Guide
Converting between DIBs and VB Pictures
Visual Basic has a type called variously a Picture, StdPicture, or IPicture – which can 
be used alone, or in conjunction with the PictureBox control, whose Picture property 
holds a Picture object.  EZTwain prefers to work with and store images as DIBs, so 
the following functions allow conversion between DIBs and VB Pictures.  
Warning: VB’s Picture objects do not retain resolution (DPI) – or we have not found 
the secret that makes it work.  The resolution is what determines the implied 
physical (printed) size of an image, so if you need this information, you will have to 
somehow restore it when you convert from Picture to DIB.  See p. 46 – 
DIB_SetResolution.  We recommend not converting Pictures back to DIBs.
Note: The Picture type is replaced in .NET by the Image class, so these functions are 
not available in .NET languages - See DIB_ToImage.
The EZTwain Developer Kit contains a non-trivial sample application called VBTwerp 
written for VB 5.0, which demonstrates use of these and many other EZTwain 
functions.
DIB_ToPicture
Picture DIB_ToPicture(HANDLE hdib)
Reformat the given DIB into a Picture.  Note: This frees the input DIB – it can no 
longer be accessed or used.
A Picture object can be assigned to the Picture property of a PictureBox on a form, 
causing the picture to be displayed.  Discussion of the PictureBox control is beyond 
the scope of this document – see the VB documentation, and many Web resources. 
If you have a form frmMain containing a PictureBox named ScannedPic, this 
statement will scan an image and display it:
Dim hdib As Long
hdib = TWAIN_AcquireNative(frmMain.hwnd, 0)
If hdib <> 0 Then
Set ScannedPic.Picture = DIB_ToPicture(hdib)
End If
DIB_FromPicture
HANDLE DIB_FromPicture(Picture pic)
Create a DIB (Device-Independent Bitmap) from a Picture.  The Picture itself is 
unchanged.  This only works if the Picture contains a bitmap – not an icon or 
metafile.
Page 51
VB.NET PDF insert image library: insert images into PDF in vb.net
NET framework component supports inserting image to PDF in preview without adobe PDF control installed. Access to freeware download and online VB.NET class
pdf extract images; extract images from pdf
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Create PDF Online. Convert PDF Online. WPF PDF Viewer. View PDF in WPF. Annotate PDF in WPF. Image: Extract Image from PDF. PDF Write. Text: Insert Text to PDF.
extract image from pdf; extract photos pdf
EZTwain Pro User Guide
Drawing Text into DIBs
DIB_DrawText
void DIB_DrawText(HANDLE hdib, const char *pzText, int x, int y, 
int w, int h)
Draw text into the specified DIB image, inside the specified rectangle.  All the 
coordinates are in pixels.  The y-coordinate is measured down from the top, so (0,0) 
is the upper-left corner of the image.  A width or height of -1 means ‘as much as 
needed’.  When you first use this function, we recommend using w = h = –1.
The text color, typeface, character height, rotation angle and format can be set with 
the functions below.  The default text settings are:
Normal (plain) style
flush left, push to top
character height: 14 pixels
rotation angle: 0 degrees (horizontal)
color: black
font: Arial
Example:
DIB_SetTextColor(255, 0, 0);
DIB_SetTextFormat(EZT_TEXT_RIGHT+EZT_TEXT_BOTTOM);
DIB_DrawText(hdib, “Captured 2003.07.08 11:52”, 0, 0,-1,-1);
This will draw the annotation in the bottom-right corner of the image in bright red.
Note: Anisotropic images
When drawing text into an image that has different DPI in X and Y, such as a digital 
fax file, the text height is reinterpreted as a physical height relative to the higher DPI 
value.  In other words, if you set text height=25 and draw text into an image with 
200 DPI horizontal and 96 DPI vertical, the text height is interpreted as 25/200 = 
0.125 inches, and text is drawn correctly proportioned to be 0.125 in. high no matter 
how it is oriented.  In this example, horizontal text would be drawn 25 pixels high 
and would print out 0.125 inches high. Text drawn sideways (angles of 90 or 270) 
will be drawn in the image 0.125 * 96 = 12 pixels high, which causes it to print and 
display at 12/96 = 0.125 inches high, the same as horizontal text.
DIB_SetTextHeight
void DIB_SetTextHeight(int nH)
Set the character height in pixels (image rows) for subsequent calls to 
DIB_DrawText.  If you need to set the text height in physical units (inches) convert 
as follows:
nH = round_to_nearest_integer(HeightInInches * DIB_Yresolution(hdib))
Page 52
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
PDF Online. Annotate PDF Online. Create PDF Online. Convert PDF Online. WPF PDF Extract Text from PDF. Text: Search Text in PDF. Image: Extract Image from PDF.
extract images from pdf files without using copy and paste; extract images from pdf file
C# PDF insert image Library: insert images into PDF in C#.net, ASP
to zoom and crop image and achieve image resizing. Merge several images into PDF. Insert images into PDF form field. Access to freeware download and online C#.NET
extract pdf pages to jpg; how to extract images from pdf file
EZTwain Pro User Guide
DIB_SetTextColor
void DIB_SetTextColor(int R, int G, int B)
Set the text color for subsequent calls to DIB_DrawText.
DIB_SetTextAngle
void DIB_SetTextAngle(int nDegrees)
Set the text orientation for subsequent calls to DIB_DrawText, in degrees of rotation 
clockwise from horizontal.  Only multiples of 90 degrees are supported.  Negative 
values (representing counter-clockwise rotation) are accepted.
DIB_SetTextFace
void DIB_SetTextFace(const char *pzFace)
Set the text typeface (text font) for subsequent calls to DIB_DrawText.  Default is 
“Arial”.  The fonts that are absolutely universal on Windows (including 95 and NT):
Arial
Courier New
Lucida Console
MS Sans Serif
Times New Roman
Symbol: 
ABCDEFG
WingDings: 
A machine that has Internet Explorer installed will have additional fonts:
Arial Black
Comic Sans MS
Georgia
Impact
Trebuchet MS
Verdana
Page 53
VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
PDF Online. Annotate PDF Online. Create PDF Online. Convert PDF Online. WPF PDF Extract Text from PDF. Text: Search Text in PDF. Image: Extract Image from PDF.
extract text from pdf image; extract images from pdf acrobat
VB.NET PDF - Create PDF Online with VB.NET HTML5 PDF Viewer
PDF Online. Annotate PDF Online. Create PDF Online. Convert PDF Online. WPF PDF Extract Text from PDF. Text: Search Text in PDF. Image: Extract Image from PDF.
extract images pdf; extract photo from pdf
EZTwain Pro User Guide
DIB_SetTextFormat
void DIB_SetTextFormat(int nFlags)
Sets the alignment and formatting of text for for subsequent calls to DIB_DrawText. 
These format attributes can be added or OR’ed together:
SetTextFormat Flags
Named Constant
Value
Meaning / Effect
EZT_TEXT_NORMAL
0x0000
‘plain’ text style, like this
EZT_TEXT_BOLD
0x0001
bold
EZT_TEXT_ITALIC
0x0002
italic
EZT_TEXT_UNDERLINE
0x0004
underlined
EZT_TEXT_STRIKEOUT
0x0008
strikeout
EZT_TEXT_BOTTOM
0x0100
Push text to bottom of rectangle
EZT_TEXT_VCENTER
0x0200
Center text vertically within rectangle
EZT_TEXT_TOP
0x0000
Float text to top of rectangle
EZT_TEXT_LEFT
0x0000
Push text to the left side of the rectangle
EZT_TEXT_CENTER
0x1000
Center text horizontally
EZT_TEXT_RIGHT
0x2000
Push text to the right side of the rectangle
EZT_TEXT_WRAP
0x4000
Break lines into multiple lines if needed
Page 54
EZTwain Pro User Guide
DIB Transformations & Drawing
DIB_DrawLine
void DIB_DrawLine(HDIB hdib,
// DIB to draw into
int x1, int y1,
// starting point
int x2, int y2,
// ending point
int R, int G, int B)  // color
Draw a straight line in an image (DIB) from the starting point to the ending point, 
using the nearest available match to the specified color.  R, G, B are interpreted as 
8-bit red/green/blue values 0..255.  The coordinates are in pixels, with (0,0) being 
the upper-left corner of the image.  If hdib is a B&W, grayscale, or palette image, the 
mathematically nearest representable color to (R,G,B) is used.
DIB_Fill
void DIB_Fill(HANDLE hdib, int R, int G, int B)
Fill all the pixels of the DIB with the specified color.  R, G, B are interpreted as 8-bit 
red/green/blue values 0..255.    If hdib is a B&W, grayscale, or palette image, the 
mathematically nearest representable color to (R,G,B) is used.
DIB_Negate
void DIB_Negate(HANDLE hdib)
Negates all the pixels in the DIB. Note that the color table if any is left untouched – 
this call will not have the desired effect on an indexed-color image.
DIB_AdjustBC
void DIB_AdjustBC(HDIB hdib, int nB, int nC)
Adjust the brightness and/or contrast of the image.
nB and nC are -1000 to 1000, with a value of 0 meaning 'no change'.
Positive nB pushes all pixels toward white, negative toward black.
Positive nC pushes all pixels away from mid-value, toward black and white.
Negative nC pushes all pixels toward the mid-value.
Works on grayscale, RGB, CMY(K) images - no effect on B&W and palette.
DIB_FlipVertical
void DIB_FlipVertical(HANDLE hdib)
Flips the image in the y-direction – turns it upside down.
DIB_FlipHorizontal
void DIB_FlipHorizontal(HANDLE hdib)
Flips the image in the x-direction – mirror-images it.
Page 55
EZTwain Pro User Guide
DIB_Rotate180
void DIB_Rotate180(HANDLE hdib)
Turns the image 180°.
DIB_Rotate90
HANDLE DIB_Rotate90(HANDLE hOld, int nSteps)
Return a copy of hOld rotated clockwise nSteps * 90°.  If nSteps is 0, the result is a 
copy of hOld.  Negative values of nSteps rotate counterclockwise.  Note that hOld is 
not destroyed so you need to DIB_Free it if you are done with it.
Page 56
EZTwain Pro User Guide
DIB Scaling, Resampling & Format Conversion
DIB_ScaledCopy
HANDLE DIB_ScaledCopy(HANDLE hOld, int w, int h)
Create and return a copy of hOld scaled (resampled) to have width w and height h. 
This only works on 24-bit color and 8-bit grayscale images, other input will cause the 
function to fail and return NULL.  Don't forget to DIB_Free the old DIB when you are 
done with it.  This operation is sometimes called resampling because you have the 
same image, but with a different number of samples of its color values.
DIB_Resample
HDIB DIB_Resample(HDIB hOld, double xdpi, double ydpi)
Return a new image that is a copy of the old image, but resampled to the specified 
resolution.  Resampling is the technical term for recomputing the pixels of an image, 
when you want to change the number of pixels in the image but not the physical size 
(like 8.5" x 11").
If you resample from 300DPI to 100DPI, you will have 1/3 as many rows, 1/3 as 
many columns, 1/9 as many pixels - but the pixels will be marked in the image as 
being 3 times as 'wide' and 'tall' - so the physical size of the image stays the same. 
This is the same as DIB_ScaledCopy (above), just looked at in a different way.
DIB_Resample will fail if the input image has either resolution <= 0, or if xdpi or 
ydpi is <= 0.  It can also fail from insufficient memory.
Remember to DIB_Free the old DIB when you are done with it.
DIB_Thumbnail
HANDLE DIB_Thumbnail(HANDLE hdib, int MaxWidth, int MaxHeight)
Return an image (Dib) containing a copy of hdib, scaled so that its width is no more 
than MaxWidth, and height is no more than MaxHeight. Can accept any image 
produced by EZTwain. B&W images are converted to grayscale thumbnails. 
Remember to DIB_Free the original image and the thumbnail, when you are done 
using them.
DIB_SimpleThreshold
HDIB DIB_SimpleThreshold(HDIB hdib, int nT)
Returns a B&W copy of the given image using the given threshold.  The gray value 
(0..255) of each input pixel is calculated: If the value < nT that pixel is black (0) in 
the returned image, if the value >= nT the pixel becomes white in the returned 
image.  Remember to DIB_Free each image when you are done using it.
DIB_SmartThreshold
HDIB DIB_SmartThreshold(HDIB hdib)
Page 57
EZTwain Pro User Guide
Returns a B&W copy of the given image, using a ‘smart’ thresholding algorithm.  This 
function examines the entire image and chooses a threshold value that is ‘optimal’ in 
some sense, for text and line-art.  Remember to DIB_Free each image when you are 
done using it.
DIB_ConvertToPixelType
HANDLE DIB_ConvertToPixelType(HANDLE hdib, int nPT)
Takes a DIB handle and a pixel-type code (see Pixel Types, p 2) and returns a copy 
of the input DIB, converted into the specified pixel type.  The input DIB is not 
affected, and must be freed with DIB_Free when no longer needed.
This function can be used to expand B&W images into grayscale, to convert between 
RGB and CMY or CMYK formats, to convert color scans to grayscale, grayscale to 
B&W, and so forth.
When converting to B&W, the image is thresholded using a ‘smart threshold’ - see 
DIB_SmartThreshold above.  When converting a color image to TWPT_PALETTE, an 
optimized color table is computed, and the image is rendered into that set of colors 
with a ‘random dither’ technically known as error diffusion.
DIB_ConvertToFormat
HANDLE DIB_ConvertToFormat(HDIB hOld, int nPT, int nBPP)
Create and return a new DIB containing the hOld image converted to the specified 
pixel type and bits per pixel.  Similar DIB_ConvertToPixelType but allows for non-
standard depth in the output, such as 4-bit/pixel grayscale, or 16-bit/sample RGB.
Unsupported and impossible combinations cause a NULL return.
DIB_ScaleToGray
HANDLE DIB_ScaleToGray(HDIB hdibOld, int r)
Create and return a new grayscale DIB by averaging each r x r pixel square of 
hdibOld to create each output pixel.  The output image has 1/r times the width and 
height, and resolution, of the input image.  Works well to convert B&W images to 
lower-resolution grayscale images, which are not as ‘crisp’ but are smoother, look 
better when scaled, and can be JPEG-compressed.
Page 58
Documents you may be interested
Documents you may be interested