mvc display pdf from byte array : How to extract images from pdf Library SDK component .net asp.net wpf mvc FBX_SDK_Programmers_Guide_2009_36-part1959

Tutorial 1: Importing,
Converting, Exporting a
File
The ImportExport tutorial program converts a file from one file format (FBX binary, FBX
ASCII, DAE, etc.) to another. Here is ImportExport’s user interface:
NOTEBuilds and runs on Windows only.
6
55
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 color image from pdf in c#; how to extract images from pdf
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
extract images from pdf files without using copy and paste; extract images pdf acrobat
Organization of the ImportExport project
The ImportExport project is located at 
\examples\UI Examples\importexport\
.
ImportExport has two source files:
Description
Source file
Platform-independent functions to convert
files from one FBX-supported file format
ImportExport.cpp
to another. The function with the main lo-
gic is ImportExport().
User interface to ImportExport(). The
user interface code depends on the plat-
UI.cpp
form for which you downloaded the FBX
SDK. We won’t look at this source file.
Building and running ImportExport
Visual Studio
To build and run ImportExport:
1 Start Visual Studio.
2 Click File > Open > Project/Solution.
3 Navigate to the folder that contains the version of ImportExport for your
version of Visual Studio, e.g.
C:\Program Files\Autodesk\FBX\FbxSdk\2009.3\
examples\UI Examples\ImportExport\
4 Open the project file for your version of Visual Studio. For Visual Studio
2005, the file is named 
ImportExport_net2005.vcproj
. Visual Studio will
create a new solution, and open the project inside that solution.
5 To build the file, click Build > Build Solution. Unless you modify the
project, Visual Studio builds a debug version of the application (named
ImportExport.exe
), stored in the 
ImportExport\Debug
directory.
56 | Chapter 6   Tutorial 1: Importing, Converting, Exporting a File
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 from pdf online; extract image from pdf c#
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.
some pdf image extract; extract photos from pdf
6 To execute ImportExport within Visual Studio, choose Start Debugging
from the Debug menu. The dialog box for ImportExport will open. You
can use it to select files for conversion to various file formats.
The main logic
ImportExport’s 
ImportExport()
method contains the main logic of the file
conversion program. 
ImportExport()
does the following:
Accepts the following parameters from the calling program (i.e., 
UI.cpp
):
The path and name of the file to be imported.
The name and path of the file to be exported
The file format for the file to be exported.
Creates an SDK manager object to manage the memory used by other FBX
objects.
Creates an scene object to hold the data from the import file.
Creates an importer object to load the file into the sceneLoads the data
from the import file into the scene.
Saves the data from the scene to the export file.
Destroys the SDK manager, which makes sure that all FBX objects are
destroyed, i.e., that all memory used by the SDK is released.
Returns control to the calling program.
The main logic | 57
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 image from pdf online; extract images from pdf c#
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.
pdf image text extractor; online pdf image extractor
Source code for ImportExport()
void ImportExport(
const char *ImportFileName,
const char* * ExportFileName,
int pWriteFileFormat
)
{
// Create the SdkManager
KFbxSdkManager* lSdkManager = KFbxSdkManager::CreateKFbxSdkMan
ager();
// Create the Scene
KFbxScene* lScene = KFbxScene::Create(lSdkManager,"");
// Initialize the KFbxSdkManager and d the KFbxScene
InitializeSdkObjects(lSdkManager, lScene);
UI_Printf("------- Import started ---------------------------");
// Load the e scene.
bool r r = LoadScene(lSdkManager, , lScene, ImportFileName);
if(r)
UI_Printf("------- Import succeeded -------------------------");
else
{
UI_Printf("------- Import failed ----------------------------");
DestroySdkObjects(lSdkManager);
return;
}
UI_Printf("\r\n"); // / add a blank line
UI_Printf("------- Export started ---------------------------");
// Save the e scene.
r = SaveScene(lSdkManager, , // Use this manager...
lScene, // to export this scene...
ExportFileName, // to o this path/filename...
pWriteFileFormat, // using g this file format.
false); // Don't t embed media files, if any.
if(r) UI_Printf("------- Export succeeded d ----------------------
---");
else UI_Printf("------- Export t failed --------------------------
--");
// Delete the FBX SDK K manager.
DestroySdkObjects(lSdkManager);
}
58 | Chapter 6   Tutorial 1: Importing, Converting, Exporting a File
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 from pdf; extract photos pdf
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 file; extract jpg from pdf
Managing memory with SDK Manager
ImportExport()
declares an SDK manager object and a scene object, and then
calls 
InitializeSDKObjects()
to instantiate and initialize them:
KFbxSdkManager* lSdkManager;
KFbxScene* lScene
// Initialize the KFbxSdkManager and d the KFbxScene
InitializeSdkObjects(lSdkManager, lScene);
Class KFbxSdkManage
r
is the SDK manager, whose main purpose is to manage
memory for FBX by keeping track of FBX objects that have been allocated and
destroyed.
An FBX application or plugin typically begins by creating an SDK manager
object. This is how ImportExport’s 
InitializeSdkObjects()
does it:
void InitializeSdkObjects(
KFbxSdkManager*& pSdkManager,
KFbxScene*& pScene
)
{
pSdkManager = KFbxSdkManager::CreateKFbxSdkManager();
if (!pSdkManager)
{
UI_Printf("Unable to create the e FBX SDK manager");
exit(0);
}
For almost all classes in the FBX SDK, you instantiate an object by calling the
class’s 
create()
method. You pass your SDK manager object as a parameter:
// Create the scene object. The e scene will hold the e data
// in the file to be imported.
pScene = KFbxScene::Create(pSdkManager,"");
}
The SDK manager allocates memory for the new object (in this case, a scene).
Later, when you no longer need the object, the SDK manager “destroys” it
(see Cleaning up and shutting down on page 64).
Managing memory with SDK Manager | 59
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.
extract jpg pdf; extract images 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.
extract jpeg from pdf; how to extract a picture from a pdf
Creating an empty scene
A scene is a container for 3D objects such as models (e.g., meshes), cameras,
lights, etc. One FBX file contains only one scene.
The 3D objects in a scene are stored as nodes in a scene graph. For FBX, the
scene graph is actually a tree (i.e., a node hierarchy). Each node has a node
attribute that determines whether the node contains a mesh, a camera, a light,
etc. For more detail on scenes, nodes, node attributes, etc., see Tutorial 2:
Traversing the scene graph on page 67.
Before you can import an FBX file, you must create a scene object to hold the
scene stored in the FBX file (or the DAE file, or the 3DS file, etc.):
// Create the scene object. The e scene will hold the e data
// in the file to be imported.
pScene = KFbxScene::Create(pSdkManager,"");
}
Creating a file importer
To import a file into a scene (i.e., to load a scene with the contents of a file),
you must first create an importer object. 
importexport()
calls 
LoadScene()
to
do all the steps in loading the scene:
bool r r = LoadScene(lSdkManager, , lScene, ImportFileName);
...
bool LoadScene(
KFbxSdkManager* pSdkManager, // / Use this memory manager...
KFbxScene* pScene, // / to import t into this scene
const char* * pFilename // the data from this file.
)
// Create an importer.
KFbxImporter* lImporter = KFbxImporter::Create(pSdkManager,"");
FBX can import many different kinds of files: FBX files in a binary (or native)
format, FBX files in an ASCII format, FBX files using earlier versions of the
FBX file format, and even some non-FBX file formats.
The importer needs to know the file format of file it will be importing. This
is because the same extension can be used for different file formats. For
example, .fbx extension can refer to a binary FBX file or an ASCII FBX file.
60 | Chapter 6   Tutorial 1: Importing, Converting, Exporting a File
// Detect the file format of the file to be imported
if (!KFbxIOPluginRegistryAccessor::Get()->DetectFileFormat(
pFilename,
lFileFormat
))
{ // ... Error handling code ... }
lImporter->SetFileFormat(lFileFormat);
The importer also needs to know the path and name of the file to be imported.
const bool lImportStatus = = lImporter->Initialize(pFilename);
For FBX files, ImportExport checks whether the version number of the file
format used by the FBX file is supported by the version number of the FBX
SDK library that it is linked to:
// Get t version number r of FBX SDK
KFbxIO::GetCurrentVersion(lSDKMajor, lSDKMinor, lSDKRevision);
...
// Get t the version number of the FBX X file format.
lImporter->GetFileVersion(lFileMajor, lFileMinor, , lFileRevision);
Here is an example of FBX error handling:
if( !lImportStatus ) // Problem m with the file to be e imported
{
UI_Printf("Call to KFbxImporter::Initialize() failed.");
UI_Printf("Error returned: %s", , lImporter->GetLastErrorString());
if (lImporter->GetLastErrorID() ) ==
KFbxIO::eFILE_VERSION_NOT_SUPPORTED_YET ||
lImporter->GetLastErrorID() ==
KFbxIO::eFILE_VERSION_NOT_SUPPORTED_ANYMORE)
{
UI_Printf("FBX version number for this FBX SDK K is %d.%d.%d",
lSDKMajor, lSDKMinor, , lSDKRevision);
UI_Printf("FBX version number for file %s s is %d.%d.%d",
pFilename, lFileMajor, lFileMinor, lFileRevision);
}
return false;
}
UI_Printf("FBX version number for this FBX SDK K is %d.%d.%d",
lSDKMajor, lSDKMinor, , lSDKRevision);
Now we’re ready to load the scene.
Creating a file importer | 61
Loading the import file into the scene
You can import all or part of the scene. For example, you can choose whether
or not to import the cameras, lights, animation, etc. These are called import
options, and we need to create an object to hold them:
KFbxStreamOptionsFbxReader* lImportOptions=
KFbxStreamOptionsFbxReader::Create(pSdkManager, "");
To keep ImportExport simple, we don’t let the user change the import options.
Instead, we simply set them to 
true
, which is in any case the default value:
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_MATERIAL, true);
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_TEXTURE, true);
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_LINK, true);
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_SHAPE, true);
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_GOBO, true);
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_ANIMATION, true);
lImportOptions->SetOption(KFBXSTREAMOPT_FBX_GLOBAL_SETTINGS,
true);
Finally we import the scene:
lStatus = lImporter->Import(*pScene, , lImportOptions);
The importer reads the import file, extracts the nodes and other scene data
(animation curves, textures, materials, etc.) from the file, and loads it into the
(previously empty) scene. If the import file is not an FBX file, the importer
does the necessary conversions to load it into an FBX scene.
In the ImportExport sample program, we load a scene from a file, but never
really look at the contents of the scene. For more detail on scenes, nodes, node
attributes, etc., see Tutorial 2: Traversing the scene graph on page 67, which
explains the SceneTreeView sample program.
Creating a file exporter
To export the scene, 
ImportExport()
calls 
SaveScene()
:
// Save the e scene.
r = SaveScene(lSdkManager, , // Use this manager...
lScene, // to export this scene...
ExportFileName, // to o this path/filename...
pWriteFileFormat, // using g this file format.
false); // Don't t embed media files, if any.
62 | Chapter 6   Tutorial 1: Importing, Converting, Exporting a File
SaveScene()
follows much the same pattern as 
LoadScene()
. It starts by using
the SDK Manager to instantiate an exporter object, then gives the exporter
the path and name of the file to be exported:
// Exports a a scene to a file
bool SaveScene(
KFbxSdkManager* pSdkManager,
KFbxScene* pScene,
const char* * pFilename,
int pFileFormat,
bool pEmbedMedia
)
...
KFbxExporter* lExporter = = KFbxExporter::Create(pSdkManager, "");
if(lExporter->Initialize(pFilename) == false)
{
UI_Printf("Call to KFbxExporter::Initialize() failed.");
UI_Printf("Error returned: %s", , lExporter->GetLastErrorString());
return false;
}
Specifying the file format
ImportExport is a file conversion program, so normally the file format of the
export file is going to be different from the import file.
The user interface for ImportExport doesn’t ask the user for the file format of
the import file: it just asks for the path and name of the file, and then lets
FBX determine the file format.
But for the export file, ImportExport’s user interface lets the user specify the
file format. The file format was passed to 
ImportExport()
as a parameter, and
ImportExport()
passed it on to 
SaveScene()
:
// Set t the file format
lExporter->SetFileFormat(pFileFormat);
Specifying whether media are embedded
SaveScene()
also has a boolean parameter, pEmbedMedia. This specifies how
FBX handles any media (textures, sound, movies, etc.) in the scene to be
exported. There are two choices:
If 
true
, the media are physically embedded in the export file. This is
possible only when exporting to FBX binary files.
Creating a file exporter | 63
When imported by any program that uses FBX SDK, embedded media files
are extracted into 
\
filename
.fbm
, a subdirectory of the directory where the
FBX file filename
.fbx
is stored. 
\
filename
.fbm
is created if it does not already
exist.
if 
false
, no media files are embedded. Instead, the FBX file contains relative
references to the media files.
Exporting the scene to the export file
FBX SDK provides various export options. 
SaveScene()
creates an export options
object:
KFbxStreamOptionsFbxWriter* lExportOptions =
KFbxStreamOptionsFbxWriter::Create(pSdkManager, "");
Export options are available only when exporting FBX files:
if (KFbxIOPluginRegistryAccessor::Get()->WriterIsFBX(pFileFormat))
{
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_MATERIAL, true);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_TEXTURE, true);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_EMBEDDED, pEmbedMe
dia);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_LINK, true);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_SHAPE, true);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_GOBO, true);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_ANIMATION, true);
lExportOptions->SetOption(KFBXSTREAMOPT_FBX_GLOBAL_SETTINGS,
true);
}
Now 
SaveScene()
exports the scene to the export file, using the specified
export options:
// Export the scene.
lStatus = lExporter->Export(*pScene, , lExportOptions);
Cleaning up and shutting down
To free up memory, you should destroy all FBX objects once you no longer
need them.
64 | Chapter 6   Tutorial 1: Importing, Converting, Exporting a File
Documents you may be interested
Documents you may be interested