mvc display pdf in view : Extract vector image from pdf Library control class asp.net web page wpf ajax 0131473816_book43-part63

user-defined types will need to be accessed via the 
wxVariantData
object, unlike
basic data types, for which convenience functions such as 
GetLong
can be used.
Bear in mind that not all types can be converted automatically to all
other types; for example, it doesn’t make much sense to convert a boolean into
wxDateTime
object or to convert an integer to a 
wxArrayString
.Use common
sense to decide which conversions are appropriate, and remember that you
can always get the current type using 
GetType
.Here is a small example using
wxVariant
:
wxVariant Var;
// Store a wxDateTime, get a wxString
Var = wxDateTime::Now();
wxString DateAsString = Var.GetString();
// Store a wxString, get a double
Var = wxT(“10.25”);
double StringAsDouble = Var.GetDouble();
// Type will be “string”
wxString Type = Var.GetType();
// This is not a valid conversion, a string can’t become a character
// so c will be 0 due to being unable to convert
char c = Var.GetChar();
S
UMMARY
The  data  structures  provided  by  wxWidgets  allow  you  to  easily  pass  and
receive structured data to and from wxWidgets and within your own applica-
tions. By providing powerful  data  processing methods  and  classes  such as
wxRegEx
,
wxStringTokenizer
,
wxDateTime
,and 
wxVariant
,almost any data storage
and processing needs can be met by wxWidgets without having to use third-
party libraries.
Next, we’ll look at what wxWidgets offers for reading and writing data
using files and streams.
Summary
395
Extract vector image 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 image from pdf using; some pdf image extract
Extract vector image 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
how to extract images from pdf file; extract photo from pdf
VB.NET PDF Convert to SVG SDK: Convert PDF to SVG files in vb.net
NET PDF file & pages edit, C#.NET PDF pages extract, copy, paste use the PDF conversion control to render and convert PDF document to SVG vector image in VB
online pdf image extractor; extract pictures pdf
C# PDF remove image library: remove, delete images from PDF in C#.
PDF to text, VB.NET extract PDF pages, VB Support removing vector image, graphic picture, digital photo, scanned Get all image objects and remove multiple or
extract jpg from pdf; extract images from pdf files without using copy and paste
C H A P T E R
14
Files and Streams
In this chapter, we’ll look at the classes that wxWidgets provides for low-level
file access and streaming. wxWidgets’ stream classes not only protect your
application from the  idiosyncrasies  of different  standard  C++  libraries but
also provide a complete set of classes including compression, writing to zip
archives, and even socket streaming. We’ll also describe wxWidgets’ virtual file
system facility, which lets your application easily take data from sources other
than normal disk files.
F
ILE
C
LASSES AND
F
UNCTIONS
wxWidgets  provides  a  range  of  functionality  for  platform-independent 
file handling. We’ll introduce the major classes before summarizing the file
functions.
wxFile and wxFFile
wxFile
may be used for low-level input/output. It contains all the usual func-
tions to work with integer file descriptors (opening/closing, reading/writing,
seeking, and so on), but unlike the standard C functions, it reports errors via
wxLog
and closes the file automatically in the destructor.
wxFFile
brings simi-
lar benefits but uses buffered input/output and contains a pointer to a 
FILE
handle.
You can create a 
wxFile
object by using the default constructor followed
by 
Create
or 
Open
,or you can use the constructor that takes a file name and
open mode (
wxFile::read
,
wxFile::write,
or 
wxFile::read_write
). You can also
create a 
wxFile
from an existing file descriptor, passed to the constructor or
Attach
function. A 
wxFile
can be closed with 
Close
,which is called automati-
cally (if necessary) when the object is destroyed.
397
VB.NET PDF remove image library: remove, delete images from PDF in
edit, C#.NET PDF pages extract, copy, paste Support removing vector image, graphic picture, digital photo, scanned Remove multiple or all image objects from PDF
extract images from pdf c#; extract images from pdf files
C# PDF copy, paste image Library: copy, paste, cut PDF images in
copy, paste and cut vector image, graphic picture new PDFDocument(inputFilePath); // Extract all images PDFImageHandler.DeleteImage(doc, image); } // Output the
extract photos pdf; extract text from image pdf file
You can get data from the object with 
Read
,passing a 
void*
buffer and the
number of bytes to read.
Read
will return the actual number of bytes read, or
wxInvalidOffset
if  there  was  an  error. Use 
Write
to  write  a 
void*
buffer 
or 
wxString
to the file,calling 
Flush
if you need the data to be written to the file
immediately.
To test for the end of the file, use 
Eof
,which will return 
true
if the file
pointer is at the end of the file. (In contrast,
wxFFile
’s 
Eof
will return 
true
only
if an attempt has been made to read past the end of the file.) You can deter-
mine the length of the file with 
Length
.
Seek
and 
SeekEnd
seek to a position in the file,taking an offset specified as
starting from the beginning or end of the file, respectively.
Tell
returns the
current offset from the start of the file as a 
wxFileOffset
(a 64-bit integer if the
platform supports it, or else a 32-bit integer).
Call the static 
Access
function to determine whether a file can be opened
in a given mode.
Exists
is another static function that tests the existence of
the given file.
The following code fragment uses 
wxFile
to open a data file and read all
the data into an array.
#include “wx/file.h”
if (!wxFile::Exists(wxT(“data.dat”)))
return false;
wxFile file(wxT(“data.dat”));
if ( !file.IsOpened() )
return false;
// get the file size
wxFileOffset nSize = file.Length();
if ( nSize == wxInvalidOffset )
return false;
// read the whole file into memory
wxUint* data = new wxUint8[nSize];
if ( fileMsg.Read(data, (size_t) nSize) != nSize )
{
delete[] data;
return false;
}
file.Close();
To illustrate file writing,here’s a function that will dump the contents of a text
control to a file.
398
Files and Streams Chapter 14
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
In addition, our PDF document conversion library also enables developers to render and convert PDF document to TIFF and vector image SVG.
extract image from pdf file; extract image from pdf acrobat
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
to copy, paste and cut vector image, graphic picture New PDFDocument(inputFilePath) ' Extract all images PDFImageHandler.DeleteImage(doc, image) Next ' Output
extract image from pdf online; pdf image extractor online
bool WriteTextCtrlContents(wxTextCtrl* textCtrl,
const wxString& filename)
{
wxFile file;
if (!file.Open(filename, wxFile::write))
return false
int nLines = textCtrl->GetNumberOfLines();
bool ok = true;
for ( int nLine = 0; ok && nLine < nLines; nLine++ )
{
ok = file.Write(textCtrl->GetLineText(nLine) +
wxTextFile::GetEOL());
}
file.Close();
return ok;
}
wxTextFile
wxTextFile
provides a very straightforward way to read and write small files
and process them line-by-line.
Use 
Open
to read a file into memory and split it into lines, and use 
Write
to save it. You can use 
GetLine
or the array operator to retrieve a specified line,
or  you  can  iterate  through  the  file  with 
GetFirstLine
,
GetNextLine
, and
GetPrevLine
.Add lines to the file with 
AddLine
or 
InsertLine
,and remove lines
by passing the line number to 
RemoveLine
.You can clear the whole file with
Clear
.
In the following example, each line of a file is prepended with a given
string before being written back to the same file.
#include “wx/textfile.h”
void FilePrepend(const wxString& filename, const wxString& text)
{
wxTextFile file;
if (file.Open(filename))
{
size_t i;
for (i = 0; i < file.GetLineCount(); i++)
{
file[i] = text + file[i];
}
file.Write(filename);
}
}
File Classes and Functions
399
C# PDF Convert to SVG SDK: Convert PDF to SVG files in C#.net, ASP
it is quite necessary to convert PDF document into SVG image format. Here is a brief introduction to SVG image. SVG, short for scalable vector graphics, is a
extract images from pdf acrobat; extract pdf pages to jpg
C# PDF insert image Library: insert images into PDF in C#.net, ASP
other bitmap images. Powerful .NET PDF image edit control, enable users to insert vector images to PDF file. Import graphic picture
pdf image extractor c#; how to extract images from pdf files
wxTempFile
wxTempFile
is derived from 
wxFile
and uses a temporary file to write data, not
writing to the actual file until 
Commit
is called. When you write a user’s data,
it’s a good idea to write to a temporary file because if an error occurs during
the save operation (such as a power failure, program bug, or other cataclysm),
this error will not corrupt the current file on disk.
Note
The document/view framework does not write to a temporary file when
creating an output stream and calling 
SaveObject
,so you may want to
override 
DoSaveDocument
and construct a 
wxFileOutputStream
from a
wxTempFile
object.After writing data,call 
Sync
on the stream followed by
Commit
on the temporary file object.
wxDir
wxDir
is a portable equivalent of the Unix 
open
/
read
/
closedir
functions, which
support enumeration of the files in a directory.
wxDir
supports enumeration of
files as well as directories. It also provides a flexible way to enumerate files
recursively using 
Traverse
or the simpler 
GetAllFiles
function.
After opening a file with 
Open
(or by passing a path to the constructor),
call
GetFirst
passing a pointer to a string to receive the found file name. You
can also pass a file specification (defaulting to the empty string to match all
files) and optional flags. Then call 
GetNext
until there are no more matching
files and the function returns 
false
.The file specification can contain wild-
cards,such as “*” (match any number of characters) and “?” (match one charac-
ter). For  the 
flags
argument, pass  a  bit-list  of
wxDIR_FILES
(match  files),
wxDIR_DIRS
(match  directories),
wxDIR_HIDDEN
(match  hidden  files), and
wxDIR_DOTDOT
(match “.” and “..”). The default is to match everything except “.”
and “..”.
Here’s an example of its use:
#include “wx/dir.h”
wxDir dir(wxGetCwd());
if ( !dir.IsOpened() )
{
// Deal with the error here - wxDir already logs an error message
// explaining the exact reason of the failure
return;
}
puts(“Enumerating object files in current directory:”);
wxString filename;
wxString filespec = wxT(“*.*”);
int flags = wxDIR_FILES|wxDIR_DIRS;
400
Files and Streams Chapter 14
VB.NET PowerPoint: PPTX to SVG Conversion; Render PPT to Vector
is listed to render PPTX to vector image file in converted and rendered into svg image format while powerful & profession imaging controls, PDF document, tiff
extract images from pdf; how to extract images from pdf in acrobat
bool cont = dir.GetFirst(&filename, filespec, flags);
while ( cont )
{
wxLogMessage(wxT(“%s\n”), filename.c_str());
cont = dir.GetNext(&filename);
}
Note that if there is a problem when enumerating files—for example, if the
directory does not exist—
wxDir
will generate a log message. To suppress this
behavior, use the 
wxLogNull
object to temporarily disable logging:
// Create scope for logNull
{
wxLogNull logNull;
wxDir dir(badDir);
if ( !dir.IsOpened() )
{
return;
}
}
wxFileName
wxFileName
models the name of a file; it can parse and reconstitute the compo-
nents of a file name, and it also provides a variety of file operations, some of
which are static functions. Here are some examples of what you can do with
this class. Please see the reference manual for the many other operations.
#include “wx/filename.h”
// Create a filename from a string
wxFileName fname(wxT(“MyFile.txt”));
// Normalize, including making sure the filename is in its long form
// on Windows
fname.Normalize(wxPATH_NORM_LONG|wxPATH_NORM_DOTS|wxPATH_NORM_TILDE|
wxPATH_NORM_ABSOLUTE);
// Get the full path as a string
wxString filename = fname.GetFullPath();
// Make it relative to the current path
fname.MakeRelativeTo(wxFileName::GetCwd());
// Does the file exist?
bool exists = fname.FileExists();
// Does a different file exist?
bool exists2 = wxFileName::FileExists(wxT(“c:\\temp.txt”));
// Return the name part
File Classes and Functions
401
wxString name = fname.GetName();
// Return the path part
wxString path = fname.GetPath();
// Return the short version on Windows, or identity
// on other systems
wxString shortForm = fname.GetShortPath();
// Makes a directory
bool ok = wxFileName::Mkdir(wxT(“c:\\thing”));
File Functions
The  most  commonly  used  file  functions are  listed  in  Table  14-1, and  are
defined in 
wx/filefn.h
.See also the 
wxFileName
class, especially the static func-
tions  you  can  use  without  constructing  a 
wxFileName
object, such  as
wxFileName::FileExists
.
wxWidgets also wraps  many of the standard C file functions, such as
wxFopen
,
wxFputc
,and 
wxSscanf
.These are not currently documented, but their
definitions may be found in 
include/wx/wxchar.h
in your wxWidgets distribution.
Table 14-1 File Functions
wxDirExists(dir)
Tests whether the directory exists.See also 
wxFileName::DirExists
.
wxConcatFiles(f1, f2, f3)
Concatenates 
f1
and 
f2
to 
f3
,returning 
true
on 
success.
wxCopyFile(f1, f2, overwrite)
Copies 
f1
to 
f2
,optionally overwriting 
f2
.
Returns 
true
on success.
wxFileExists(file)
Tests whether the file exists.See also 
wxFileName::FileExists
.
w
xFileModificationTime(file)
Returns the time (as a 
time_t
) of the last file 
modification.See also 
wxFileName::GetModificationTime
,which 
returns a 
wxDateTime
.
wxFileNameFromPath(file)
Returns the file name part of the path.The rec-
ommended method is to use 
wxFileName::SplitPath
.
wxGetCwd()
Returns the current working directory.See also 
wxFileName::GetCwd
.
wxGetDiskSpace
Returns available disk space on the disk contain-
(
path, total, free)
ing the given path,returning total space and free
space in the 
wxLongLong
pointer arguments.
402
Files and Streams Chapter 14
wxIsAbsolutePath(path)
Tests whether the given path is absolute or 
relative.
wxMkdir(dir, permission=777)
Creates the given directory,optionally specifying 
an access mask.The parent directory must exist.
Returns 
true
on success.
wxPathOnly(path)
Returns the directory part of the given path.
wxRemoveFile(file)
Removes the file, returning 
true
on success.
wxRenameFile(file1, file2)
Renames the file,returning 
true
on success.This
may return 
false
if the files are on different vol-
umes,for example, in which case a file copy is 
required.
wxRmdir(file)
Removes the directory,returning 
true
on success.
wxSetWorkingDirectory(file)
Sets the current working directory,returning 
true
on success.
It’s also useful to know about the 
wxFILE_SEP_PATH
symbol, which is the appro-
priate path separator for the platform on which the application is running (for
example, backslash on Windows and forward slash on Unix-based systems).
S
TREAM
C
LASSES
Streams offer a higher-level model of reading and writing data than files; you
can write code that doesn’t care whether the stream uses a file, memory, or
even sockets (see Chapter 18,“Programming with wxSocket,” for an example of
using  sockets  with  streams). Some  wxWidgets  classes  that  support  file
input/output also support stream input/output, such as 
wxImage
.
wxStreamBase
is the base class for streams, declaring functions such as
OnSysRead
and 
OnSysWrite
to be implemented by derived classes. The derived
classes 
wxInputStream
and 
wxOutputStream
provide the foundation for further
classes for reading and writing, respectively, such as 
wxFileInputStream
and
wxFileOutputStream
.Let’s look at the stream classes provided by wxWidgets.
File Streams
wxFileInputStream
and 
wxFileOutputStream
are based on the 
wxFile
class and
can be initialized from a file name, a 
wxFile
object,or an integer file descriptor.
Here’s an example of using 
wxFileInputStream
to read in some data, seek to the
beginning of the stream, and retrieve the current position.
#include “wx/wfstream.h”
// The constructor initializes the stream buffer and opens the
// file descriptor associated with the name of the file.
// wxFileInputStream will close the file descriptor on destruction.
Stream Classes
403
404
Files and Streams Chapter 14
wxFileInputStream inStream(filename);
// Read some bytes
int byteCount = 100;
char data[100];
if (inStream.Read((void*) data, byteCount).
LastError() != wxSTREAM_NOERROR)
{
// Something bad happened.
// For a complete list, see the wxStreamBase documentation.
}
// You can also get the last number of bytes really read.
size_t reallyRead = inStream.LastRead();
// Moves to the beginning of the stream. SeekI returns the last position 
// in the stream counted from the beginning.
off_t oldPosition = inStream.SeekI(0, wxFromBeginning);
// What is my current position?
off_t position = inStream.TellI();
Using 
wxFileOutputStream
is  similarly  straightforward. The  following  code
uses a 
wxFileInputStream
and 
wxFileOutputStream
to  make  a copy of a file,
writing in 1024-byte chunks for efficiency. Error checking has been omitted
for the sake of brevity.
// Copy a fixed size of data from an input stream to an
// output stream, using a buffer to speed it up.
void BufferedCopy(wxInputStream& inStream, wxOutputStream& outStream,
size_t size)
{
static unsigned char buf[1024];
size_t bytesLeft = size;
while (bytesLeft > 0)
{
size_t bytesToRead = wxMin((size_t) sizeof(buf), bytesLeft);
inStream.Read((void*) buf, bytesToRead);
outStream.Write((void*) buf, bytesToRead);
bytesLeft -= bytesToRead;
}
}
void CopyFile(const wxString& from, const wxString& to)
{
wxFileInputStream inStream(from);
wxFileOutputStream outStream(to);
BufferedCopy(inStream, outStream, inStream.GetSize());
}
Documents you may be interested
Documents you may be interested