c# .net pdf viewer : Add and delete pages from pdf SDK application API .net html winforms sharepoint Pro_Silverlight_5_in_CSharp_4th_edition64-part131

CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
637 
• Width and Height: The initial size of the window for the out-of-browser 
application. The user can resize the window after the application launches. If you 
don’t supply width and height values, Silverlight creates a window that’s 800 pixels 
wide and 600 pixels tall. 
• Set window location manually: If checked, allows you to fill in the coordinates (in 
pixels) for the top-left corner of the window. Usually, you’ll leave this unset and let 
Silverlight place the window in the center of the screen. 
• Shortcut name: Name used in the installation window and in any shortcuts that 
are created. 
• Application description: Descriptive text that describes the application. It appears 
in a tooltip when you hover over the application shortcut. 
• Icon settings: Allow you to customize the images used for the installation window 
and the shortcuts, as described a bit later in the “Customizing Icons” section. 
• Enable GPU Acceleration: Determines whether the out-of-browser will support the 
video-card caching that boosts performance in some scenarios. Selecting this 
check box simply gives you the option to use hardware acceleration—it’s still up to 
your elements to opt in when appropriate, as described in Chapter 10. 
• Show install menu: If checked, shows an option for installing your application 
when the user right-clicks the Silverlight content region. If you don’t use this 
option, it’s up to you to start the installation process programmatically. Both 
approaches are described in the next section. 
• Require elevated trust when running outside the browser: This configures your 
application to be an elevated-trust application, which grants it additional 
privileges (but requires that the user accept a security warning when first 
installing the application). For more information, see the “Elevated Trust” section 
later in this chapter. 
The values you enter are placed in a file named OutOfBrowserSettings.xml and saved with your 
project. 
Once you’ve performed these steps, your application gains the ability to be installed locally and 
then launched outside of the browser. However, it doesn’t need to be installed—the user can continue 
running it as a standard Silverlight application in the browser. 
TESTING AN OUT-OF-BROWSER APPLICATION 
There are two ways to test an out-of-browser application: 
• Skip the install: If you don’t want to try the installation process, you can create an 
ordinary, stand-alone Silverlight project. As long as you’ve switched on the 
“Enable running application out of the browser” setting, Visual Studio will always 
run your application in a separate window. You’ll bypass the test page altogether. 
• Do the install: If you want to get exactly the same experience as your users, create 
a Visual Studio solution that includes both a Silverlight project and an ASP.NET 
www.it-ebooks.info
Add and delete pages from pdf - insert pages into PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide C# Users to Insert (Empty) PDF Page or Pages from a Supported File Format
add page numbers to pdf; add page to existing pdf file
Add and delete pages from pdf - VB.NET PDF Page Insert Library: insert pages into PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document
add page to pdf online; add page break to pdf
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
638 
website that hosts it. Then, when you run your application, Visual Studio will start 
the integrated web server, launch your browser, and request the test page. You’ll 
see your Silverlight application running in the browser, as usual. To install it, right-
click anywhere in the Silverlight content region, and choose Install. The next 
section has the full walk-through. 
Installing an Out-of-Browser Application 
There are two ways to install an application that has out-of-browser capability. The first option is for the 
user to perform this step explicitly. To do so, the user must request the web page for the application, 
right-click the Silverlight content region, and choose “Install [ApplicationShortName] on this computer,” 
as shown in Figure 18-3. 
Figure 18-3. Explicitly installing an out-of-browser application 
The other option is to start the installation process programmatically by calling the 
Application.Install() method. You must call this method in an event handler that responds to a user-
initiated action (like clicking a button). The Install() method returns true if the user accepts the install 
prompt and continues or false if the user declines to install the application. 
The Install() method has one potential problem: it throws an exception if the application is already 
installed on the local computer, even if the user is currently running the application in the browser. To 
avoid this error, you should check the Application.InstallState value before calling Install(). Here’s the 
complete process, launched in response to a button click: 
private void cmdInstall_Click(object sender, RoutedEventArgs e) 
www.it-ebooks.info
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
In order to run the sample code, the following steps would be necessary. Add necessary references: How to VB.NET: Delete Consecutive Pages from PDF.
adding a page to a pdf in preview; add a page to a pdf in reader
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
XDoc.PDF enables you to delete PDF page(s) with customized options, including a single page, a series of pages, and random pages to be Add necessary references
adding page numbers to pdf documents; adding page numbers to pdf files
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
639 
// Make sure that the application is not already installed. 
if (Application.Current.InstallState != InstallState.Installed) 
// Attempt to install it. 
bool installAccepted = Application.Current.Install(); 
if (!installAccepted) 
lblMessage.Text = 
"You declined the install. Click Install to try again."
else 
cmdInstall.IsEnabled = false
lblMessage.Text = "The application is installing... "
 Tip  Optionally, you can remove the install option from the Silverlight menu and force a user to install an 
