c# pdf diff : Create pdf bookmark application control cloud html azure winforms class air_htmldevguide15-part459

145
Last updated 9/28/2011
Chapter 11: Working with the file system
Flash Player 9 and later, Adobe AIR 1.0 and later
The Adobe® AIR® file system API provides complete access to the file system of the host computer. Using these classes, 
you can access and manage directories and files, create directories and files, write data to files, and so on.
More Help topics 
flash.filesystem.File
flash.filesystem.FileStream
Using the AIR file system API
Adobe AIR 1.0 and later
The Adobe AIR file system API includes the following classes:
• File
• FileMode
• FileStream
The file system API lets you do the following (and more):
• Copy, create, delete, and move files and directories
• Get information about files and directories
• Read and write files
AIR file basics
Adobe AIR 1.0 and later
For a quick explanation and code examples of working with the file system in AIR, see the following quick start articles 
on the Adobe Developer Connection:
• Building a text-file editor
• Building a directory search application
• Reading and writing from an XML preferences file
Adobe AIR provides classes that you can use to access, create, and manage both files and folders. These classes, 
contained in the flash.filesystem package, are used as follows:
Adobe AIR provides classes that you can use to access, create, and manage both files and folders. These classes, 
contained in the runtime.flash.filesystem package, are used as follows:
Create pdf bookmark - 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
bookmarks in pdf files; create bookmarks in pdf
Create pdf bookmark - 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
bookmark template pdf; export pdf bookmarks to excel
146
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
Some methods in the File class have both synchronous and asynchronous versions: 
File.copyTo()
and 
File.copyToAsync()
File.deleteDirectory()
and 
File.deleteDirectoryAsync()
File.deleteFile()
and 
File.deleteFileAsync()
File.getDirectoryListing()
and 
File.getDirectoryListingAsync()
File.moveTo()
and 
File.moveToAsync()
File.moveToTrash()
and 
File.moveToTrashAsync()
Also, FileStream operations work synchronously or asynchronously depending on how the FileStream object opens 
the file: by calling the 
open()
method or by calling the 
openAsync()
method. 
The asynchronous versions let you initiate processes that run in the background and dispatch events when complete 
(or when error events occur). Other code can execute while these asynchronous background processes are taking place. 
With asynchronous versions of the operations, you must set up event listener functions, using the 
addEventListener()
method of the File or FileStream object that calls the function. 
The synchronous versions let you write simpler code that does not rely on setting up event listeners. However, since 
other code cannot execute while a synchronous method is executing, important processes such as display object 
rendering and animation can be delayed. 
Working with File objects in AIR
Adobe AIR 1.0 and later
A File object is a pointer to a file or directory in the file system. 
The File class extends the FileReference class. The FileReference class, which is available in Adobe® Flash® Player as well 
as AIR, represents a pointer to a file. The File class adds properties and methods that are not exposed in Flash Player 
(in a SWF file running in a browser), due to security considerations. 
About the File class
Adobe AIR 1.0 and later
You can use the File class for the following: 
• Getting the path to special directories, including the user directory, the user's documents directory, the directory 
from which the application was launched, and the application directory 
• Coping files and directories 
File classes
Description
File
File object represents a path to a file or directory. You use a file object to create a pointer to a file or 
folder, initiating interaction with the file or folder. 
FileMode
The FileMode class defines string constants used in the fileMode parameter of the open() and 
openAsync() methods of the FileStream class. The fileMode parameter of these methods determines 
the capabilities available to the FileStream object once the file is opened, which include writing, reading, 
appending, and updating. 
FileStream
FileStream object is used to open files for reading and writing. Once you’ve created a File object that 
points to a new or existing file, you pass that pointer to the FileStream object so that you can open it and 
read or write data. 
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Text. Add Text Box. Drawing Markups. PDF Print. Work Barcode Read. Barcode Create. OCR. Twain. Create
add bookmark pdf file; how to add bookmark in pdf
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Easy to create searchable and scanned PDF files from Word. Ability to get word count of PDF pages. Change Word hyperlink to PDF hyperlink and bookmark.
add bookmarks to pdf online; create pdf bookmarks from word
147
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
• Moving files and directories 
• Deleting files and directories (or moving them to the trash) 
• Listing files and directories contained in a directory 
• Creating temporary files and folders 
Once a File object points to a file path, you can use it to read and write file data, using the FileStream class. 
A File object can point to the path of a file or directory that does not yet exist. You can use such a File object in creating 
a file or directory. 
Paths of File objects
Adobe AIR 1.0 and later
Each File object has two properties that each define its path:
The File class includes static properties for pointing to standard directories on Mac OS, Windows, and Linux. These 
properties include:
File.applicationStorageDirectory
—a storage directory unique to each installed AIR application. This 
directory is an appropriate place to store dynamic application assets and user preferences. Consider storing large 
amounts of data elsewhere. 
File.applicationDirectory
—the directory where the application is installed (along with any installed assets). 
On some operating systems, the application is stored in a single package file rather than a physical directory. In this 
case, the contents may not be accessible using the native path. The application directory is read-only.
File.desktopDirectory
—the user’s desktop directory. If a platform does not define a desktop directory, another 
location on the file system is used.
File.documentsDirectory
—the user’s documents directory. If a platform does not define a documents 
directory, another location on the file system is used.
File.userDirectory
—the user directory. If a platform does not define a user directory, another location on the 
file system is used.
Note: When a platform does not define standard locations for desktop, documents, or user directories, 
File.documentsDirectory
File.desktopDirectory
, and 
File.userDirectory
can reference the same directory.
These properties have different values on different operating systems. For example, Mac and Windows each have a 
different native path to the user’s desktop directory. However, the 
File.desktopDirectory
property points to an 
appropriate directory path on every platform. To write applications that work well across platforms, use these 
properties as the basis for referencing other directories and files used by the application. Then use the 
resolvePath()
method to refine the path. For example, this code points to the preferences.xml file in the application storage directory: 
Property
Description
nativePath
Specifies the platform-specific path to a file. For example, on Windows a path might be "c:\Sample 
directory\test.txt" whereas on Mac OS it could be "/Sample directory/test.txt". A nativePath 
property uses the backslash (\) character as the directory separator character on Windows, and it uses 
the forward slash (/) character on Mac OS and Linux. 
url
This may use the file URL scheme to point to a file. For example, on Windows a path might be 
"file:///c:/Sample%20directory/test.txt" whereas on Mac OS it could be 
"file:///Sample%20directory/test.txt". The runtime includes other special URL schemes besides file 
and are described in “Supported AIR URL schemes” on page
153
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Easy to create searchable and scanned PDF files from Word. Able to get word count in PDF pages. Change Word hyperlink to PDF hyperlink and bookmark.
bookmarks in pdf; bookmark pdf acrobat
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
Qualified Tiff files are exported with high resolution in VB.NET. Create multipage Tiff image files from PDF in VB.NET project. Support
add bookmarks to pdf reader; how to bookmark a pdf page
148
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
var prefsFile:File = air.File.applicationStorageDirectory;  
prefsFile = prefsFile.resolvePath("preferences.xml");
Although the File class lets you point to a specific file path, doing so can lead to applications that do not work across 
platforms. For example, the path C:\Documents and Settings\joe\ only works on Windows. For these reasons, it is best 
to use the static properties of the File class, such as 
File.documentsDirectory
.
Common directory locations
The actual native paths for these directories vary based on the operating system and computer configuration. The 
paths shown in this table are typical examples. You should always use the appropriate static File class properties to refer 
to these directories so that your application works correctly on any platform. In an actual AIR application, the values 
for 
applicationID
and 
filename
shown in the table are taken from the application descriptor. If you specify a 
publisher ID in the application descriptor, then the publisher ID is appended to the application ID in these paths. The 
value for 
userName
is the account name of the installing user.
Pointing a File object to a directory 
Adobe AIR 1.0 and later
There are different ways to set a File object to point to a directory. 
Platform
Directory type
Typical file system location
Linux
Application
/opt/filename/share
Application-storage
/home/userName/.appdata/applicationID/Local Store
Desktop
/home/userName/Desktop
Documents
/home/userName/Documents
Temporary
/tmp/FlashTmp.randomString
User
/home/userName
Mac
Application
/Applications/filename.app/Contents/Resources
Application-storage
/Users/userName/Library/Preferences/applicationID/Local Store
Desktop
/Users/userName/Desktop
Documents
/Users/userName/Documents
Temporary
/private/var/folders/JY/randomString/TemporaryItems/FlashTmp
User
/Users/userName
Windows Application
C:\Program Files\filename
Application-storage
C:\Documents and 
settings\userName\ApplicationData\applicationID\Local Store
Desktop
C:\Documents and settings\userName\Desktop
Documents
C:\Documents and settings\userName\My Documents
Temporary
C:\Documents and settings\userName\Local 
Settings\Temp\randomString.tmp
User
C:\Documents and settings\userName
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Create PDF from Tiff. |. Home ›› XDoc.PDF ›› C# PDF: Create PDF from Tiff. Create PDF from Tiff in both .NET WinForms and ASP.NET application.
bookmark page in pdf; copy pdf bookmarks
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
C#.NET PDF SDK- Create PDF from Word in Visual C#. Online C#.NET Tutorial for Create PDF from Microsoft Office Excel Spreadsheet Using .NET XDoc.PDF Library.
how to bookmark a pdf in reader; creating bookmarks pdf
149
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
Pointing to the user’s home directory
Adobe AIR 1.0 and later
You can point a File object to the user’s home directory. The following code sets a File object to point to an AIR Test 
subdirectory of the home directory: 
var file = air.File.userDirectory.resolvePath("AIR Test");
Pointing to the user’s documents directory
Adobe AIR 1.0 and later
You can point a File object to the user's documents directory. The following code sets a File object to point to an AIR 
Test subdirectory of the documents directory: 
var file = air.File.documentsDirectory.resolvePath("AIR Test");
Pointing to the desktop directory
Adobe AIR 1.0 and later
You can point a File object to the desktop. The following code sets a File object to point to an AIR Test subdirectory 
of the desktop: 
var file = air.File.desktopDirectory.resolvePath("AIR Test");
Pointing to the application storage directory
Adobe AIR 1.0 and later
You can point a File object to the application storage directory. For every AIR application, there is a unique associated 
path that defines the application storage directory. This directory is unique to each application and user. You can use 
this directory to store user-specific, application-specific data (such as user data or preferences files). For example, the 
following code points a File object to a preferences file, prefs.xml, contained in the application storage directory:
var file = air.File.applicationStorageDirectory;  
file = file.resolvePath("prefs.xml");
The application storage directory location is typically based on the user name and the application ID. The following 
file system locations are given here to help you debug your application. You should always use the 
File.applicationStorage
property or 
app-storage:
URI scheme to resolve files in this directory:
• On Mac OS—In:
/Users/
user name
/Library/Preferences/
applicationID
/Local Store/
For example: 
/Users/babbage/Library/Preferences/com.example.TestApp/Local Store
• On Windows—In the documents and Settings directory, in:
C:\Documents and Settings\user name
\Application Data\
applicationID
\Local Store\
For example: 
C:\Documents and Settings\babbage\Application Data\com.example.TestApp\Local Store
• On Linux—In:
/home/
user name
/.appdata/
applicationID
/Local Store/
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
C#.NET PDF SDK- Create PDF from PowerPoint in C#. How to Use C#.NET PDF Control to Create PDF from Microsoft PowerPoint Presentation in .NET Project.
editing bookmarks in pdf; add bookmarks to pdf file
C# Create PDF from images Library to convert Jpeg, png images to
Create PDF from Images. |. Home ›› XDoc.PDF ›› C# PDF: Create PDF from Images. C#.NET PDF - Create PDF from Images in C# with XDoc.NET PDF Control.
adding bookmarks in pdf; excel hyperlink to pdf bookmark
150
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
For example: 
/home/babbage/.appdata/com.example.TestApp/Local Store
Note: If an application has a publisher ID, then the publisher ID is also used as part of the path to the application storage 
directory.
The URL (and 
url
property) for a File object created with 
File.applicationStorageDirectory
uses the 
app-
storage
URL scheme (see “Supported AIR URL schemes” on page  153), as in the following: 
var dir = air.File.applicationStorageDirectory;  
dir = dir.resolvePath("prefs.xml");  
air.trace(dir.url); // app-storage:/preferences
Pointing to the application directory
Adobe AIR 1.0 and later
You can point a File object to the directory in which the application was installed, known as the application directory. 
You can reference this directory using the 
File.applicationDirectory
property. You can use this directory to 
examine the application descriptor file or other resources installed with the application. For example, the following 
code points a File object to a directory named images in the application directory:
var dir = air.File.applicationDirectory;  
dir = dir.resolvePath("images");
The URL (and 
url
property) for a File object created with 
File.applicationDirectory
uses the 
app
URL scheme 
(see “Supported AIR URL schemes” on page  153), as in the following: 
var dir = air.File.applicationDirectory;  
dir = dir.resolvePath("images");  
air.trace(dir.url); // app:/images
Pointing to the file system root
Adobe AIR 1.0 and later
The 
File.getRootDirectories()
method lists all root volumes, such as C: and mounted volumes, on a Windows 
computer. On Mac OS and Linux, this method always returns the unique root directory for the machine (the "/" 
directory). The 
StorageVolumeInfo.getStorageVolumes()
method provides more detailed information on 
mounted storage volumes (see “Working with storage volumes” on page  163).
Pointing to an explicit directory
Adobe AIR 1.0 and later
You can point the File object to an explicit directory by setting the 
nativePath
property of the File object, as in the 
following example (on Windows): 
var file = new air.File();  
file.nativePath = "C:\\AIR Test";
Important: Pointing to an explicit path this way can lead to code that does not work across platforms. For example, 
the previous example only works on Windows. You can use the static properties of the File object, such as 
File.applicationStorageDirectory
, to locate a directory that works cross-platform. Then use the 
resolvePath()
method (see the next section) to navigate to a relative path.
151
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
Navigating to relative paths
Adobe AIR 1.0 and later
You can use the 
resolvePath()
method to obtain a path relative to another given path. For example, the following 
code sets a File object to point to an "AIR Test" subdirectory of the user's home directory: 
var file = air.File.userDirectory;  
file = file.resolvePath("AIR Test");
You can also use the 
url
property of a File object to point it to a directory based on a URL string, as in the following: 
var urlStr = "file:///C:/AIR Test/";  
var file = new air.File()  
file.url = urlStr;
For more information, see “Modifying File paths” on page  153. 
Letting the user browse to select a directory
Adobe AIR 1.0 and later
The File class includes the 
browseForDirectory()
method, which presents a system dialog box in which the user can 
select a directory to assign to the object. The 
browseForDirectory()
method is asynchronous. The File object 
dispatches a 
select
event if the user selects a directory and clicks the Open button, or it dispatches a 
cancel
event if 
the user clicks the Cancel button.
For example, the following code lets the user select a directory and outputs the directory path upon selection:
var file = new air.File();  
file.addEventListener(air.Event.SELECT, dirSelected);  
file.browseForDirectory("Select a directory");  
function dirSelected(event) {  
alert(file.nativePath);  
}
Pointing to the directory from which the application was invoked
Adobe AIR 1.0 and later
You can get the directory location from which an application is invoked, by checking the 
currentDirectory
property 
of the InvokeEvent object dispatched when the application is invoked. For details, see “Capturing command line 
arguments” on page 297.
Pointing a File object to a file 
Adobe AIR 1.0 and later
There are different ways to set the file to which a File object points. 
Pointing to an explicit file path 
Adobe AIR 1.0 and later
Important: Pointing to an explicit path can lead to code that does not work across platforms. For example, the path 
C:/foo.txt only works on Windows. You can use the static properties of the File object, such as 
File.applicationStorageDirectory
, to locate a directory that works cross-platform. Then use the 
resolvePath()
method (see “Modifying File paths” on page  153) to navigate to a relative path.
152
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
You can use the 
url
property of a File object to point it to a file or directory based on a URL string, as in the following: 
var urlStr = "file:///C:/AIR Test/test.txt";  
var file = new air.File()  
file.url = urlStr;
You can also pass the URL to the 
File()
constructor function, as in the following: 
var urlStr = "file:///C:/AIR Test/test.txt";  
var file = new air.File(urlStr);
The 
url
property always returns the URI-encoded version of the URL (for example, blank spaces are replaced with 
"%20
): 
file.url = "file:///c:/AIR Test";  
alert(file.url); // file:///c:/AIR%20Test
You can also use the 
nativePath
property of a File object to set an explicit path. For example, the following code, when 
run on a Windows computer, sets a File object to the test.txt file in the AIR Test subdirectory of the C: drive: 
var file = new air.File();  
file.nativePath = "C:/AIR Test/test.txt";
You can also pass this path to the 
File()
constructor function, as in the following: 
var file = new air.File("C:/AIR Test/test.txt");
Use the forward slash (/) character as the path delimiter for the 
nativePath
property. On Windows, you can also use 
the backslash (\) character, but doing so leads to applications that do not work across platforms.
For more information, see “Modifying File paths” on page  153. 
Enumerating files in a directory 
Adobe AIR 1.0 and later
You can use the 
getDirectoryListing()
method of a File object to get an array of File objects pointing to files and 
subdirectories at the root level of a directory. For more information, see “Enumerating directories” on page  159. 
Letting the user browse to select a file
Adobe AIR 1.0 and later
The File class includes the following methods that present a system dialog box in which the user can select a file to 
assign to the object:
browseForOpen()
browseForSave()
browseForOpenMultiple()
These methods are each asynchronous. The 
browseForOpen()
and 
browseForSave()
methods dispatch the select 
event when the user selects a file (or a target path, in the case of browseForSave()). With the 
browseForOpen()
and 
browseForSave()
methods, upon selection the target File object points to the selected files. The 
browseForOpenMultiple
() method dispatches a 
selectMultiple
event when the user selects files. The 
selectMultiple
event is of type FileListEvent, which has a 
files
property that is an array of File objects (pointing 
to the selected files).
For example, the following code presents the user with an “Open” dialog box in which the user can select a file:
153
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
var fileToOpen = air.File.documentsDirectory;  
selectTextFile(fileToOpen);  
function selectTextFile(root)  
{  
var txtFilter = new air.FileFilter("Text", "*.as;*.css;*.html;*.txt;*.xml");  
root.browseForOpen("Open", new window.runtime.Array(txtFilter));  
root.addEventListener(air.Event.SELECT, fileSelected);  
}  
function fileSelected(event)  
{  
trace(fileToOpen.nativePath);  
}
If the application has another browser dialog box open when you call a browse method, the runtime throws an Error 
exception.
Modifying File paths 
Adobe AIR 1.0 and later
You can also modify the path of an existing File object by calling the 
resolvePath()
method or by modifying the 
nativePath
or 
url
property of the object, as in the following examples (on Windows): 
file1 = air.File.documentsDirectory;  
file1 = file1.resolvePath("AIR Test");  
alert(file1.nativePath); // C:\Documents and Settings\userName\My Documents\AIR Test  
var file2 = air.File.documentsDirectory;  
file2 = file2.resolvePath("..");  
alert(file2.nativePath); // C:\Documents and Settings\userName  
var file3 = air.File.documentsDirectory;  
file3.nativePath += "/subdirectory";  
alert(file3.nativePath); // C:\Documents and Settings\userName\My Documents\subdirectory  
var file4 = new air.File();  
file4.url = "file:///c:/AIR Test/test.txt";  
alert(file4.nativePath); // C:\AIR Test\test.txt
When using the 
nativePath
property, use the forward slash (/) character as the directory separator character. On 
Windows, you can use the backslash (\) character as well, but you should not do so, as it leads to code that does not 
work cross-platform. 
Supported AIR URL schemes 
Adobe AIR 1.0 and later
In AIR, you can use any of the following URL schemes in defining the 
url
property of a File object: 
154
HTML DEVELOPER’S GUIDE FOR ADOBE AIR
Working with the file system
Last updated 9/28/2011
Finding the relative path between two files 
Adobe AIR 1.0 and later
You can use the 
getRelativePath()
method to find the relative path between two files: 
var file1 = air.File.documentsDirectory  
file1 = file1.resolvePath("AIR Test");  
var file2 = air.File.documentsDirectory  
file2 = file2.resolvePath("AIR Test/bob/test.txt");  
alert(file1.getRelativePath(file2)); // bob/test.txt
The second parameter of the 
getRelativePath()
method, the 
useDotDot
parameter, allows for 
..
syntax to be 
returned in results, to indicate parent directories: 
var file1 = air.File.documentsDirectory;  
file1 = file1.resolvePath("AIR Test");  
var file2 = air.File.documentsDirectory;  
file2 = file2.resolvePath("AIR Test/bob/test.txt");  
var file3 = air.File.documentsDirectory;  
file3 = file3.resolvePath("AIR Test/susan/test.txt");  
alert(file2.getRelativePath(file1, true)); // ../..  
alert(file3.getRelativePath(file2, true)); // ../../bob/test.txt
Obtaining canonical versions of file names
Adobe AIR 1.0 and later
File and path names are not case sensitive on Windows and Mac OS. In the following, two File objects point to the 
same file: 
File.documentsDirectory.resolvePath("test.txt");  
File.documentsDirectory.resolvePath("TeSt.TxT");
However, documents and directory names do include capitalization. For example, the following assumes that there is 
a folder named AIR Test in the documents directory, as in the following examples: 
URL scheme
Description
file
Use to specify a path relative to the root of the file system. For example: 
file:///c:/AIR Test/test.txt
The URL standard specifies that a file URL takes the form file://<host>/<path>. As a special 
case,<host> can be the empty string, which is interpreted as "the machine from which the URL is being 
interpreted." For this reason, file URLs often have three slashes (///).
app
Use to specify a path relative to the root directory of the installed application (the directory that contains 
the application.xml file for the installed application). For example, the following path points to an images 
subdirectory of the directory of the installed application: 
app:/images
app-storage
Use to specify a path relative to the application store directory. For each installed application, AIR defines 
a unique application store directory, which is a useful place to store data specific to that application. For 
example, the following path points to a prefs.xml file in a settings subdirectory of the application store 
directory: 
app-storage:/settings/prefs.xml
Documents you may be interested
Documents you may be interested