c# save as pdf : Split pdf by bookmark SDK application service wpf html windows dnn ASPNETWebPagesWithRazorSyntax-Book12-part607

ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
117 
5.
Enter values into the fields and then click Submit.  
6.
Close the browser.  
7.
Return to the project and refresh the view.  
8.
Open the data.txt file. The data you submitted in the form is in the file.  
9.
Close the data.txt file. 
Appending Data to an Existing File
In the previous example, you used 
WriteAllText
to create a text file that's got just one piece of data in 
it. If you call the method again and pass it the same file name, the existing file is completely overwritten. 
However, after you've created a file you often want to add new data to the end of the file. You can do 
that using the 
AppendAllText
method of the 
File
object. 
1.
In the website, make a copy of the UserData.cshtml file and name the copy 
UserDataMultiple.cshtml.  
2.
Replace the code block before the opening 
<!DOCTYPE html>
tag with the following code block:  
@{ 
var result = ""; 
if (IsPost) 
var firstName = Request["FirstName"]; 
var lastName = Request["LastName"]; 
var email = Request["Email"]; 
var userData = firstName + "," + lastName + 
"," + email + Environment.NewLine; 
var dataFile = Server.MapPath("~/App_Data/data.txt"); 
File.AppendAllText (@dataFile, userData); 
result = "Information saved."; 
}
This code has one change in it from the previous example. Instead of using 
WriteAllText
, it uses 
the AppendAllText
method. The methods are similar, except that 
AppendAllText
adds the data 
Split pdf by 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 reader; pdf bookmark editor
Split pdf by 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 page in pdf; create pdf bookmark
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
118 
to the end of the file. As with 
WriteAllText
AppendAllText
creates the file if it doesn't already 
exist. 
3.
Run the page in a browser.  
4.
Enter values for the fields and then click Submit.  
5.
Add more data and submit the form again.  
6.
Return to your project, right-click the project folder, and then click Refresh.  
7.
Open the data.txt file. It now contains the new data that you just entered.  
Reading and Displaying Data from a File
Even if you don't need to write data to a text file, you'll probably sometimes need to read data from 
one. To do this, you can again use the 
File
object. You can use the 
File
object to read each line 
individually (separated by line breaks) or to read individual item no matter how they're separated. 
This procedure shows you how to read and display the data that you created in the previous example. 
1.
At the root of your website, create a new file named DisplayData.cshtml.  
2.
Replace the existing code with the following:  
@{ 
var result = ""; 
Array userData = null; 
char[] delimiterChar = {','}; 
var dataFile = Server.MapPath("~/App_Data/data.txt"); 
if (File.Exists(dataFile)) { 
userData = File.ReadAllLines(dataFile); 
if (userData == null) { 
// Empty file. 
result = "The file is empty."; 
else { 
// File does not exist. 
result = "The file does not exist."; 
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Split PDF document by PDF bookmark and outlines in VB.NET. Independent component for splitting PDF document in preview without using external PDF control.
add bookmark pdf; how to add bookmark in pdf
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF document by PDF bookmark and outlines. Also able to combine generated split PDF document files with other PDF files to form a new PDF file.
excel hyperlink to pdf bookmark; copy pdf bookmarks
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
119 
<!DOCTYPE html> 
<html> 
<head> 
<title>Reading Data from a File</title> 
</head> 
<body> 
<div> 
<h1>Reading Data from a File</h1> 
@result 
@if (result == "") { 
<ol> 
@foreach (string dataLine in userData) { 
<li> 
User 
<ul> 
@foreach (string dataItem in dataLine.Split(delimiterChar)) { 
<li>@dataItem</li > 
</ul> 
</li> 
</ol> 
</div> 
</body> 
</html>
The code starts by reading the file that you created in the previous example into a variable 
named 
userData
, using this method call: 
File.ReadAllLines(dataFile)
The code to do this is inside an 
if
statement. When you want to read a file, it's a good idea to 
use the 
File.Exists
method to determine first whether the file is available. The code also 
checks whether the file is empty. 
The body of the page contains two 
foreach
loops, one nested inside the other. The outer 
foreach
loop gets one line at a time from the data file. In this case, the lines are defined by line 
breaks in the file — that is, each data item is on its own line. The outer loop creates a new item 
(
<li>
element) inside an ordered list (
<ol>
element).  
The inner loop splits each data line into items (fields) using a comma as a delimiter. (Based on 
the previous example, this means that each line contains three fields — the first name, last 
name, and email address, each separated by a comma.) The inner loop also creates a 
<ul>
list 
and displays one list item for each field in the data line. 
The code illustrates how to use two data types, an array and the 
char
data type. The array is 
required because the 
File.ReadAllLines
method returns data as an array. The 
char
data type is 
required because the 
Split
method returns an 
array
in which each element is of the type 
char
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Process. File: Merge, Append PDF Files. File: Split PDF Document. PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata:
bookmark pdf in preview; export pdf bookmarks to text
C# PDF Library SDK to view, edit, convert, process PDF file for C#
load PDF from other file formats; merge, append, and split PDF files; insert for editing PDF document hyperlink (url) and quick navigation link in PDF bookmark.
how to add bookmarks to pdf files; create bookmarks in pdf from excel
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
120 
(For information about arrays, see Chapter 2 - Introduction to ASP.NET Web Programming Using 
the Razor Syntax.) 
3.
Run the page in a browser. The data you entered for the previous examples is displayed.  
Displaying Data from a Microsoft Excel Comma-Delimited File
You can use Microsoft Excel to save the data contained in a spreadsheet as a comma-delimited file (.csv 
file). When you do, the file is saved in plain text, not in Excel format. Each row in the spreadsheet is 
separated by a line break in the text file, and each data item is separated by a comma. You can use the 
code shown in the previous example to read an Excel comma-delimited file just by changing the name of 
the data file in your code. 
Deleting Files
To delete files from your website, you can use the 
File.Delete
method. This procedure shows how to 
let users delete an image (.jpg file) from an images folder if they know the name of the file. 
Important   In a production website, you typically restrict who's allowed to make changes to the 
data. For information about how to set up membership and about ways to authorize users to 
perform tasks on the site, see Chapter 16 - Adding Security and Membership.  
1.
In the website, create a subfolder named images.  
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
adding bookmarks to pdf document; bookmarks in pdf files
VB.NET PDF - WPF PDF Viewer for VB.NET Program
Process. File: Merge, Append PDF Files. File: Split PDF Document. PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata:
how to bookmark a pdf document; pdf bookmark
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
121 
2.
Copy one or more .jpg files into the images folder.  
3.
In the root of the website, create a new file named FileDelete.cshtml.  
4.
Replace the default markup and code with the following:  
@{ 
bool deleteSuccess = false; 
var photoName = ""; 
if (IsPost) { 
photoName = Request["photoFileName"] + ".jpg"; 
var fullPath = Server.MapPath("~/images/" + photoName); 
if (File.Exists(fullPath)) 
File.Delete(fullPath); 
deleteSuccess = true; 
<!DOCTYPE html> 
<html> 
<head> 
<title>Delete a Photo</title> 
</head> 
<body> 
<h1>Delete a Photo from the Site</h1> 
<form name="deletePhoto" action="" method="post"> 
<p>File name of image to delete (without .jpg extension): 
<input name="photoFileName" type="text" value="" /> 
</p> 
<p><input type="submit" value="Submit" </p> 
</form> 
@if(deleteSuccess) { 
<p> 
@photoName deleted! 
</p> 
</body> 
</html>
How to C#: Basic SDK Concept of XDoc.PDF for .NET
may easily create, load, combine, and split PDF file(s hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
create bookmarks pdf file; bookmark pdf reader
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Process. File: Merge, Append PDF Files. File: Split PDF Document. PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata:
adding bookmarks to a pdf; display bookmarks in pdf
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
122 
This page contains a form where users can enter the name of an image file. They don't enter the 
.jpg file-name extension; by restricting the file name like this, you help prevents users from 
deleting arbitrary files on your site. 
The code reads the file name that the user has entered and then constructs a complete path. To 
create the path, the code uses the current website path (as returned by the 
Server.MapPath
method), the images folder name, the name that the user has provided, and ".jpg" as a literal 
string. 
To delete the file, the code calls the 
File.Delete
method, passing it the full path that you just 
constructed. At the end of the markup, code displays a confirmation message that the file was 
deleted. 
5.
Run the page in a browser.  
6.
Enter the name of the file to delete and then click Submit. If the file was deleted, the name of 
the file is displayed at the bottom of the page.  
Letting Users Upload a File
The 
FileUpload
helper lets users upload files to your website. The procedure below shows you how to 
let users upload a single file. 
1.
Add the ASP.NET Web Helpers Library to your website as described in Chapter 1 - Getting 
Started with ASP.NET Web Pages, if you didn't add it previously. 
2.
In the App_Data folder, create a new a folder and name it UploadedFiles.  
3.
In the root, create a new file named FileUpload.cshtml.  
4.
Replace the default markup and code in the page with the following:  
@{ 
var fileName = ""; 
if (IsPost) { 
var fileSavePath = ""; 
var uploadedFile = Request.Files[0]; 
fileName = Path.GetFileName(uploadedFile.FileName); 
fileSavePath = Server.MapPath("~/App_Data/UploadedFiles/" + 
fileName); 
uploadedFile.SaveAs(fileSavePath); 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
123 
<!DOCTYPE html> 
<html> 
<head> 
<title>FileUpload - Single-File Example</title> 
</head> 
<body> 
<h1>FileUpload - Single-File Example</h1> 
@FileUpload.GetHtml( 
initialNumberOfFiles:1, 
allowMoreFilesToBeAdded:false, 
includeFormTag:true, 
uploadText:"Upload") 
@if (IsPost) { 
<span>File uploaded!</span><br/> 
</body> 
</html>
The body portion of the page uses the 
FileUpload
helper to create the upload box and buttons 
that you're probably familiar with: 
The properties that you set for the 
FileUpload
helper specify that you want a single box for the 
file to upload and that you want the submit button to read Upload. (You'll add more boxes later 
in the chapter.) 
When the user clicks Upload, the code at the top of the page gets the file and saves it. The 
Request
object that you normally use to get values from form fields also has a 
Files
array that 
contains the file (or files) that have been uploaded. You can get individual files out of specific 
positions in the array — for example, to get the first uploaded file, you get 
Request.Files[0]
, to 
get the second file, you get 
Request.Files[1]
, and so on. (Remember that in programming, 
counting usually starts at zero.) 
When you fetch an uploaded file, you put it in a variable (here, 
uploadedFile
) so that you can 
manipulate it. To determine the name of the uploaded file, you just get its 
FileName
property. 
However, when the user uploads a file, 
FileName
contains the user's original name, which 
includes the entire path. It might look like this: 
C:\Users\Public\Sample.txt 
You don't want all that path information, though, because that's the path on the user's 
computer, not for your server. You just want the actual file name (Sample.txt). You can strip out 
just the file from a path by using the 
Path.GetFileName
method, like this: 
Path.GetFileName(uploadedFile.FileName)
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
124 
The 
Path
object is a utility that has a number of methods like this that you can use to strip paths, 
combine paths, and so on. 
Once you've gotten the name of the uploaded file, you can build a new path for where you want 
to store the uploaded file in your website. In this case, you combine 
Server.MapPath
, the folder 
names (App_Data/UploadedFiles), and the newly stripped file name to create a new path. You 
can then call the uploaded file's 
SaveAs
method to actually save the file. 
5.
Run the page in a browser.  
6.
Click Browse and then select a file to upload.  
The text box next to the Browse button will contain the path and file location. 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
125 
7.
Click Upload.  
8.
In the website, right-click the project folder and then click Refresh.  
9.
Open the UploadedFiles folder. The file that you uploaded is in the folder.  
Letting Users Upload Multiple Files
In the previous example, you let users upload one file. But you can use the 
FileUpload
helper to upload 
more than one file at a time. This is handy for scenarios like uploading photos, where uploading one file 
at a time is tedious. (You can read about uploading photos in Chapter 9 - Working with Images.) This 
example shows how to let users upload two at a time, although you can use the same technique to 
upload more than that. 
1.
Add the ASP.NET Web Helpers Library to your website as described in Chapter 1 - Getting 
Started with ASP.NET Web Pages, if you haven't already. 
2.
Create a new page named FileUploadMultiple.cshtml. 
3.
Replace the default markup and code in the page with the following: 
@{ 
var message = ""; 
if (IsPost) { 
var fileName = ""; 
var fileSavePath = ""; 
int numFiles = Request.Files.Count; 
int uploadedCount = 0; 
for(int i =0; i < numFiles; i++) { 
var uploadedFile = Request.Files[i]; 
if (uploadedFile.ContentLength > 0) { 
fileName = Path.GetFileName(uploadedFile.FileName); 
fileSavePath = Server.MapPath("~/App_Data/UploadedFiles/" + 
fileName); 
uploadedFile.SaveAs(fileSavePath); 
uploadedCount++; 
message = "File upload complete. Total files uploaded: " + 
uploadedCount.ToString(); 
<!DOCTYPE html> 
<html> 
ASP.NET Web Pages Using The Razor Syntax 
Chapter 8 – Working with Files 
126 
<head><title>FileUpload - Multiple File Example</title></head> 
<body> 
<form id="myForm" method="post" 
enctype="multipart/form-data" 
action=""> 
<div> 
<h1>File Upload - Multiple-File Example</h1> 
@if (!IsPost) { 
@FileUpload.GetHtml( 
initialNumberOfFiles:2, 
allowMoreFilesToBeAdded:true, 
includeFormTag:true, 
addText:"Add another file", 
uploadText:"Upload") 
<span>@message</span> 
</div> 
</form> 
</body> 
</html>
In this example, the 
FileUpload
helper in the body of the page is configured to let users upload 
two files by default. Because 
allowMoreFilesToBeAdded
is set to 
true
, the helper renders a link 
that lets user add more upload boxes: 
To process the files that the user uploads, the code uses the same basic technique that you used 
in the previous example — get a file from 
Request.Files
and then save it. (Including the various 
things you need to do to get the right file name and path.) The innovation this time is that the 
user might be uploading multiple files and you don't know many. To find out, you can get 
Request.Files.Count
With this number in hand, you can loop through 
Request.Files
, fetch each file in turn, and save 
it. When you want to loop a known number of times through a collection, you can use a 
for
loop, like this: 
for(int i =0; i < numFiles; i++) { 
var uploadedFile = Request.Files[i]; 
if (uploadedFile.ContentLength > 0) { 
fileName = Path.GetFileName(uploadedFile.FileName); 
// etc. 
}
Documents you may be interested
Documents you may be interested