application through your code.  
Settings window. The only reason that you would take this approach is if you need to perform some other tasks 
before your installation, such as collecting user information or calling a web service. 
When an application is installed, either through the user’s choice or the Install() method, several 
things happen. First, an installation window appears (see Figure 18-4) that asks the user for 
confirmation. 
Figure 18-4. Installing the EightBall application 
The installation window performs several services: 
www.it-ebooks.info
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image
add page number to pdf online; add pages to pdf
C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
add page pdf reader; add page number to pdf hyperlink
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
640 
• It provides the name of the application and indicates the domain where it’s hosted 
(or shows file:// for an application that’s executed locally, without an ASP.NET test 
website).  
• It provides a More Information link, which, if clicked, launches another browser 
window and navigates to a page on the Silverlight website that describes the out-
of-browser feature.  
• It allows the user to choose whether the installation should create a Start menu 
shortcut (which is checked by default) and a desktop shortcut (which isn’t). If the 
user clears both check boxes, the OK button becomes disabled, and the install 
can’t continue. It’s also worth noting that the Start menu shortcut appears in the 
first level of the Start menu (not in a subgroup). 
 Note  The install window looks slightly different on a Mac, to follow the conventions of that platform. For 
example, it doesn’t include check boxes for creating shortcuts. Instead, Mac users are expected to drag the 
installed application bundle into the location of their choice after the install completes, much as they would do 
when installing any other application. 
The most important feature of the installation window is that it explains what’s about to happen in 
clear, nonthreatening terms. It doesn’t require an administrator account or privilege escalation, and it 
isn’t followed or preceded by any additional security warnings. Compare this to the prompts you get 
when installing a standard .NET application through ClickOnce, and you’ll see that the experience is 
much friendlier with a Silverlight out-of-browser application. As a result, the user is much more likely to 
go through with the operation and install the application, rather than be scared off by obscurely worded 
warnings. 
The installation process places the application in a randomly generated folder in the current user’s 
profile. When the installation process finishes, it launches the newly installed application in a stand-
alone window. But the existing browser window remains open, which means there are now two 
instances of the application running. You can deal with this situation by handling the 
InstallStateChanged event, as described in the “Tracking Application State” section. 
 Note  Out-of-browser applications are installed for the current account only. Much as one user’s web 
bookmarks aren’t available to others, one user’s locally installed Silverlight applications (and the related desktop or 
Start menu shortcuts) aren’t shown to other users of the same computer. 
Customizing Icons 
The default image in the installation window is far better than an intimidating picture like a warning 
icon. But you can get an even better result by substituting a custom picture in its place. Silverlight lets 
you supply small image files to customize several details: 
www.it-ebooks.info
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAssemble = True ' Add password to PDF file. These two demos will help you to delete password for an encrypted PDF file.
add page to pdf; add document to pdf pages
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
add page pdf; adding pages to a pdf document in preview
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
641 
• Use a 16x16 image for the application icon in the title bar and in the Start menu. 
• Use a 32x32 image for the application icon on the desktop (and in other large icon 
views). 
• Use a 48x48 image for the application icon in tile mode. 
• Use a 128x128 image for the installation window. 
To customize these details, begin by adding the images to your project. Each image file must be a 
PNG file with the correct dimensions. For better organization, put the images in a project subfolder, like 
AppIcons. Then, select each one in the Solution Explorer, and set Build Action to Content (not Resource) 
so the images are packaged in the XAP as separate files. Finally, return to the Out-of-Browser Settings 
window shown in Figure 18-2 to identify the icons you want to use. 
Figure 18-5 shows the installation window with a customized image. 
Figure 18-5. Customizing the EightBall installation 
 Note  The image is the only detail you can change in the installation window. You can’t alter the options it 
