c# convert pdf to image itextsharp : Best program to create pdf forms application SDK tool html wpf windows online 05-welling-php-mysql-web86-part138

827
Solution Components
Before you can download it, you need to agree to the license agreement.This is
worth reading because it is not the usual yada-yada software license.Some of the license
conditions that are important during implementation are the following:
n
You must not make more than one request per second.
n
You must cache data coming from Amazon.
n
You may cache most data for 24 hours and some stable attributes for up to three
months.
n
If you cache prices and availability for more than an hour, you must display a dis-
claimer.
n
You must link back to a page on Amazon.com and must not link text or graphics
downloaded from Amazon to another commercial website.
With a hard-to-spell domain name,no promotion, and no obvious reason to use
Tahuayo.com instead of going straight to Amazon.com, you do not need to take any fur-
ther steps to keep requests below one per second.
In this project,you implement caching to meet the conditions at points 2 to 4.The
application caches images for 24 hours and product data (which contains prices and
availability) for 1 hour.
Your application also follows the fifth point.You want items on the main page to link
to detailed pages on your site,but you link to Amazon when an order is complete.
Parsing XML
The first interface Amazon offers to its Web Services is via REST.This interface accepts
a normal HTTP request and returns an XML document.To use this interface, you need
to be able to parse the XML response Amazon sends back to you.You can do this by
using PHP’s SimpleXML library.This library requires at least PHP version 5.0.0 but is
enabled by default.
Using SOAP with PHP
The other interface offering the same Web Services is SOAP.To access these services
using SOAP,you need to use one of the various PHP SOAP libraries.There is a built-in
SOAP library, but because it will not always be available,you can use the NuSOAP
library. Because NuSOAP is written in PHP,it does not need compiling.It is just a 
single file to be called via 
require_once()
.
NuSOAP is available from http://dietrich.ganx4.com/nusoap/.NuSOAP is available
under the Lesser GPL; that is,you may use it in any application, including nonfree 
applications.
Best program to create pdf forms - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
allow users to save pdf form; convert word to editable pdf form
Best program to create pdf forms - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
add email button to pdf form; acrobat create pdf form
828
Chapter 33 Connecting to Web Services with XML and SOAP
Caching
As we mentioned previously,one of the terms and conditions imposed upon developers
by Amazon is that data downloaded from Amazon via Web Services must be cached. In
this solution,you will need to find a way to store and reuse the data that you download
until it has passed its use-by date.
Solution Overview
This project again uses an event-driven approach to run the code,as in Chapters 29,
“Building a Web-Based Email Service,”and 30,“Building a Mailing List Manager.”We
did not draw a system flow diagram for you in this example because there are only a few
screens in the system,and the links between them are simple.
Users will begin at the main Tahuayo screen,shown in Figure 33.1.
Figure 33.1 The first screen for Tahuayo shows all the main features of the
site: category navigation, searching,and the shopping cart.
As you can see, the main features of the site are the Selected Categories display and the
items in those categories.By default, you display the current best-sellers in the nonfic-
tion category on the front page.If a user clicks on another category,she will see a similar
display for that category.
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Best PDF converter SDK for Visual Studio .NET for converting Converter control easy to create thumbnails from PDF pages. An attempt to load a program with an
add forms to pdf; best program to create pdf forms
VB.NET Create PDF from images Library to convert Jpeg, png images
Best and professional image to PDF converter SDK for Support create PDF from multiple image formats in VB.NET images.Add(New REImage(Program.RootPath + "\\" 1
adding signature to pdf form; chrome pdf save form data
829
Solution Overview
A brief piece of terminology before we go further:Amazon refers to categories as
browse nodes.You will see this expression used throughout our code and the official docu-
mentation.
The documentation provides a partial list of popular browse nodes.In addition,if you
want a particular one, you can browse the normal Amazon.com site and read it from the
URL,but there is no way to get a complete list.Frustratingly,some important cate-
gories,such as best-selling books,cannot be accessed as browse nodes.
More books and links to additional pages are available at the bottom of this page,but
you can’t see them in the screenshot.You will display 10 books on each page,along with
links to up to 30 other pages.This 10-per page value is set by Amazon.The 30-page
limit was our own arbitrary choice.
From here, users can click through to detailed information on individual books. This
screen is shown in Figure 33.2.
Figure 33.2 The details page shows more information about a particular
book, including similar products and reviews.
Although it does not all fit in a screenshot, the script shows most,but not all,of the
information that Amazon sends with a heavy request on this page.We chose to ignore
parts aimed at products other than books and the list of categories the book fits in.
C# Create PDF Library SDK to convert PDF from other file formats
Best C#.NET component to create searchable PDF document from Microsoft String outputFile = Program.RootPath + "\\" output.pdf"; // Create a new PDF
change font pdf form; allow saving of pdf form
C# Create PDF from images Library to convert Jpeg, png images to
Best and professional C# image to PDF converter SDK for Create PDF from images in both .NET WinForms and ASP for Conversion from Images to PDF in C#.NET Program.
convert pdf to editable form; android edit pdf forms
830
Chapter 33 Connecting to Web Services with XML and SOAP
If users click through the cover image,they will be able to see a larger version of the
image.
You might have noticed the search box at the top of the screen in these figures.This
feature runs a keyword search through the site and searches Amazon’s catalog via its Web
Services interface.An example of the output of a search is shown in Figure 33.3.
Figure 33.3 This screen shows the results of searching for 
aardman
.
Although this project lists only a few categories, customers can get to any book by using
the search facility and navigating to particular books.
Each individual book has an Add to Cart link with it. Clicking on this or the Details
link in the cart summary takes the customer to a display of the cart contents.This page is
shown in Figure 33.4.
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Best C#.NET PDF SDK library for adobe PDF 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
pdf form creator; change font size in fillable pdf form
VB.NET PDF: VB Code to Create PDF Windows Viewer Using DocImage
code; Other RasterEdge .NET Imaging Viewing functions in VB program. to fit PDF page to the best width and detailed sample code on how to create and customize
adding image to pdf form; change font size pdf fillable form
831
Solution Overview
Figure 33.4 From the shopping cart page, the customer can delete items,
clear the cart, or check out.
Finally,when a customer checks out by clicking on one of the Checkout links,you send
the details of her shopping cart to Amazon and take her there.She will see a page similar
to the one in Figure 33.5.
You should now understand what we mean by building your own front end and
using Amazon as the back end.
Because this project also uses the event-driven approach,most of the core decision-
making logic of the application is in one file,
index.php
.A summary of the files in the
application is shown in Table 33.1.
VB.NET Create PDF Library SDK to convert PDF from other file
PDF in both .NET WinForms and ASP.NET program. Batch create adobe PDF document from multiple forms in VB Best VB.NET component to convert Microsoft Office Word
change font size in pdf form; pdf form creation
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Best and free adobe PDF to jpeg converter SDK for Load a PDF file. String inputFilePath = Program.RootPath + "\\" 1.pdf"; PDFDocument doc = new PDFDocument
add editable fields to pdf; add text field to pdf
832
Chapter 33 Connecting to Web Services with XML and SOAP
Figure 33.5 The items that were in the customer’s Tahuayo cart are now in
her Amazon cart.
Table 33.1 Files in the Tahuayo Application
Filename
Type
Description
index.php
Application
Contains the main application file
about.php
Application
Shows the About page
constants.php
Include file
Sets up some global constants and variables
topbar.php
Include file
Generates the info bar across  the top of each
page and the CSS
bottom.php
Include file
Generates the footer at the bottom of each
page
AmazonResultSet.php
Class file
Contains the PHP class that stores the result
of each Amazon query 
Product.php
Class file
Contains the PHP class that stores informa-
tion on one particular book
bookdisplayfunctions.p
Functions
Contains functions that help display a book
and lists of books
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
A best application for annotation PDF document in 2.pdf"; String outputFilePath = Program.RootPath + "\\" Annot_8 doc.GetPage(0); // create the annotation
can reader edit pdf forms; change tab order in pdf form
833
Solution Overview
cachefunctions.php
Functions
Contains functions to carry out the caching
required by Amazon
cartfunctions.php
Functions
Contains shopping cart–related functions
categoryfunctions.php
Functions
Contains functions that help retrieve and dis-
play a category
utilityfunctions.php
Functions
Contains a few utility functions used
throughout the application
You also need the 
nusoap.php
file we mentioned previously because it is required in
these files.NuSOAP is in the 
chapter33
directory on the CD-ROM at the back of the
book,but if the author keeps maintaining it,you might like to replace it with a newer
version from http://dietrich.ganx4.com/nusoap/index.php.
Let’s begin this project by looking at the core application file 
index.php
.
Core Application
The application file 
index.php
is shown in Listing 33.3.
Listing 33.3 index.php—The Core Application File
<?php
//we are only using one session variable ‘cart’ to store the cart contents
session_start();
require_once(‘constants.php’);
require_once(‘Product.php’);
require_once(‘AmazonResultSet.php’);
require_once(‘utilityfunctions.php’);
require_once(‘bookdisplayfunctions.php’);
require_once(‘cartfunctions.php’); 
require_once(‘categoryfunctions.php’);
// These are the variables we are expecting from outside.
// They will be validated and converted to globals
$external = array(‘action’, ‘ASIN’, ‘mode’, ‘browseNode’, ‘page’, ‘search’);
// the variables may come via Get or Post
// convert all our expected external variables to short global names
foreach ($external as $e)
{
if(@$_REQUEST[$e])
$$e = $_REQUEST[$e];
else
$$e = ‘’;
Table 33.1 Continued
Filename
Type
Description
834
Chapter 33 Connecting to Web Services with XML and SOAP
$$e = trim($$e);
}
// default values for global variables
if($mode==’’)
$mode = ‘books’; // No other modes have been tested
if($browseNode==’’)
$browseNode = 53; //53 is bestselling non-fiction books
if($page==’’)
$page = 1;  // First Page - there are 10 items per page
//validate/strip input
if(!eregi(‘^[A-Z0-9]+$’, $ASIN)) // ASINS must be alpha-numeric
$ASIN =’’;
if(!eregi(‘^[a-z]+$’, $mode)) // mode must be alphabetic
$mode = ‘books’;
$page=intval($page); // pages and browseNodes must be integers
$browseNode = intval($browseNode);
// it may cause some confusion, but we are stripping characters out from 
// $search it seems only fair to modify it now so it will be displayed 
// in the heading
$search = safeString($search);
if(!isset($_SESSION[‘cart’]))
{
session_register(‘cart’);
$_SESSION[‘cart’] = array();
}
// tasks that need to be done before the top bar is shown
if($action == ‘addtocart’)
addToCart($_SESSION[‘cart’], $ASIN, $mode) ;
if($action == ‘deletefromcart’)
deleteFromCart($_SESSION[‘cart’], $ASIN) ;
if($action == ‘emptycart’)
$_SESSION[‘cart’] = array();
// show top bar
require_once (‘topbar.php’);
// main event loop.  Reacts to user action on the calling page
switch ($action)
{
case ‘detail’ :
showCategories($mode);
showDetail($ASIN, $mode);
break;
Listing 33.3 Continued 
835
Solution Overview
case ‘addtocart’ :
case ‘deletefromcart’ :
case ‘emptycart’ :
case ‘showcart’ :
echo ‘<hr /><h1>Your Shopping Cart</h1>’;
showCart($_SESSION[‘cart’], $mode);
break;
case ‘image’ :
showCategories($mode);
echo ‘<h1>Large Product Image</h1>’;
showImage($ASIN, $mode);
break;
case ‘search’ :
showCategories($mode);
echo “<h1>Search Results For ‘$search’</h1>”;
showSearch($search, $page, $mode);  
break;
case ‘browsenode’:
default:
showCategories($mode);
$category = getCategoryName($browseNode);
if(!$category||$category==’Best Selling Books’)
{
echo ‘<h1>Current Best Sellers</h1>’;
}
else
{
echo “<h1>Current Best Sellers in $category</h1>”;
}
showBrowseNode($browseNode, $page, $mode) ;
break;
}
require (‘bottom.php’);
?>
Let’s work our way through this file.You begin by creating a session.You store the cus-
tomer’s shopping cart as a session variable as you have done before.
You then include several files.Most of them are functions that we discuss later,but we
need to address the first included file now.This file,
constants.php
,defines some
important constants and variables that will be used throughout the application.The con-
tents of 
constants.php
can be found in Listing 33.4.
Listing 33.3 Continued 
836
Chapter 33 Connecting to Web Services with XML and SOAP
Listing 33.4 constants.php—Declaring Key Global Constants and Variables
<?php
// this application can connect via REST (XML over HTTP) or SOAP
// define one version of METHOD to choose.
// define(‘METHOD’, ‘SOAP’);
define(‘METHOD’, ‘REST’);
// make sure to create a cache directory and make it writable
define(‘CACHE’, ‘cache’); // path to cached files
define(‘ASSOCIATEID’, ‘webservices-20’); //put your associate id here
define(‘DEVTAG’, ‘XXXXXXXXXXXXXX’); // put your developer tag here
//give an error if software is run with the dummy devtag
if(DEVTAG==’XXXXXXXXXXXXXX’)
{
die (‘You need to sign up for an Amazon.com developer tag at<a href =
“https://associates.amazon.com/exec/panama/associates/join/
➥developer/application.html/ref=sc_bb_l_0/002”>Amazon</a>
when you install this software.  You should probably sign up 
for an associate ID at the same time. Edit the file constants.php.’);
}
// (partial) list of Amazon browseNodes.
$categoryList = array(5=>’Computers & Internet’, 3510=>’Web Development’, 
295223=>’PHP’, 17=>’Literature and Fiction’, 
3=>’Business & Investing’, 53=>’Non Fiction’,
23=>’Romance’, 75=>’Science’, 21=>’Reference’,
6 =>’Food & Wine’, 27=>’Travel’, 
16272=>’Science Fiction’
);
?>
This application has been developed to use either REST or SOAP.You can set which
one it should use by changing the value of the 
METHOD
constant.
The 
CACHE
constant holds the path to the cache for the data you download from
Amazon. Change this to the path you would like used on your system.
The 
ASSOCIATEID
constant holds the value of your Associate ID. If you send this
value to Amazon with transactions,you get a commission.Be sure to change it to your
own Associate ID.
The 
DEVTAG
constant holds the value of the developer token Amazon gives you when
you sign up.You need to change this value to your own developer token;otherwise,the
application will not work.You can sign up for a tag at 
http://www.amazon.com/gp/aws/landing.html
Documents you may be interested
Documents you may be interested