c# save as pdf : Convert word to pdf with bookmarks control Library platform web page asp.net wpf web browser ASPNETWebPagesWithRazorSyntax-Book21-part617

ASP.NET Web Pages Using The Razor Syntax 
Chapter 18 – Customizing Site-Wide Behavior 
207 
Layout = "~/_SiteLayout.cshtml"; 
Page.Title = "Authenticated Content"; 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
</head> 
<body> 
Thank you for authenticating!  
</body> 
</html> 
7.
Run Page.cshtml in a browser. The code redirects you to a login page. You must register before 
logging in. After you've registered and logged in, you can navigate to the page and view its 
contents. 
Creating More Readable and Searchable URLs 
The URLs for the pages in your site can have an impact on how well the site works. A URL that's 
"friendly" can make it easier for people to use the site. It can also help with search-engine optimization 
(SEO) for the site. ASP.NET websites include the ability to use friendly URLs automatically. 
About Routing 
ASP.NET lets you create meaningful URLs that describe user actions instead of just pointing to a file on 
the server. Compare these pairs of URLs for a fictional blog: 
http://www.contoso.com/Blog/blog.cshtml?categories=hardware 
http://www.contoso.com//Blog/blog.cshtml?startdate=2009-11-01&enddate=2009-11-30 
http://www.contoso.com/Blog/categories/hardware/ 
http://www.contoso.com/Blog/2009/November 
In the first pair, a user would have to know that the blog is displayed using the blog.cshtml page, and 
would then have to construct a query string that gets the right category or date range. The second set of 
examples is much easier to comprehend and create. 
The URLs for the first example also point directly to a specific file (blog.cshtml). If for some reason the 
blog were moved to another folder on the server, or if the blog were rewritten to use a different page, 
the links would be wrong. The second set of URLs doesn't point to a specific page, so even if the blog 
implementation or location changes, the URLs would still be valid. 
In ASP.NET, you can create friendlier URLs like those in the above examples because ASP.NET uses 
routing. Routing creates logical mapping from a URL to a page (or pages) that can fulfill the request. 
Because the mapping is logical (not physical, to a specific file), routing provides great flexibility in how 
you define the URLs for your site. 
Convert word to pdf with 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
delete bookmarks pdf; how to bookmark a pdf page
Convert word to pdf with 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
export excel to pdf with bookmarks; pdf create bookmarks
ASP.NET Web Pages Using The Razor Syntax 
Chapter 18 – Customizing Site-Wide Behavior 
208 
How Routing Works 
When ASP.NET processes a request, it reads the URL to determine how to route it. ASP.NET tries to 
match individual segments of the URL to files on disk, going from left to right. If there's a match, 
anything remaining in the URL is passed to the page as path information. For example, imagine the 
following folder structure in a website: 
And imagine that someone makes a request using this URL: 
http://www.contoso.com/a/b/c 
The search goes like this: 
1.
Is there a file with the path and name of /a/b/c.cshtml? If so, run and pass no information. 
Otherwise ... 
2.
Is there a file with the path and name of /a/b.cshtml? If so, use that and pass it the information 
c to it. Otherwise … 
3.
Is there a file with the path and name of /a.cshtml? If so, run that page and pass the information 
b/c to it. 
If the search found no exact matches for .cshtml files in their specified folders, ASP.NET continues 
looking for these files in turn: 
4.
/a/b/c/default.cshtml (no path information). 
5.
/a/b/c/index.cshtml (no path information). 
Note   To be clear, requests for specific pages (that is, requests that include the .cshtml filename 
extension) work just like you'd expect. A request like http://www.contoso.com/a/b.cshtml will run 
the page b.cshtml just fine.  
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. Comments, forms and multimedia. Convert smooth lines to curves. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project.
excel pdf bookmarks; adding bookmarks in pdf
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.
create bookmarks pdf; auto bookmark pdf
ASP.NET Web Pages Using The Razor Syntax 
Chapter 18 – Customizing Site-Wide Behavior 
209 
Inside a page, you can get the path information via the page's 
UrlData
property, which is a dictionary. 
Imagine that you have a file named ViewCustomers.cshtml and your site gets this request: 
http://mysite.com/myWebSite/ViewCustomers/1000 
As described in the rules above, the request will go to your page. Inside the page, you can use code like 
the following to get and display the path information (in this case, the value "1000"): 
<!DOCTYPE html> 
<html> 
<head> 
<title>URLData</title> 
</head> 
<body> 
Customer ID: @UrlData[0].ToString() 
</body> 
</html> 
Note   Because routing doesn't involve complete file names, there can be ambiguity if you have 
pages that have the same name but different file-name extensions (for example, MyPage.cshtml 
and MyPage.html). In order to avoid problems with routing, it's best to make sure that you don't 
have pages in your site whose names differ only in their extension.  
Additional Resources 
ASP.NET Web Pages with Razor Syntax Reference 
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Demo Code in VB.NET. The following VB.NET codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
convert word to pdf with bookmarks; how to bookmark a pdf document
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. Comments, forms and multimedia. Hidden layer content. Convert smooth lines to curves. Flatten visible layers. C#.NET DLLs: Compress PDF Document.
create bookmarks in pdf; create pdf bookmarks
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
210 
Appendix 
ASP.NET Quick API Reference  
This page contains a list with brief examples of the most commonly used objects, properties, and 
methods for programming ASP.NET Web Pages with Razor syntax. 
For API reference documentation, see the ASP.NET Web Pages Reference Documentation on MSDN. 
This appendix contains reference information for the following: 
Classes 
Data 
Helpers 
Classes 
AsBool(), AsBool(true|false)
Converts a string value to a Boolean value (true/false). Returns false or the specified value if the string 
does not represent true/false. 
bool b = stringValue.AsBool(); 
AsDateTime(), AsDateTime(
value
)
Converts a string value to date/time. Returns 
DateTime.MinValue
or the specified value if the string 
does not represent a date/time. 
DateTime dt = stringValue.AsDateTime(); 
AsDecimal(), AsDecimal(
value
)
Converts a string value to a decimal value. Returns 0.0 or the specified value if the string does not 
represent a decimal value. 
decimal d = stringValue.AsDecimal(); 
AsFloat(), AsFloat(
value
)
Converts a string value to a float. Returns 0.0 or the specified value if the string does not represent a 
decimal value. 
float d = stringValue.AsFloat(); 
AsInt(), AsInt(
value
)
Converts a string value to an integer. Returns 0 or the specified value if the string does not represent an 
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
it extremely easy for C# developers to convert and transform document file, converted by C#.NET PDF to HTML all the original anchors, links, bookmarks and font
how to bookmark a pdf file in acrobat; add bookmarks to pdf
XDoc.Word for .NET, Advanced .NET Word Processing Features
Create Word from PDF; Create Word from OpenOffice (.odt); More about Word SDK Word Export. Convert Word to PDF; Convert Word to HTML5; Convert Word to Tiff; Convert
creating bookmarks in pdf files; copy bookmarks from one pdf to another
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
211 
integer. 
int i = stringValue.AsInt(); 
Href(
path
[, param1 [, param2]]
)
Creates a browser-compatible URL from a local file path, with optional additional path parts. 
<a href="@Href("~/Folder/File")">Link to My File</a>  
<a href="@Href("~/Product", "Tea")">Link to Product</a> 
Html.Raw(
value
)
Renders value as HTML markup instead of rendering it as HTML-encoded output. 
@* Inserts markup into the page. *@ 
@Html.Raw("<div>Hello <em>world</em>!</div>") 
IsBool(), IsDateTime(), IsDecimal(), IsFloat(), IsInt()
Returns true if the value can be converted from a string to the specified type. 
var isint = stringValue.IsInt(); 
IsEmpty()
Returns true if the object or variable has no value. 
if (Request["companyname"].IsEmpty()) { 
@:Company name is required.<br /> 
IsPost
Returns true if the request is a POST. (Initial requests are usually a GET.) 
if (IsPost) { Response.Redirect("Posted"); } 
Layout
Specifies the path of a layout page to apply to this page. 
Layout = "_MyLayout.cshtml"; 
PageData[
key
], PageData[
index
], Page
Contains data shared between the page, layout pages, and partial pages in the current request. You can 
use the dynamic 
Page
property to access the same data, as in the following example: 
PageData["FavoriteColor"] = "red"; 
PageData[1] = "apples"; 
Page.MyGreeting = "Good morning"; 
// Displays the value assigned to PageData[1] in the page. 
@Page[1] 
C# Word - Convert Word to HTML in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB toolkit SDK, preserves all the original anchors, links, bookmarks and font C#: Convert Word document to HTML5 files.
split pdf by bookmark; how to add bookmark in pdf
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; PDF Export. Convert PDF to Word (.docx); Convert PDF to HTML; Convert PDF to
bookmarks in pdf; convert excel to pdf with bookmarks
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
212 
// Displays the value assigned to Page.MyGreeting.  
@Page.MyGreeting 
RenderBody()
(Layout pages) Renders the content of a content page that is not in any named sections. 
@RenderBody() 
RenderPage(
path
,
values
)
RenderPage(
path[, param1 [, param2]]
)
Renders a content page using the specified path and optional extra data. You can get the values of the 
extra parameters from 
PageData
by position (example 1) or key (example 2). 
RenderPage("_MySubPage.cshtml", "red", 123, "apples")  
RenderPage("_MySubPage.cshtml", new { color = "red", number = 123, food = "apples" }) 
RenderSection(
sectionName [, required = 
true|false
]
)
(Layout pages) Renders a content section that has a name. Set required to false to make a section 
optional. 
@RenderSection("header") 
Request.Cookies[
key
]
Gets or sets the value of an HTTP cookie. 
var cookieValue = Request.Cookies["myCookie"].Value; 
Request.Files[
key
]
Gets the files that were uploaded in the current request. 
Request.Files["postedFile"].SaveAs(@"MyPostedFile"); 
Request.Form[
key
]
Gets data that was posted in a form (as strings). 
Request[
key
]
checks both the 
Request.Form
and the 
Request.QueryString
collections. 
var formValue = Request.Form["myTextBox"]; 
// This call produces the same result. 
var formValue = Request["myTextBox"]; 
Request.QueryString[
key
]
Gets data that was specified in the URL query string. 
Request[
key
]
checks both the 
Request.Form
and 
the 
Request.QueryString
collections.  
var queryValue = Request.QueryString["myTextBox"]; 
// This call produces the same result.   
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
213 
var queryValue = Request["myTextBox"]; 
Request.Unvalidated(
key
Request.Unvalidated().QueryString|Form|Cookies|Headers[
key
]
Selectively disables request validation for a form element, query-string value, cookie, or header value. 
Request validation is enabled by default and prevents users from posting markup or other potentially 
dangerous content. 
// Call the method directly to disable validation on the specified item from one of the 
Request collections. 
Request.Unvalidated("userText"); 
// You can optionally specify which collection the value is from.  
var prodID = Request.Unvalidated().QueryString["productID"]; 
var richtextValue = Request.Unvalidated().Form["richTextBox1"];  
var cookie = Request.Unvalidated().Cookies["mostRecentVisit"]; 
Response.AddHeader(
name
value
)
Adds an HTTP server header to the response.  
// Adds a header that requests client browsers to use basic authentication. 
Response.AddHeader("WWW-Authenticate", "BASIC"); 
Response.OutputCache(
seconds
[, sliding] [, varyByParams]
)
Caches the page output for a specified time. Optionally set sliding to reset the timeout on each page 
access and varyByParams to cache different versions of the page for each different query string in the 
page request. 
Response.OutputCache(60); 
Response.OutputCache(3600, true); 
Response.OutputCache(10, varyByParams : new[] {"category","sortOrder"}); 
Response.Redirect(
path
)
Redirects the browser request to a new location. 
Response.Redirect("~/Folder/File"); 
Response.SetStatus(
httpStatusCode
)
Sets the HTTP status code sent to the browser. 
Response.SetStatus(HttpStatusCode.Unauthorized); 
Response.SetStatus(401); 
Response.WriteBinary(
data
[, mimetype]
)
Writes the contents of data to the response with an optional MIME type. 
Response.WriteBinary(image, "image/jpeg"); 
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
214 
Response.WriteFile(
file
)
Writes the contents of a file to the response. 
Response.WriteFile("file.ext"); 
@section(
sectionName
) { 
content
}
(Layout pages) Defines a content section that has a name. 
@section header { <div>Header text</div> } 
Server.HtmlDecode(
htmlText
)
Decodes a string that is HTML encoded. 
var htmlDecoded = Server.HtmlDecode("&lt;html&gt;"); 
Server.HtmlEncode(
text
)
Encodes a string for rendering in HTML markup. 
var htmlEncoded = Server.HtmlEncode("<html>"); 
Server.MapPath(
virtualPath
)
Returns the server physical path for the specified virtual path. 
var dataFile = Server.MapPath("~/App_Data/data.txt"); 
Server.UrlDecode(
urlText
)
Decodes text from a URL. 
var urlDecoded = Server.UrlDecode("url%20data"); 
Server.UrlEncode(
text
)
Encodes text to put in a URL. 
var urlEncoded = Server.UrlEncode("url data"); 
Session[
key
]
Gets or sets a value that exists until the user closes the browser. 
Session["FavoriteColor"] = "red"; 
ToString()
Displays a string representation of the object's value. 
<p>It is now @DateTime.Now.ToString()</p> 
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
215 
UrlData[
index
]
Gets additional data from the URL (for example, /MyPage/ExtraData). 
var pathInfo = UrlData[0]; 
WebSecurity.ChangePassword(
userName
currentPassword
newPassword
)
Changes the password for the specified user. 
var success = WebSecurity.ChangePassword("my-username","current-password", "new-password"); 
WebSecurity.ConfirmAccount(
accountConfirmationToken
)
Confirms an account using the account confirmation token. 
var confirmationToken = Request.QueryString["ConfirmationToken"];  
if(WebSecurity.ConfirmAccount(confirmationToken)) {  
//...  
WebSecurity.CreateAccount(
userName
password  
[, requireConfirmationToken = 
true|false
]
)
Creates a new user account with the specified user name and password. To require a confirmation 
token, pass true for requireConfirmationToken. 
WebSecurity.CreateAccount("my-username", "secretpassword"); 
WebSecurity.CurrentUserId
Gets the integer identifier for the currently logged-in user. 
var userId = WebSecurity.CurrentUserId; 
WebSecurity.CurrentUserName
Gets the name for the currently logged-in user. 
var welcome = "Hello " + WebSecurity.CurrentUserName; 
WebSecurity.GeneratePasswordResetToken(
username  
[, tokenExpirationInMinutesFromNow]
)
Generates a password-reset token that can be sent in email to a user so that the user can reset the 
password. 
var resetToken = WebSecurity.GeneratePasswordResetToken("my-username"); 
var message = "Visit http://example.com/reset-password/" + resetToken +  
" to reset your password"; 
WebMail.Send(..., message); 
ASP.NET Web Pages Using The Razor Syntax 
Appendix – ASP.NET Quick API Reference 
216 
WebSecurity.GetUserId(
userName
)
Returns the user ID from the user name. 
var userId = WebSecurity.GetUserId(userName); 
WebSecurity.IsAuthenticated
Returns true if the current user is logged in. 
if(WebSecurity.IsAuthenticated) {...} 
WebSecurity.IsConfirmed(
userName
)
Returns true if the user has been confirmed (for example, through a confirmation email). 
if(WebSecurity.IsConfirmed("joe@contoso.com")) { ... } 
WebSecurity.IsCurrentUser(
userName
)
Returns true if the current user’s name matches the specified user name. 
if(WebSecurity.IsCurrentUser("joe@contoso.com")) { ... } 
WebSecurity.Login(
userName
,
password[, persistCookie]
)
Logs the user in by setting an authentication token in the cookie. 
if(WebSecurity.Login("username", "password")) { ... } 
WebSecurity.Logout()
Logs the user out by removing the authentication token cookie. 
WebSecurity.Logout(); 
WebSecurity.RequireAuthenticatedUser()
If the user is not authenticated, sets the HTTP status to 401 (Unauthorized). 
WebSecurity.RequireAuthenticatedUser(); 
WebSecurity.RequireRoles(
roles
)
If the current user is not a member of one of the specified roles, sets the HTTP status to 401 
(Unauthorized). 
WebSecurity.RequireRoles("Admin", "Power Users"); 
WebSecurity.RequireUser(
userId
WebSecurity.RequireUser(
userName
)
Documents you may be interested
Documents you may be interested