provides or the descriptive text it uses. 
Tracking Application State 
As you’ve seen, out-of-browser applications are ordinary Silverlight applications that have a bit of 
additional information in the application manifest. This gives users the option of installing them locally, 
but it doesn’t prevent them from running in the browser. This flexibility can be helpful, but it many 
situations you’ll want to pay attention to the application’s execution state—in other words, whether it’s 
running in the browser or in a stand-alone window. You may want to provide less functionality in the 
browser or even prevent the user from running the application. 
The tool that allows you to implement this design is the Application. IsRunningOutOfBrowser 
property. It returns true if the application was launched as a stand-alone application or false if it’s 
running in the browser. To differentiate your application in these two states, you need to check this 
property and adjust the user interface accordingly. 
For example, if you want to create an application that supports offline use only, you can use code 
like this in the Startup event handler: 
www.it-ebooks.info
VB.NET PDF insert image library: insert images into PDF in vb.net
with this sample VB.NET code to add an image to textMgr.SelectChar(page, cursor) ' Delete a selected As String = Program.RootPath + "\\" output.pdf" doc.Save
add page number to pdf in preview; add pages to pdf in preview
C# PDF Password Library: add, remove, edit PDF file password in C#
passwordSetting.IsAssemble = true; // Add password to PDF file. These C# demos will help you to delete password for an encrypted PDF file.
add pdf pages to word; add page number to pdf print
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
642 
private void Application_Startup(object sender, StartupEventArgs e) 
if (Application.Current.IsRunningOutOfBrowser) 
// Show the full user interface. 
this.RootVisual = new MainPage(); 
else 
this.RootVisual = new InstallPage(); 
 Tip  It’s also important to check the IsRunningOutOfBrowser property before attempting to use any features that 
aren’t supported in out-of-browser applications—namely, the browser interaction features described in Chapter 
17. 
There’s one possible quirk with this code. It tests the IsRunningOutOfBrowser property and uses 
that to decide whether to launch the install process. This makes sense, because if the application is 
currently running in the browser (meaning IsRunningOutOfBrowser is true), the application is obviously 
installed. However, the reverse isn’t necessarily correct. If the application isn’t running in the browser 
(meaning IsRunningOutOfBrowser is false), it may still be installed. The only way to know for sure is to 
check the Application.InstallState property, which takes one of the values from the InstallState 
enumeration (as described in Table 18-1). 
Table 18-1. Values of the InstallState Enumeration 
Value 
Description 
Not Installed 
The application is running inside the browser and hasn’t been installed 
as an out-of-browser application. 
Installing  
The application is in the process of being installed as an out-of-browser 
application. 
InstallFailed  
The out-of-browser install process failed. 
Installed  
The application is installed as an out-of-browser application. This 
doesn’t necessarily mean it’s currently running outside of the 
browser—to determine this fact, you need to check the 
IsRunningOutOfBrowser property. 
www.it-ebooks.info
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
643 
The InstallPage takes this detail into account. When it loads, it uses the following code in its 
constructor to determine whether the application is already installed. If the application hasn’t been 
installed, it enables an Install button. Otherwise, it disables the Install button and shows a message 
asking the user to run the application from the previously installed shortcut.  
public InstallPage() 
InitializeComponent(); 
if (Application.Current.InstallState == InstallState.Installed) 
lblMessage.Text = "This application is already installed. " + 
"You cannot use the browser to run it. " + 
"Instead, use the shortcut on your computer."
cmdInstall.IsEnabled = false
else 
lblMessage.Text = "You need to install this application to run it."
cmdInstall.IsEnabled = true
 Tip  This behavior isn’t mandatory. It’s perfectly acceptable to have an application that supports in-browser and 
