asp.net pdf viewer control c# : View pdf thumbnails in application software tool html windows azure online sg24730114-part1647

Chapter 3. Application development with PHP 
125
make contact with a user-selected relationship. The user also is able to contact 
others directly via e-mail. The member’s contact information is displayed along 
with the profile. 
A summary of the files we use in the myContacts application is shown in 
Table 3-2.
Table 3-2   Files used in myContacts
Let us go ahead and look at the application.
Setting up the database
The database for the myContacts application is fairly simple, because users are 
able to add new members and relationships using the application itself. We need 
to store user names and passwords in a DB2 table DB2ADMIN.MEMBER. We also 
need to create a table required by XCS. You can set up the database for this 
application by running the SQL on the DB2 Command Line as shown in 
Example 3-23.
Example 3-23   Database setup script
create database contacts using codeset utf-8 territory us;
connect to contacts;
create table db2admin.member(xmlid BIGINT, email VARCHAR(50) NOT NULL 
PRIMARY KEY, passwd VARCHAR(10), fname VARCHAR(30), lname VARCHAR(30));
Name
Type
Description
index.php
bootstrap 
Any call to the main URL calls this bootstrap file
style1.css
CSS
Style sheet for HTML presentation
IndexController.php
Controller
Main controller
AddController.php
Controller
Contains add/delete/update actions
ViewController.php
Controller
Contains navigation/output functions
index.php
View
Initial view of the application
member.php
View
Displays member profile data
searchResult.php
View
Displays search result
view.php
View
Interface to get new user profile data
thanks.php
View
Acknowledgement of successful user action
error.php
View
Displays error messages
Database.php
Adapter
Contains database functions
View pdf thumbnails in - Draw thumbnail images for PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
create pdf thumbnails; create pdf thumbnail
View pdf thumbnails in - VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
pdf files thumbnail preview; how to make a thumbnail of a pdf
126
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
db2 create table db2admin.xmldata(
id BIGINT NOT NULL generated always as identity primary key,
data XML,
attachment BLOB(100m),
about XML);
The XML data type is available on any UTF-8 database in the DB2 9 release. 
With the creation of these database objects, DB2 is now ready for use as an XML 
Content Store. There are no other DB2 administrative tasks necessary. 
However, to improve performance when searching, we suggest that you create 
indexes for the XML data as shown in Example 3-24.
Example 3-24   Creating index script
create index datatext on xmldata(data) generate key using xmlpattern 
'//*' as sql varchar(800)
create index dataattr on xmldata(data) generate key using xmlpattern 
'//@*' as sql varchar(800)
create index abouttext on xmldata(about) generate key using xmlpattern 
'//*' as sql varchar(800)
create index aboutattr on xmldata(about) generate key using xmlpattern 
'//@*' as sql varchar(800) 
These are very general indexes on all text nodes and attributes on both DATA 
and ABOUT. The developer might decide to create indexes on elements or 
attributes for application-specific data, such as a product ID or a last name 
element where searches might occur often. 
Remember that you can run these commands individually or run the script 
setupdb.sql:
db2 -tvf setupdb.sql
This script is also part of the zip file for the entire application which is 
downloadable at the redbook Web site. 
Tip: The XCS table creation is optional. The XCS is capable of creating the 
table and indexes on first use.
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Ability to show PDF page thumbnails for quick navigation. Easy to search PDF text in whole PDF document. C# HTML5 PDF Viewer: View PDF Online.
enable thumbnail preview for pdf files; generate pdf thumbnail c#
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Ability to show PDF page thumbnails for quick navigation. Easy to search PDF text in whole PDF document. VB.NET HTML5 PDF Viewer: View PDF Online.
pdf thumbnail; no pdf thumbnails in
Chapter 3. Application development with PHP 
127
Getting Started
When a user loads the URL http://localhost/, the user sees the page shown 
in Figure 3-5.
Figure 3-5   MyContacts.com Index page
Controllers
MyContacts.com has the following controllers:
 IndexController
