pdfsharp asp.net mvc example : C# convert pdf to image control SDK system web page wpf asp.net console iPhoneInAction5-part1743

26
C
HAPTER
Web development or the SDK?
2.5.1
Mirrored development
It’s obviously easier to get users to try out a free but limited version of your software 
than it is to get them to purchase a more complete version. The business model of 
upgrading users from free to premium versions of software has been used extensively, 
with “freemium” being the latest buzzword. There are two ways you could create a 
freemium model for your software.
First, you could do what a lot of developers are already doing and offer a free trial 
version of your software on the iPhone App Store. This has the advantage of putting 
the software in the place that people are looking for software, but has the disadvan-
tage that your application could get lost amid the hurly-burly of the store.
Second, you could create a version of your software for the web, using web app 
technologies. We think this model is particularly useful for those of you who have 
existing web pages that might already be drawing users to them in more highly tar-
geted ways than the iPhone App Store could. Then, after releasing a limited version of 
your application over the web using techniques like the WebKit, i
UI
, and Canvas, you 
also release a feature-complete version of your application through the App Store 
using the 
SDK
.
Although we’ve highlighted the economic reasons for this sort of mirrored devel-
opment, it’s possible that web sites might decide to extend existing web apps 
to include features not available in their web-based application. If so, then you’ll have 
a clear delineation between what the programs include: the 
SDK
will uniquely in-
clude those features that weren’t available through the web, like location-aware and 
orientation-aware data.
2.5.2
Mixed development
In a mixed development environment, instead of making the web a subset of your 
SDK
work, you’re looking at an overall project and deciding to program some of it using 
the web and some of it using the 
SDK
. This can be a chaotic methodology if not man-
aged carefully, but it gives you the best opportunity to use the strengths of each sort of 
development. We find it most likely to work when you have two classes of users or two 
classes of programmers.
On the user side, a good example might be a situation where you have administra-
tive users and end users. Assume you’re managing some data project. The data input 
methods used by your administrators don’t necessarily have to look great. You can 
develop them quickly using the web and then your administrators can choose whether 
to input data from their iPhones or from their desktops. Conversely, you want to pro-
vide a great user experience for your end users, so you take advantage of the iPhone’s 
native graphical and animation features to output your data in interesting ways.
On the programmer side, you might simply have developers who are more com-
fortable in either the web or Objective-C arena. A mixed development project allows 
you to use not only the strengths of the individual programming methods but the 
strengths of your individual programmers as well.
Licensed to Nick Wood <nwood888@yahoo.com>
Pdf to jpeg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf into jpg format; convert pdf document to jpg
Pdf to jpeg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
convert pdf photo to jpg; change pdf to jpg
27
Summary
The exact way in which you do mixed development will depend on the specifics of 
your project, but there should be real opportunities to take advantage of each pro-
gramming style’s strengths without much redundancy.
2.5.3
Client-server development
The final type of integrated iPhone development is the most powerful—and also 
one that’s already in use on your iPhone, whether or not you know it. Client-server 
development combines back-end web development and front-end 
SDK
development 
in a fairly typical client-server model. This is effectively what is done by existing 
iPhone programs such as Maps, Stocks, and YouTube, all of which pull data from the 
internet and display it in attractive ways while also taking advantage of the iPhone’s 
unique capabilities.
On the one hand, you don’t need a lot of the details of web development as pre-
sented in this book to create a data back end. Instead you can depend on your exist-
ing Perl, 
PHP
, or Ruby on Rails code and use it to kick out 
RSS
or some other data feed 
that your 
SDK
software can easily pick up. On the other hand, if you’re already doing 
that much development on the web side of things, creating a second web-based inter-
face for iPhone users should be trivial.
Thus, a client-server development environment can give you the excuse to use 
either of the other integrated development strategies that we suggested.
2.5.4
Last thoughts on integration
We know some of you will be gung-ho to create a program that integrates 
SDK
and web 
work all on your own, but we also recognize that in many larger companies it’s likely 
that different people will undertake different tasks, with some developers doing the 
web side of things and some instead doing 
SDK
programming.
If this is the case—and particularly if you’re creating a suite of programs that inte-
grate 
SDK
and web development alike—don’t be afraid to share the knowledge in this 
book as well as what you learn on your own. The iPhone is a new and innovative devel-
opment platform. Its unique features create lots of opportunities for interesting work 
and also some potential gotchas as well. Although we’re offering as many lessons as we 
can, we’re sure there’s a lot more you’ll learn while you’re out programming in the 
real world, and as with all knowledge, the best use is to share it.
2.6
Summary
The iPhone encourages two dramatically different methodologies for programming. 
You can either use traditional web programming techniques—with quite a few special 
features to account for the iPhone’s unique elements—or you can dive into the intri-
cacies of 
SDK
development.
We’ve divided this book in two: half on web development and half on 
SDK
develop-
ment. There are two main reasons for this.
First, we wanted it to be an introduction to the entire world of iPhone develop-
ment. No matter which path you want to take, this is the right book to get you started 
Licensed to Nick Wood <nwood888@yahoo.com>
Online Convert Jpeg to PDF file. Best free online export Jpg image
Online JPEG to PDF Converter. Download Free Trial. Convert a JPG to PDF. You can drag and drop your JPG file in the box, and then start
best program to convert pdf to jpg; change file from pdf to jpg on
Online Convert PDF to Jpeg images. Best free online PDF JPEG
Online PDF to JPEG Converter. Download Free Trial. Convert a PDF File to JPG. Drag and drop your PDF in the box above and we'll convert the files for you.
c# pdf to jpg; best convert pdf to jpg
28
C
HAPTER
Web development or the SDK?
and to bootstrap you up to the point where you can program on your own. If you’re a 
web developer without much C programming experience, you can even follow the 
entire path of the book, which will move you straight from the world of the web to the 
world of the 
SDK
.
Second, we believe that good reasons exist to program in both environments. It’s 
not merely a matter of expertise on the part of the programmer, but instead of capa-
bility on the part of the programming languages. There’s a lot of simple stuff that’s 
ten times easier to do in 
HTML
, but similarly some complex stuff that’s only possible to 
do using the 
SDK
.
With the understanding of this book’s bifurcation clearly in hand, we’re now ready 
to jump into the first compartment of our toolbox; web development, where we’ll 
start to explore what’s necessary to make web pages look great on the iPhone device.
Licensed to Nick Wood <nwood888@yahoo.com>
C# Create PDF from images Library to convert Jpeg, png images to
This example shows how to build a PDF document with three image files (BMP, JPEG and PNG). // Load 3 image files (BMP, JPEG and PNG).
convert pdf pages to jpg online; convert .pdf to .jpg online
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit Raster
from stream or byte array, print images to tiff or pdf, annotate images C#.NET RasterEdge HTML5 Viewer supports various images formats, including JPEG, GIF, BMP
change pdf into jpg; convert pdf into jpg format
Part 2 
Designing web 
pages for the iPhone
N
ow that you understand the basics of both the iPhone and the two ways to 
program for it, you’re ready to dive into actual development work. Part 2 of this 
book will cover the first major method of iPhone programming: web development.
You’ll start out with the basics in chapter 3, then over the course of the next 
three chapters you’ll learn about three great libraries for building top-quality 
iPhone web pages: WebKit (chapter 4), i
UI
(chapter 5), and Canvas (chapter 6). 
Finally, you’ll take a look at Apple’s web development environment, Dashcode 
(chapter 7), and learn how to debug your web pages (chapter 8).
A central concept of this book is the ability to move between web design and 
SDK
programming at will. Chapter 9 is a bridge chapter that highlights 
SDK
con-
cepts for the web developer. 
Licensed to Nick Wood <nwood888@yahoo.com>
C# PDF Convert: How to Convert Jpeg, Png, Bmp, & Gif Raster Images
Jpeg, Png, Bmp, Gif Image to PDF. Jpeg to PDF Conversion in C#. In the following C# programming demo, we will firstly take Jpeg to PDF conversion as an example.
convert pdf document to jpg; convert pdf file to jpg file
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Our XDoc.PDF allows C# developers to perform high performance conversions from PDF document to multiple image forms. Besides raster image Jpeg, images forms
convert pdf to jpg batch; convert pdf to jpg for
Licensed to Nick Wood <nwood888@yahoo.com>
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
Sometimes, to convert PDF document into BMP, GIF, JPEG and PNG raster images in Visual Basic .NET applications, you may need a third party tool and have some
best pdf to jpg converter online; convert pdf to jpg 100 dpi
VB.NET Create PDF from images Library to convert Jpeg, png images
This VB. NET example shows how to build a PDF document with three image files (BMP, JPEG and PNG). ' Load 3 image files (BMP, JPEG and PNG).
pdf to jpg; bulk pdf to jpg converter online
31
Redeveloping web 
pages for the iPhone
As you learned in chapter 2, iPhone-based web apps can give your users great 
opportunities to leverage the interconnectivity of the internet and to interact with 
other users. Throughout part 2 we introduce you to lots of tools that you can use to 
create web pages using web technologies that can be every bit as sophisticated as 
what you might write using the iPhone 
SDK
.
Before we get there, though, we first want to touch on the fundamentals—those 
tools that you might use to improve your existing web pages for iPhone users, even 
before you begin writing totally new iPhone web apps.
The lessons in this chapter should be considered entirely foundational, as 
they’ll be the basis for all the web chapters that follow. They also have wider scope, 
This chapter covers
Understanding the viewport
Making pages iPhone friendly
Making pages iPhone optimized
Moving toward web apps
Licensed to Nick Wood <nwood888@yahoo.com>
32
C
HAPTER
Redeveloping web pages for the iPhone
because you can apply them to web pages that might be viewed on other platforms, 
not just those for sole use by iPhone users.
Throughout part 2, we’ll depend on the three basic tools of web development: 
HTML
CSS
, and JavaScript. Each is crucial to the libraries and tools that we’ll be dis-
in them. We’re only going to touch on deeper programming languages a few times, 
and in those instances we’ll use PHP for our examples, but you should be able to 
adapt the techniques we describe to whatever language you use for more dynamic 
web programming.
Before we start redeveloping pages for the iPhone, we’ll also point you toward chap-
ter 8. There’s info there about setting up a local web server on a Mac and on using a 
variety of clients for debugging. You might find it useful for following the examples 
in any of these web development chapters.
3.1
The iPhone viewport
The most fundamental concept in any iPhone web work is the viewport. It should be a 
part of every web page you write for the iPhone, from the simplest web redevelopment 
to the most complex Canvas-based graphical web app.
We first mentioned the concept of the viewport back in chapter 1. As we explained, 
though the iPhone has a display resolution of 320x480 (or vice versa, depending on 
The Apple docs and web apps
Apple has a lot of comprehensive documentation at its website. These sources are 
generally more encyclopedic but less tutorial-oriented than what we’ve written in this 
book. Because of their more comprehensive nature, we’re frequently going to refer 
access either of these, you’ll need to sign up for Apple’s Apple Developer Connection 
interested).
Web docs. The web docs are located at http://developer.apple.com/webapps/. The 
most vital document is the “Safari Web Content Guide for iPhone,” which contains a 
also covered in this book. You’ll also find specifics on the WebKit, which is the topic 
of the next chapter, and Dashcode, the topic of chapter 7. 
SDK docs. The SDK docs are available at http://developer.apple.com/iphone/
We’ll talk about them in greater depth when we get to the SDK, in chapter 10.
tion—but that’s a bit beyond the scope of iPhone development.
Licensed to Nick Wood <nwood888@yahoo.com>
33
The iPhone viewport
orientation), it maps a much larger “virtual” window to that screen when you run 
Safari. The default virtual window (or viewport) is 980 pixels wide, which is then 
scaled down by a factor of approximately 3:1 or 2:1.
Figure 3.1 details what this viewport entails by showing the non-scaled content that 
can appear in the live area of each of the iPhone’s two orientations.
If you choose to stay with the default viewport size, figure 3.1 tells you a lot about 
how web pages will display to your viewers. In portrait mode, things will appear much 
as you’d expect, as the viewport will be approximately square; everything above 1090 
pixels will appear “above the fold.” In landscape mode viewers will see a much abbrevi-
ated page, with only the first 425 pixels appearing above the fold.
Fortunately, you’re not stuck with the default viewport size. You have two ways to 
change it. First, any web page served on a .mobi domain and any web page containing 
mobile 
XHTML
markup automatically uses an alternative default viewport of 320 pix-
els. Second, you can purposefully change the viewport of any web page by introducing 
the new viewport metatag. You’ll probably do this through a default header that you 
load across your entire site:
<meta name = "viewport" content = "width = 500">
Defining a viewport width of 500 would make your web page look as if it appeared in 
a 500-pixel-wide window before it was scaled onto an iPhone display. It’s the simplest 
sort of viewport command, and probably what you’ll do most often.
The remaining question is: why? What’s the purpose of using a viewport?
Most of the time, you probably won’t have to use the viewport at all. If you call up 
your web pages on an iPhone, and nothing looks too small, then you’re fine. If you 
instead find out that things are small—due either to sitewide decisions or to the con-
tent of local pages—that’s when you have to add a viewport tag to your web pages. 
Likewise, if you discover that your page looks really bad in the landscape orienta-
tion—due to the small live area—that might be another reason for a new viewport.
Generally, you should look at the viewport as an opportunity. In the world of desk-
top browsers, you have no idea what size of browser window a user might open, but on 
the iPhone you can control that exactly.
Visible area:
320x356
Portrait Mode
980 pixels (scaled)
1090 pixels (scaled)
Visible area:
480x208
Landscape Mode
980 pixels (scaled)
425 pixels (scaled)
Figure 3.1 The 
iPhone’s viewport allows 
a much larger web page 
to be shown, scaled, in 
the iPhone’s display.
Licensed to Nick Wood <nwood888@yahoo.com>
34
C
HAPTER
Redeveloping web pages for the iPhone
Sitewide viewport changes and local viewport changes will each have slightly different 
causes, and will each require slightly different solutions as a result.
3.1.1
Making sitewide viewport changes
Two elements might cause you to make sitewide viewport changes in your global 
header file: graphics or fonts that are too small.
Graphics are the most common problem. If you use them for navigation or to 
depict any other critical information, you’ll probably have a problem because they’re 
unlikely to be very readable at a 3:1 scale. 
Font problems are usually due to absolute values used in the 
CSS
font-size
prop-
erty. Clearly a font set to a small point size is going to be even smaller on the iPhone 
screen. The better answer is to make changes to your 
CSS
files, which we’ll return to 
shortly. But if you can’t for some reason, this may be another reason to change your 
sitewide headers. 
Typically, deciding on a sitewide viewport size will take some fiddling. The exact 
size of graphics or fonts may force you to select a certain value. If you have a sitewide 
navigation bar, you’ll probably use its width as your viewport size. In the absence of 
any specific issues, a viewport size of 480 tends to work great. It’ll be readable in por-
trait mode (at a 3:2 scale) and very readable in landscape mode (at a 1:1 scale). You 
won’t want to go much lower than that, and you definitely shouldn’t go all the way 
down to a 320-wide viewport; a change that extreme will probably make your web page 
break in other ways, and also ignores the excellent clarity of the iPhone screen. 
The goal is to figure that things will be smaller on an iPhone than on a desktop 
browser and find a good compromise within that constraint.
3.1.2
Making local viewport changes
Adjusting your global viewport is the first step in making your web pages readable on 
an iPhone. However, you may also find individual pages that look bad. This situation is 
About the WebKit
The viewport command is part of the WebKit, an open source application browser en-
gine that offers extensions to the core web standards. WebKit is being used by a 
number of browser developers, including Apache and Google. More importantly (at 
least for the iPhone designer) it’s the basis of Apple’s Safari. This means that a num-
ber of WebKit’s extensions, not yet broadly available in browsers like Internet Explor-
er or Firefox, will work on the iPhone. iPhone web developers thus have access to lots 
of cool gestures and transformations that can give them considerable power using 
entirely web-based designs.
We’re going to cover most of the possibilities of the WebKit in the next chapter. We’ve 
opted to cover one WebKit element here—the viewport—because it’s crucial to any 
sort of iPhone-related web design, whether it be a page redevelopment or a full-
fledged web app.
Licensed to Nick Wood <nwood888@yahoo.com>
35
The iPhone viewport
most likely to occur on pages that display an individual graphic or applet. The Apple 
developer pages give an example of a Sudoku applet that appears much too small on 
an iPhone page because it was only designed to be a few hundred pixels wide. The 
authors ran into problems with pages that displayed book covers, which tended to 
max out at 450 pixels wide. In both cases when using a default viewport of 980 pixels, 
the individual elements appeared up in the top-left of the iPhone screen, much too 
small and left wasted white space on all sides.
One solution to this problem is to set an individual viewport on each relevant page 
with a width equal to the known (or calculated) width of the applet or graphic. The 
other is to use a special 
device-width
constant in the metatag, like this:
<meta name = "viewport" content = "width = device-width">
device-width
is one of several advanced elements that may be added to the viewport 
metatag by developers who have more complex sites.
3.1.3
Viewport properties and constants
The iPhone recognizes a total of six viewport properties, as shown in table 3.1. The 
width is the only viewport property that you will use on most web pages. 
We’ve already discussed how the 
height
and 
width
properties work: they assume a vir-
tual window of the indicated height or width and then scale appropriately for display 
on the iPhone. Note that the device-width constant (which we’ve already met) has a 
match in 
device-height
; you can decide whether you want your web page to fill the 
width of an iPhone display or its height.
The other four properties all control how zooming works. 
initial-scale
deter-
mines how much an iPhone zooms when you initially view a page. The default value 
of 1 fits a web page to the iPhone screen. You might set it to a value smaller than 1 to 
immediately zoom to a leftmost column to make things more readable to iPhone 
viewers. But be careful when you use this technique, since it may not be obvious to 
your users that they’re viewing only part of the page.
Table 3.1 The iPhone recognizes six properties that may be used as part of a viewport metatag to 
control exactly how an individual web page displays on an iPhone.
Property
Default
Minimum
Maximum
Constants
height
Calculated
223
10,000
device-height
device- width
width
980
200
10,000
device-height
device- width
initial-scale 1.0
minimum-scale
maximum-scale
minimum-scale .25
>0
10.0
maximum-scale 1.6
>0
10.0
user-scalable Yes
N/A
N/A
yesno
Licensed to Nick Wood <nwood888@yahoo.com>
Documents you may be interested
Documents you may be interested