out-of-browser use. In this case, you may choose to check InstallState and show some sort of install button that 
gives the user the option to install the application locally. However, you won’t redirect the user to an installation 
page if the application isn’t installed. 
Once the application has been successfully installed, it makes sense to inform the user. However, 
you can’t assume that the application has been successfully installed just because the Install() method 
returns true. This simply indicates that the user has clicked the OK button in the installation window to 
start the install. The actual install process happens asynchronously. 
As the install progresses, Silverlight adjusts the Application.InstallState property and triggers the 
Application.InstallStateChanged event to notify you. When InstallStateChanged fires and InstallState is 
Installed, your application has just finished being installed as an out-of-browser application. At this 
point, you should notify the user. The following example does exactly that using some extra code in the 
App class. It reacts as the application is being installed and notifies the InstallPage: 
First, you need to attach the event handler in the App class constructor: 
this.InstallStateChanged += this.Application_InstallStateChanged; 
Then, you can add the code that reacts as the application is being installed and notifies the 
InstallPage: 
private void Application_InstallStateChanged(object sender, EventArgs e) 
www.it-ebooks.info
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
644 
InstallPage page = this.RootVisual as InstallPage
if (page != null
// Tell the root visual to show a message by calling a method 
// in InstallPage that updates the display. 
switch (this.InstallState) 
case InstallState.InstallFailed: 
page.DisplayFailed(); 
break
case InstallState.Installed: 
page.DisplayInstalled(); 
break
Finally, you need to add the following methods to the InstallPage class to show the updated status 
text: 
public void DisplayInstalled() 
lblMessage.Text =  
"The application installed and launched. You can close this page."
public void DisplayFailed() 
lblMessage.Text = "The application failed to install."
cmdInstall.IsEnabled = true
In this example, the application displays some text in the first, browser-based application instance, 
which informs users that they can now close the browser window (see Figure 18-6). To be fancier, you 
could use a bit of JavaScript and the browser-interaction features described in Chapter 17 to forcibly 
close the browser window. 
www.it-ebooks.info
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
645 
Figure 18-6. Using the browser-based application for installation 
Although Silverlight notifies you when the installation process is completed (successfully or 
unsuccessfully), it doesn’t fire the InstallStateChanged even if the application is uninstalled, as described 
in the next section. 
Removing and Updating an Application 
Now that you’ve explored the installation process of an out-of-browser application in detail, it’s time to 
ask about two other common tasks for installed applications: updates and removal. 
The removal or uninstallation process is easy: the user right-clicks the running application (either in 
a browser or in a stand-alone window) and chooses “Remove this application.” A confirmation dialog 
box appears; if the user clicks OK, the application is quickly uninstalled, and its shortcuts are removed. 
All removals must be initiated by the user, because there is no corresponding Application class method. 
Application updates are more interesting. Silverlight has the built-in ability to check for an updated 
version of your application. In fact, it requires just a single line of code that calls the 
Application.CheckAndDownloadUpdateAsync() method. This method launches an asynchronous 
process that checks the web server to see whether a newer XAP file is available. (That’s a XAP file with a 
more recent file date. The actual version number that you used when you compiled the application has 
no effect.) 
Here’s an example that checks for updates when the application starts: 
www.it-ebooks.info
CHAPTER 18  OUT-OF-BROWSER APPLICATIONS 
646 
private void Application_Startup(object sender, StartupEventArgs e) 
if (Application.Current.IsRunningOutOfBrowser) 
// Check for updates. 
Application.Current.CheckAndDownloadUpdateCompleted += 
Application_CheckAndDownloadUpdateCompleted; 
Application.Current.CheckAndDownloadUpdateAsync(); 
this.RootVisual = new MainPage(); 
else 
this.RootVisual = new InstallPage(); 
 Note  Although Microsoft recommends that you call CheckAndDownloadUpdateAsync() in response to a user-
initiated action (like clicking an Update button), it doesn’t enforce this rule, and you’re free to check for updates on 
application startup. 
If a network connection is present, the web server can be contacted, and an updated XAP file is 
available, the application downloads it automatically and then fires the Application. 
CheckAndDownloadUpdateCompleted event. 
For simplicity’s sake, application updates are mandatory once you call the 
CheckAndDownloadUpdateAsync() method. The user has no way to decline an update, and your 
application has no way to check whether an update is present without downloading and installing it. 
However, the update doesn’t kick in until the application is restarted. 
If you want the user to switch to the new version immediately, you can handle the 
CheckAndDownloadUpdateCompleted event to display an informative message: 
private void Application_CheckAndDownloadUpdateCompleted(object sender, 
CheckAndDownloadUpdateCompletedEventArgs e) 
if (e.UpdateAvailable) 
MessageBox.Show("A new version has been installed. " + 
"Please restart the application."); 
//  that disables the user interface.) 
else if (e.Error != null
www.it-ebooks.info
Documents you may be interested
Documents you may be interested