Our IndexController is as clean as it should be. It has a indexAction() method 
to serve the main Web page (Home page) and a noRouteAction() method to 
reroute users to the home page in case users become creative and modify 
the links. Example 3-25 shows the IndexController.php.
Example 3-25   MyContacts.com: IndexController.php
<?php
class IndexController extends Zend_Controller_Action 
{
public function indexAction()
{
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Easy to search PDF text in whole PDF document in VB.NET WPF program. PDF thumbnails for navigation in .NET project. VB.NET WPF PDF Viewer: View PDF Document.
disable pdf thumbnails; pdf first page thumbnail
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Users can view any page by using view page button. Easy to search PDF text in whole PDF document. PDF thumbnails for navigation in .NET WPF Console application.
pdf files thumbnails; thumbnail view in for pdf files
128
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
/* show the login page. */
$db = Zend::registry('db');
$view = Zend::registry('view');
$view → title = 'Welcome to myContacts.com';
echo $view → render('index.php');
}
public function noRouteAction()
{
$this → _redirect('/');
echo 'norouteaction';
}
}
When a user tries to log in, a database query is issued and the member’s 
profile displays. If the member ID is found and the password is validated, the 
session variable is updated with the user’s ID. The view/member action is 
invoked and the output looks like Figure 3-6.
Figure 3-6   My Profile page showing logged-in user and his contacts
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Support of converting from any single one PDF page and multiple pages. Thumbnails can be created from PDF pages. Support for customizing image size.
program to create thumbnail from pdf; create pdf thumbnail image
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Reduce image resources: Since images are usually or large size, images size reducing can help to reduce PDF file size effectively. Embedded page thumbnails.
show pdf thumbnail in html; pdf thumbnails
Chapter 3. Application development with PHP 
129
 AddController
Our AddController contains the following action methods (we discuss these 
action methods later to explain important concepts):
– indexAction() to reroute users to the home page
– memberAction() to add new member data
– contactAction() to add a relationship between members
– __call() to handle the calls not defined by any action methods
 viewController
Our viewController contains the following action methods:
– indexAction() to reroute users to the home page
– searchAction() to implement existing member searches
– displayAction() to present the detailed member profile
– __call() to handle the calls not defined by any action methods such as 
other database action controls
Views
The application has the following major views:
 index.php
This template presents the home page with two interfaces. The search allows 
users to find members already in the database. The login window is also 
provided on this page.
 member.php
This template presents the logged in member’s profile data and also a 
searched member’s profile data. This also presents the relationship 
information under the member’s contacts or my contacts.
 searchResult.php
This template displays the search result for a member. The return search 
result is clickable to get the detailed profile, if the user is logged in. 
 view.php
This template provides the interface to the user to create a new profile. 
The other views, such as thanks.php and error.php, assist users with useful 
information. There might also exist some views to display the user 
agreement, privacy policy, customer support information, and other relevant 
information as shown by the link in the footer.
Note: These might not be necessarily implemented in the code either 
because they are not important conceptually or beyond the scope of this 
chapter. 
C# PDF File Compress Library: Compress reduce PDF size in C#.net
by large enterprises and organizations to distribute and view documents. size, images size reducing can help to reduce PDF file size Embedded page thumbnails.
print pdf thumbnails; create thumbnail jpeg from pdf
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Converter control easy to create thumbnails from PDF pages. Selection for compressing to multiple image formats. Cut and paste any areas in PDF pages to images.
view pdf thumbnails in; print pdf thumbnails
130
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
Database class
We created a database class, Database.php, where we implemented the 
following functions:
 __construct()
This is the database class constructor function to initialize both the dbAdapter 
connection object and the XMLContentStore connection object. 
Example 3-26 shows __construct().
Example 3-26   Database class: constructor method
private $_db;
private $_db1;
public function __construct($conn)
{
$this → _db = $conn; // for dbAdapter
// for XML Content store 
$this → _db1 = new Zend_Db_Xml_XmlContentStore_Db2($conn);
}
 login()
This method provides the SQL query to go against the member database to 
check if the user profile exists. Also, it returns a member’s ID so that the 
member’s detailed profile can be fetched from XCS. Example 3-27 shows the 
login() method.
Example 3-27   Database class: login method
public function login($email, $passwd)
{
$sql = "SELECT xmlid, fname, lname from member where email= 
   and passwd= ?";
$param = array(); // an array is created for parameters
$param[]= $email;
$param[]= $passwd;    
if ($result = $this → _db → fetchAssoc($sql, $param)) { 
return $result;
}
return FALSE;
}
Note: $conn is the connection object of the DB2 database we created in 
our bootstrap file www/index.php. 
Chapter 3. Application development with PHP 
131
 getMember()
This method implements a database convenience method to retrieve member 
information from the member table when given the member ID. It uses the 
simple dbAdapter function to fetch data in a similar way to the login function.
 search()
