working with pdf in c# : Create pdf bookmarks Library application class asp.net html azure ajax air_htmldevguide6-part485

55
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
package  
{  
import flash.display.StageScaleMode;  
import flash.display.NativeWindow;  
import flash.display.NativeWindowInitOptions;  
import flash.events.Event;  
import flash.events.NativeWindowBoundsEvent;  
import flash.geom.Rectangle;  
import flash.html.HTMLLoader;  
import flash.html.HTMLHost;  
import flash.html.HTMLWindowCreateOptions;  
import flash.text.TextField;  
public class CustomHost extends HTMLHost  
 
public var statusField:TextField;  
public function CustomHost(defaultBehaviors:Boolean=true)  
{  
super(defaultBehaviors);  
}  
override public function windowClose():void  
{  
htmlLoader.stage.nativeWindow.close();  
}  
override public function createWindow(  
windowCreateOptions:HTMLWindowCreateOptions ):HTMLLoader  
{  
var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();  
var bounds:Rectangle = new Rectangle(windowCreateOptions.x,  
windowCreateOptions.y,  
windowCreateOptions.width,  
windowCreateOptions.height);  
var htmlControl:HTMLLoader = HTMLLoader.createRootWindow(true, initOptions,  
windowCreateOptions.scrollBarsVisible, bounds);  
htmlControl.htmlHost = new HTMLHostImplementation();  
if(windowCreateOptions.fullscreen){  
htmlControl.stage.displayState =  
StageDisplayState.FULL_SCREEN_INTERACTIVE;  
}  
return htmlControl;  
}  
override public function updateLocation(locationURL:String):void  
{  
trace(locationURL);  
}  
override public function set windowRect(value:Rectangle):void  
{  
htmlLoader.stage.nativeWindow.bounds = value;  
Create pdf bookmarks - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmark template pdf; creating bookmarks pdf
Create pdf bookmarks - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
how to add bookmarks to pdf files; add bookmarks to pdf reader
56
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
}  
override public function updateStatus(status:String):void  
{  
statusField.text = status;  
trace(status);  
}  
override public function updateTitle(title:String):void  
{  
htmlLoader.stage.nativeWindow.title = title + "- Example Application";  
}  
override public function windowBlur():void  
{  
htmlLoader.alpha = 0.5;  
}  
override public function windowFocus():void  
{  
htmlLoader.alpha = 1;  
}  
 
}
Create another ActionScript file named CustomHostExample.as to contain the document class for the application. 
This class creates an HTMLLoader object and sets its host property to an instance of the CustomHost class defined 
in the previous step:
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
create bookmarks in pdf from excel; copy pdf bookmarks to another pdf
VB.NET PDF File Split Library: Split, seperate PDF into multiple
how to split a PDF file into multiple ones by PDF bookmarks or outlines Valid value for each index: 1 to (Page Count - 1). ' Create output PDF file path
adding bookmarks to pdf; create pdf bookmarks from word
57
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
package  
{  
import flash.display.Sprite;  
import flash.html.HTMLLoader;  
import flash.net.URLRequest;  
import flash.text.TextField;  
public class CustomHostExample extends Sprite  
 
function CustomHostExample():void  
{  
var html:HTMLLoader = new HTMLLoader();  
html.width = 550;  
html.height = 380;  
var host:CustomHost = new CustomHost();  
html.htmlHost = host;  
var urlReq:URLRequest = new URLRequest("Test.html");  
html.load(urlReq);  
addChild(html);  
var statusTxt:TextField = new TextField();  
statusTxt.y = 380;  
statusTxt.height = 20;  
statusTxt.width = 550;  
statusTxt.background = true;  
statusTxt.backgroundColor = 0xEEEEEEEE;  
addChild(statusTxt);  
host.statusField = statusTxt;  
}  
 
}
To test the code described here, include an HTML file with the following content in the application directory:
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
bookmark pdf reader; create bookmark pdf file
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
how to add a bookmark in pdf; create bookmark pdf
58
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
<html>  
<head>  
<title>Test</title>  
<script>  
function openWindow()  
{  
document.title = "Test"  
window.open('Test.html');  
}  
</script>  
</head>  
<body bgColor="#EEEEEE">  
<a href="#" onclick="window.open('Test.html')">window.open('Test.html')</a>  
<br/><a href="#" onclick="window.document.location='http://www.adobe.com'">  
window.document.location = 'http://www.adobe.com'</a>  
<br/><a href="#" onclick="window.moveBy(6, 12)">moveBy(6, 12)</a>  
<br/><a href="#" onclick="window.close()">window.close()</a>  
<br/><a href="#" onclick="window.blur()">window.blur()</a>  
<br/><a href="#" onclick="window.focus()">window.focus()</a>  
<br/><a href="#" onclick="window.status = new Date().toString()">window.status=new 
Date().toString()</a>  
</body>  
</html>
Create an ActionScript file, such as 
HTMLHostImplementation.as
.
In this file, define a class extending the HTMLHost class. 
Override methods of the new class to handle changes in the user interface-related settings. For example, the 
following class, CustomHost, defines behaviors for calls to 
window.open()
and changes to 
window.document.title
. Calls to 
window.open()
open the HTML page in a new window, and changes to 
window.document.title
(including the setting of the 
<title>
element of an HTML page) set the title of that 
window.
C# Create PDF Library SDK to convert PDF from other file formats
file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields.
bookmarks pdf; creating bookmarks in a pdf document
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create.
pdf export bookmarks; add bookmark pdf
59
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
package {  
import flash.html.HTMLHost;  
import flash.html.HTMLLoader;  
import flash.html.HTMLWindowCreateOptions;  
import flash.geom.Rectangle;  
import flash.display.NativeWindowInitOptions;  
import flash.display.StageDisplayState;  
public class HTMLHostImplementation extends HTMLHost{  
public function HTMLHostImplementation(defaultBehaviors:Boolean = true):void{  
super(defaultBehaviors);  
}  
override public function updateTitle(title:String):void{  
htmlLoader.stage.nativeWindow.title = title + " - New Host";  
}  
override public function 
createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader{  
var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();  
var bounds:Rectangle = new Rectangle(windowCreateOptions.x,  
windowCreateOptions.y,  
windowCreateOptions.width,  
windowCreateOptions.height);  
var htmlControl:HTMLLoader = HTMLLoader.createRootWindow(true, initOptions,  
windowCreateOptions.scrollBarsVisible, bounds);  
htmlControl.htmlHost = new HTMLHostImplementation();  
if(windowCreateOptions.fullscreen){  
htmlControl.stage.displayState =  
StageDisplayState.FULL_SCREEN_INTERACTIVE;  
}  
return htmlControl;  
}  
 
}
Compile the class into a SWF file using the acompc component compiler.
acompc -source-path . -include-classes HTMLHostImplementation -output Host.zip
Note: The acompc compiler is included with the Flex SDK (but not the AIR SDK, which is targeted for HTML 
developers who do not generally need to compile SWF files.) Instructions for using acompc are provided in the Using 
compc, the component compiler.
Open the 
Host.zip
file and extract the Library.swf file inside.
Rename 
Library.swf
to 
HTMLHostLibrary.swf
. This SWF file is the library to import into the HTML page.
Import the library into the HTML page using a 
<script>
tag:
<script src="HTMLHostLibrary.swf" type="application/x-shockwave-flash"></script>
Assign a new instance of the HTMLHost implementation to the HTMLLoader object of the page.
window.htmlLoader.htmlHost = new window.runtime.HTMLHostImplementation();
VB.NET Create PDF Library SDK to convert PDF from other file
Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields in Visual Basic .NET application.
how to bookmark a pdf in reader; bookmarks in pdf from word
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
creating bookmarks pdf files; how to bookmark a pdf document
60
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
The following HTML page illustrates how to load and use the HTMLHost implementation. You can test the 
updateTitle()
and 
createWindow()
implementations by clicking the button to open a new, fullscreen window.
<html>  
<head>  
<title>HTMLHost Example</title>  
<script src="HTMLHostLibrary.swf" type="application/x-shockwave-flash"></script>  
<script language="javascript">  
window.htmlLoader.htmlHost = new window.runtime.HTMLHostImplementation();  
function test(){  
window.open('child.html', 'Child', 'fullscreen');  
}  
</script>  
</head>  
<body>  
<button onClick="test()">Create Window</button>  
</body>  
</html>
To run this example, provide an HTML file named child.html in the application directory.
Handling changes to the window.location property
Adobe AIR 1.0 and later
Override the 
locationChange()
method to handle changes of the URL of the HTML page. The 
locationChange()
method is called when JavaScript in a page changes the value of 
window.location
. The following example simply 
loads the requested URL:
override public function updateLocation(locationURL:String):void  
{  
htmlLoader.load(new URLRequest(locationURL));  
}
Note: You can use the htmlLoader property of the HTMLHost object to reference the current HTMLLoader object.
Handling JavaScript calls to window.moveBy(), window.moveTo(), 
window.resizeTo(), window.resizeBy()
Adobe AIR 1.0 and later
Override the 
set windowRect()
method to handle changes in the bounds of the HTML content. The 
set 
windowRect()
method is called when JavaScript in a page calls 
window.moveBy()
window.moveTo()
window.resizeTo()
, or 
window.resizeBy()
. The following example simply updates the bounds of the desktop 
window:
override public function set windowRect(value:Rectangle):void  
{  
htmlLoader.stage.nativeWindow.bounds = value;  
}
61
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
Handling JavaScript calls to window.open()
Adobe AIR 1.0 and later
Override the 
createWindow()
method to handle JavaScript calls to 
window.open()
. Implementations of the 
createWindow()
method are responsible for creating and returning a new HTMLLoader object. Typically, you would 
display the HTMLLoader in a new window, but creating a window is not required. 
The following example illustrates how to implement the 
createWindow()
function using the 
HTMLLoader.createRootWindow()
to create both the window and the HTMLLoader object. You can also create a 
NativeWindow object separately and add the HTMLLoader to the window stage.
override public function createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader{  
var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();  
var bounds:Rectangle = new Rectangle(windowCreateOptions.x, windowCreateOptions.y,   
windowCreateOptions.width, windowCreateOptions.height);  
var htmlControl:HTMLLoader = HTMLLoader.createRootWindow(true, initOptions,  
windowCreateOptions.scrollBarsVisible, bounds);  
htmlControl.htmlHost = new HTMLHostImplementation();  
if(windowCreateOptions.fullscreen){  
htmlControl.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;  
 
return htmlControl;  
}
Note: This example assigns the custom HTMLHost implementation to any new windows created with 
window.open()
You can also use a different implementation or set the 
htmlHost
property to null for new windows, if desired.
The object passed as a parameter to the 
createWindow()
method is an HTMLWindowCreateOptions object. The 
HTMLWindowCreateOptions class includes properties that report the values set in the 
features
parameter string in 
the call to 
window.open()
:
The HTMLLoader class does not implement all the features that can be specified in the feature string. Your application 
must provide scroll bars, location bars, menu bars, status bars, and toolbars when appropriate.
HTMLWindowCreateOptions 
property
Corresponding setting in the 
features string in the JavaScript 
call to window.open()
fullscreen
fullscreen
height
height
locationBarVisible
location
menuBarVisible
menubar
resizeable
resizable
scrollBarsVisible
scrollbars
statusBarVisible
status
toolBarVisible
toolbar
width
width
x
left or screenX
y
top or screenY
62
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
The other arguments to the JavaScript 
window.open()
method are handled by the system. A 
createWindow()
implementation should not load content in the HTMLLoader object, or set the window title.
Handling JavaScript calls to window.close()
Adobe AIR 1.0 and later
Override the 
windowClose()
to handle JavaScript calls to 
window.close()
method. The following example closes the 
desktop window when the 
window.close()
method is called:
override public function windowClose():void  
{  
htmlLoader.stage.nativeWindow.close();  
}
JavaScript calls to 
window.close()
do not have to close the containing window. You could, for example, remove the 
HTMLLoader from the display list, leaving the window (which may have other content) open, as in the following code:
override public function windowClose():void  
{  
htmlLoader.parent.removeChild(htmlLoader);  
}
Handling changes of the window.status property
Adobe AIR 1.0 and later
Override the 
updateStatus()
method to handle JavaScript changes to the value of 
window.status
. The following 
example traces the status value:
override public function updateStatus(status:String):void  
{  
trace(status);  
}
The requested status is passed as a string to the 
updateStatus()
method.
The HTMLLoader object does not provide a status bar.
Handling changes of the window.document.title property
Adobe AIR 1.0 and later
override the 
updateTitle()
method to handle JavaScript changes to the value of 
window.document.title
. The 
following example changes the window title and appends the string, "Sample," to the title:
override public function updateTitle(title:String):void  
{  
htmlLoader.stage.nativeWindow.title = title + " - Sample";  
}
When 
document.title
is set on an HTML page, the requested title is passed as a string to the 
updateTitle()
method.
Changes to 
document.title
do not have to change the title of the window containing the HTMLLoader object. You 
could, for example, change another interface element, such as a text field. 
63
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Scripting the AIR HTML Container
Last updated 9/28/2011
Handling JavaScript calls to window.blur() and window.focus()
Adobe AIR 1.0 and later
Override the 
windowBlur()
and 
windowFocus()
methods to handle JavaScript calls to 
window.blur()
and 
window.focus()
, as shown in the following example:
override public function windowBlur():void  
{  
htmlLoader.alpha = 0.5;  
}  
override public function windowFocus():void  
{  
htmlLoader.alpha = 1.0;  
NativeApplication.nativeApplication.activate(htmlLoader.stage.nativeWindow);  
}
Note: AIR does not provide an API for deactivating a window or application.
Creating windows with scrolling HTML content
Adobe AIR 1.0 and later
The HTMLLoader class includes a static method, 
HTMLLoader.createRootWindow()
, which lets you open a new 
window (represented by a NativeWindow object) that contains an HTMLLoader object and define some user interface 
settings for that window. The method takes four parameters, which let you define the user interface:
For example, the following code uses the 
HTMLLoader.createRootWindow()
method to create a window with 
HTMLLoader content that uses scroll bars:
var initOptions = new air.NativeWindowInitOptions();  
var bounds = new air.Rectangle(10, 10, 600, 400);  
var html2 = air.HTMLLoader.createRootWindow(true, initOptions, true, bounds);  
var urlReq2 = new air.URLRequest("http://www.example.com");  
html2.load(urlReq2);  
html2.stage.nativeWindow.activate();
Note: Windows created by calling 
createRootWindow()
directly in JavaScript remain independent from the opening 
HTML window. The JavaScript Window 
opener
and 
parent
properties, for example, are 
null
. However, if you call 
createRootWindow()
indirectly by overriding the HTMLHost 
createWindow()
method to call 
createRootWindow()
, then 
opener
and 
parent
do reference the opening HTML window.
Parameter
Description
visible
A Boolean value that specifies whether the window is initially visible (true) or not (false). 
windowInitOptions
A NativeWindowInitOptions object. The NativeWindowInitOptions class defines initialization options for a 
NativeWindow object, including the following: whether the window is minimizable, maximizable, or resizable, 
whether the window has system chrome or custom chrome, whether the window is transparent or not (for 
windows that do not use system chrome), and the type of window. 
scrollBarsVisible
Whether there are scroll bars (true) or not (false). 
bounds
A Rectangle object defining the position and size of the new window. 
64
Last updated 9/28/2011
Chapter 5: Working with vectors
Adobe AIR 1.5 and later
A Vector instance is a typed array, which means that all the elements in a Vector instance always have the same data 
type. Some AIR APIs, such as NativeProcess and NetworkInfo, use Vectors as data types for properties or methods.
In JavaScript code running in Adobe AIR, the Vector class is referenced as air.Vector (in the AIRAliases.js file).
Basics of vectors
Adobe AIR 1.5 and later
When you declare a Vector variable or instantiate a Vector object, you explicitly specify the data type of the objects 
that the Vector can contain. The specified data type is known as the Vector’s base type. At run time, any code that sets 
or retrieves a value of a Vector is checked. If the data type of the object being added or retrieved doesn’t match the 
Vector’s base type, an error occurs.
In addition to the data type restriction, the Vector class has other restrictions that distinguish it from the Array class:
• A Vector is a dense array. An Array object may have values in indices 0 and 7 even if it has no values in positions 1 
through 6. However, a Vector must have a value (or 
null
) in each index.
• A Vector can optionally be fixed length. This means that the number of elements the Vector contains can’t change.
• Access to a Vector’s elements is bounds-checked. You can never read a value from an index greater than the final 
element (
length
- 1). You can never set a value with an index more than one beyond the current final index. (In 
other words, you can only set a value at an existing index or at index 
[length]
.)
As a result of its restrictions, a Vector has three primary benefits over an Array instance whose elements are all 
instances of a single class:
• Performance: array element access and iteration are much faster when using a Vector instance than when using an 
Array instance.
• Type safety: examples of such errors include assigning a value of the incorrect data type to a Vector or expecting 
the wrong data type when reading a value from a Vector. At run time, data types are checked when adding data to 
or reading data from a Vector object.
• Reliability: run-time range checking (or fixed-length checking) increases reliability significantly over Arrays.
Aside from the additional restrictions and benefits, the Vector class is very much like the Array class. The properties 
and methods of a Vector object are similar—usually identical—to the properties and methods of an Array. In most 
situations where you would use an Array in which all the elements have the same data type, a Vector instance is 
preferable.
Important concepts and terms
The following reference list contains important terms to know when programming array and vector handling routines:
Array access ([]) operator 
A pair of square brackets surrounding an index or key that uniquely identifies an array 
element. This syntax is used after a vector variable name to specify a single element of the vector rather than the entire 
vector.
Documents you may be interested
Documents you may be interested