This method provides some validation and posts an SQL/XML query to get a 
member’s profile. It provides fuzzy search capability on first and last names. 
As you can see, we needed to join on the MEMBER table and XMLDATA and use 
SQL/XML function to get the search result we want. Example 3-28 shows an 
example of the flexibility of the XCS. If the existing API methods are not 
sufficient for your needs, you can take control of the database by writing your 
own SQL queries, SQL/XML queries, or XQueries directly.
Example 3-28   Database class: search method
public function search($fname, $lname)
{
$sql = "SELECT m.xmlid, m.fname, m.lname, m.email,";
$sql .= "xmlserialize(xmlquery('\$data/member/org/text()' ";
$sql .= "passing x.data as \"data\") as varchar(120)) as 
company,";
$sql .= "xmlserialize(xmlquery('\$data/member/title/text()' ";
$sql .= "passing x.data as \"data\") as varchar(120)) as title "; 
$sql .= "from db2admin.member m, db2admin.xmldata x where ";
if ($fname && $lname) {
$param = array();
$sql .= "(upper(m.fname) like ? or upper(m.lname) like ?) 
AND ";
$param[]= strtoupper("%$fname%");
$param[]= strtoupper("%$lname%");
} else if ($fname && !$lname) {
$param = array();
$sql .= "(upper(m.fname) like ?) AND ";
$param[]= strtoupper("%$fname%");
} else if (!$fname && $lname) {
$param = array();
$sql .= "(upper(m.lname) like ?) AND ";
$param[]= strtoupper("%$lname%");
}
$sql .= "m.xmlid = x.id";
if ($param && $result = $this → _db → fetchAssoc($sql, 
$param)) {      
return $result;
}
132
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
return false;
}
This application allows users to create and save their profiles. A user 
interface is provided as shown in Figure 3-7. Once a user fills in the required 
text and clicks Join Now, a new member profile is added into the DOC 
column of the XCS database. This profile is saved as XML. An empty contact 
data of XML type is also constructed for this profile. When this user updates 
the user’s contacts, this XML document is updated. With the new profile 
created, the authentication table is also updated.
Figure 3-7   Create a new member profile
 addMember()
This method adds member data into the relational table when a new member 
profile is created. The member ID is auto-generated for XML detailed profile 
data, which is, in turn, used for inserting into the member table. Example 3-29 
on page 133 shows the addMember() function.
Chapter 3. Application development with PHP 
133
Example 3-29   Database class: addMember method
public function addMember($xmlid, $email, $passwd, $fname, $lname)
{
$row = array ( 
'xmlid'=> $xmlid,  
'email'     => $email,    
'passwd' => $passwd,
'fname'=> $fname,
'lname'=> $lname
);
$table = 'member';
// insert the row and get the row ID
$rows_affected = $this → _db → insert($table, $row);
}
 saveNew()
This method inserts a new XML record into XMLDATA, using XCS’s 
convenience method insert(). Example 3-30 shows the saveNew() function. 
Example 3-30   Database class: Insert profile
public function saveNew($entry)
{
return $this → _db1 → insert($entry);
}
 getProfile()
This method uses XCS’s convenience method findById() that takes docid as 
input and returns the XML record as an array. Example 3-31 shows the 
getProfile() function.
Example 3-31   Database class: Retrieve profile
public function getProfile($xmlid)
{
$result = $this → _db1 → findById($xmlid);
if(!is_null($result)) {
return $result;
}
return false;
}
The Add Contact/relationship feature allows a member to make contacts with 
other members and create the chain of professional relationships. The user 
134
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
must log in to view a member’s detailed profile and make the member a 
contact. The user can select a relationship name from the drop-down box. 
When the user clicks Make Contact, a XCS update is issued to update XML 
data in the about column which holds the member contact data. If a duplicate 
relationship with the same person is found in the database, the application 
ignores the request and does not make the update. If a user tries to add the 
user as a contact, an error message is thrown and database update does not 
occur. Finally, if there is no error, database update succeeds and the user is 
taken to that user’s own profile page which reflects the currently added 
contacts. Alternatively, a logged-in user can at any time, click the My Profile 
menu bar to view that user’s own profile and contact information. 
Figure 3-8 shows the Web page where a user can define a relationship and 
make contacts as we discussed.
Figure 3-8   Define relationship and make contact
 addContact()
This implements a method to add a contact/relationship with an existing 
myContacts member. From the application point of view, a logged-in member 
can search for other members by first name and/or last name and then view 
Documents you may be interested
Documents you may be interested