itextsharp add annotation to existing pdf c# : Add hyperlink in pdf Library software API .net winforms html sharepoint 1484-part1771

Placeholder Text
Besides new input types, HTML5 includes several small tweaks to existing forms. One
improvement is the ability to set placeholder text in an input field. Placeholder text is
displayed inside the input field as long as the field is empty and not focused. As soon
as you click on (or tab to) the input field, the placeholder text disappears. “Placeholder
Text” on page 147 has screenshots if you’re having trouble visualizing it.
Checking for placeholder support uses detection technique #2 (see “Detection Tech-
niques” on page 15). If your browser supports placeholder text in input fields, the DOM
object it creates to represent an 
<input>
element will have a 
placeholder
property (even
if you don’t include a 
placeholder
attribute in your HTML). If your browser doesn’t
support placeholder text, the DOM object it creates for an 
<input>
element will not
have a 
placeholder
property. Here’s how to check for placeholder support:
function supports_input_placeholder() {
var i = document.createElement('input');
return 'placeholder' in i;
}
Instead of writing this function yourself, you can use Modernizr (see “Modernizr: An
HTML5 Detection Library” on page 16) to detect support for placeholder text:
if (Modernizr.input.placeholder) {
// your placeholder text should already be visible!
} else {
// no placeholder support :(
// fall back to a scripted solution
}
Form Autofocus
Many websites use JavaScript to focus the first input field of a web form automatically.
For example, the home page of Google.com will autofocus the input box so you can
type your search keywords without having to position the cursor in the search box.
While this is convenient for most people, it can be annoying for power users or people
with special needs. If you press the space bar expecting to scroll the page, the page will
not scroll because the focus is already in a form input field. (Instead, you’ll type a space
in the field.) If you focus a different input field while the page is still loading, the site’s
autofocus script may “helpfully” move the focus back to the original input field upon
completion, disrupting your flow and causing you to type in the wrong place.
Because the autofocusing is done with JavaScript, it can be tricky to handle all of these
edge cases, and there is little recourse for people who don’t want a web page to “steal”
the focus.
Form Autofocus | 27
Download from Library of Wow! eBook <www.wowebook.com>
Add hyperlink in pdf - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
pdf reader link; add hyperlink pdf file
Add hyperlink in pdf - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
add hyperlinks pdf file; add link to pdf
To solve this problem, HTML5 introduces an 
autofocus
attribute on all web form
controls. The 
autofocus
attribute does exactly what it says on the tin: it moves the focus
to a particular input field. But because it’s just markup instead of a script, the behavior
will be consistent across all websites. Also, browser vendors (or extension authors) can
offer users a way to disable the autofocusing behavior.
Checking for autofocus support uses detection technique #2 (see “Detection Techni-
ques” on page 15). If your browser supports autofocusing web form controls, the DOM
object it creates to represent an 
<input>
element will have an 
autofocus
property (even
if you don’t include the 
autofocus
attribute in your HTML). If your browser doesn’t
support autofocusing web form controls, the DOM object it creates for an 
<input>
element will not have an 
autofocus
property. You can detect autofocus support with
this function:
function supports_input_autofocus() {
var i = document.createElement('input');
return 'autofocus' in i;
}
Instead of writing this function yourself, you can use Modernizr (see “Modernizr: An
HTML5 Detection Library” on page 16) to detect support for autofocused form fields:
if (Modernizr.input.autofocus) {
// autofocus works!
} else {
// no autofocus support :(
// fall back to a scripted solution
}
Microdata
Microdata is a standardized way to provide additional semantics in your web pages.
For example, you can use microdata to declare that a photograph is available under a
specific Creative Commons license. As you’ll see in Chapter 10, you can also use mi-
crodata to mark up an “About Me” page. Browsers, browser extensions, and search
engines can convert your HTML5 microdata markup into a vCard, a standard format
for sharing contact information. You can also define your own microdata vocabularies.
The HTML5 microdata standard includes both HTML markup (primarily for search
engines) and a set of DOM functions (primarily for browsers). There’s no harm in
including microdata markup in your web pages; it’s nothing more than a few well-
placed attributes, and search engines that don’t understand the microdata attributes
will just ignore them. But if you need to access or manipulate microdata through the
DOM, you’ll need to check whether the browser supports the microdata DOM API.
28 | Chapter 2: Detecting HTML5 Features
Download from Library of Wow! eBook <www.wowebook.com>
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
pdf links; add hyperlink pdf document
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
clickable links in pdf from word; add url pdf
Checking for HTML5 microdata API support uses detection technique #1 (see “De-
tection Techniques” on page 15). If your browser supports the HTML5 microdata API,
there will be a 
getItems()
function on the global 
document
object. If your browser
doesn’t support microdata, the 
getItems()
function will be undefined. You can check
for support as follows:
function supports_microdata_api() {
return !!document.getItems;
}
Modernizr does not yet support checking for the microdata API, so you’ll need to use
a function like this one.
Further Reading
Specifications and standards:
• The 
<canvas>
element
• The 
<video>
element
<input>
types
• The 
<input placeholder>
attribute
• The 
<input autofocus>
attribute
• HTML5 Storage
• Web workers
• Offline web applications
• The geolocation API
JavaScript libraries:
• Modernizr, an HTML5 detection library
• geo.js, a geolocation API wrapper
Other articles and tutorials:
• Video for Everybody!
• “A gentle introduction to video encoding”
• “Video type parameters”
• The Appendix of this book
Further Reading | 29
Download from Library of Wow! eBook <www.wowebook.com>
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# program. Hyperlink Edit. XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document
pdf hyperlinks; add links to pdf
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You may add PDF document protection functionality into your VB.NET program. Hyperlink Edit. XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF
add hyperlink to pdf online; add hyperlink to pdf in preview
Download from Library of Wow! eBook <www.wowebook.com>
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
pdf link open in new window; add hyperlink to pdf
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract hyperlink inside PDF. PDF Write. Insert text, text box into PDF. Edit, delete text from PDF. Insert images into PDF. Edit, remove images from PDF. Add,
change link in pdf file; adding hyperlinks to a pdf
CHAPTER 3
What Does It All Mean?
Diving In
This chapter will take an HTML page that has absolutely nothing wrong with it, and
improve it. Parts of it will become shorter. Parts will become longer. All of it will become
more semantic. It’ll be awesome.
Here  is  the  page  in  question: http://diveintohtml5.org/examples/blog-original.html.
Learn it. Live it. Love it. Open it in a new tab and don’t come back until you’ve hit
“View Source” at least once.
The Doctype
From the top:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
This is called the doctype. There’s a long history—and a black art—behind the doctype.
During the development of Internet Explorer 5 for Mac, Microsoft found itself with a
surprising problem. The upcoming version of its browser had improved its standards
support so much, older pages no longer rendered properly. Or rather, they rendered
properly (according to specifications), but people expected them to render improp-
erly. The pages themselves had been authored based on the quirks of the dominant
browsers of the day, primarily Netscape 4 and Internet Explorer 4. IE5/Mac was so
advanced, it actually broke the Web.
Microsoft came up with a novel solution. Before rendering a page, IE5/Mac looked at
the “doctype,” which is typically the first line of the HTML source (even before the
<html>
element). Older pages (that relied on the rendering quirks of older browsers)
generally didn’t have a doctype at all. IE5/Mac rendered these pages like older browsers
did. In order to “activate” the new standards support, web page authors had to opt in
by supplying the right doctype before the 
<html>
element.
31
Download from Library of Wow! eBook <www.wowebook.com>
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Export PowerPoint hyperlink to PDF. VB.NET Demo Code for Converting PowerPoint to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
active links in pdf; add hyperlinks to pdf
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Export PowerPoint hyperlink to PDF in .NET console application. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
change link in pdf; add a link to a pdf
This idea spread like wildfire, and soon all major browsers had two modes: “quirks
mode” and “standards mode.” Of course, this being the Web, things quickly got out
of hand. When Mozilla tried to ship Version 1.1 of its browser, it discovered that there
were pages being rendered in standards mode that were actually relying on one specific
quirk. Mozilla had just fixed its rendering engine to eliminate this quirk, and thousands
of pages broke all at once. Thus was created—and I am not making this up—“almost
standards mode”.
In his seminal work, “Activating Browser Modes with Doctype”, Henri Sivonen sum-
marizes the different modes:
Quirks Mode
In the Quirks mode, browsers violate contemporary Web format specifications in
order to avoid “breaking” pages authored according to practices that were preva-
lent in the late 1990s.
Standards Mode
In the Standards mode, browsers try to give conforming documents the specifica-
tion-wise correct treatment to the extent implemented in a particular browser.
HTML5 calls this mode the “no quirks mode.”
Almost Standards Mode
Firefox, Safari, Chrome, Opera (since 7.5) and IE8 also have a mode known as the
“Almost Standards mode,” which implements the vertical sizing of table cells tra-
ditionally and not rigorously according to the CSS2 specification. HTML5 calls
this mode the “limited quirks mode.”
You should read the rest of Henri’s article, because I’m simplifying im-
mensely here. Even in IE5/Mac, there were a few older doctypes that
didn’t count as far as opting into standards support. Over time, the list
of quirks grew, and so did the list of doctypes that triggered quirks mode.
The last time I tried to count, there were 5 doctypes that triggered almost
standards mode, and 73 that triggered quirks mode. But I probably
missed some, and I’m not even going to talk about the stuff that Internet
Explorer 8 does to switch between its four—four!—different rendering
modes. There’s  a  flowchart at http://hsivonen.iki.fi/doctype/ie8-mode
.png. Kill it. Kill it with fire.
Now then. Where were we? Ah yes, the doctype:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
This happens to be one of the 15 doctypes that trigger standards mode in all modern
browsers. There is nothing wrong with it. If you like it, you can keep it. Or you can
change it to the HTML5 doctype, which is shorter and sweeter and also triggers stand-
ards mode in all modern browsers.
32 | Chapter 3: What Does It All Mean?
Download from Library of Wow! eBook <www.wowebook.com>
This is the HTML5 doctype:
<!DOCTYPE html>
That’s it. Just 15 characters. It’s so easy, you can type it by hand and not screw it up.
Professor Markup Says
Your doctype needs to be on the first line of your HTML file. If there’s anything else
before it—even a single blank line—certain browsers will treat your page as if it has no
doctype at all. Without a doctype, the browser will render your page in quirks mode.
This can be a very difficult error to catch. Extra whitespace usually doesn’t matter in
HTML, so my eyes tend to just skip over it, but in this case it’s very important!
The Root Element
An HTML page is a series of nested elements. The entire structure of the page is like a
tree. Some elements are “siblings,” like two branches that extend from the same tree
trunk. Some elements can be “children” of other elements, like a smaller branch that
extends from a larger branch. (It works the other way too; an element that contains
other elements is called the “parent” node of its immediate child elements, and the
“ancestor” of its grandchildren.) Elements that have no children are called “leaf” nodes.
The outermost element, which is the ancestor of all other elements on the page, is called
the “root element.” The root element of an HTML page is always 
<html>
.
In our example page, the root element looks like this:
<html xmlns="http://www.w3.org/1999/xhtml"
lang="en"
xml:lang="en">
There is nothing wrong with this markup. Again, if you like it, you can keep it. It is
valid HTML5. But parts of it are no longer necessary in HTML5, so you can save a few
bytes by removing them.
The first thing to discuss is the 
xmlns
attribute. This is a vestige of XHTML 1.0. It says
that elements in this page are in the XHTML namespace, 
http://www.w3.org/1999/
xhtml
. But elements in HTML5 are always in this namespace, so you no longer need to
declare it explicitly. Your HTML5 page will work exactly the same in all modern
browsers, whether this attribute is present or not.
Dropping the 
xmlns
attribute leaves us with this root element:
<html lang="en" xml:lang="en">
The Root Element | 33
Download from Library of Wow! eBook <www.wowebook.com>
The two attributes here, 
lang
and 
xml:lang
, both define the language of this HTML
page. 
en
stands for “English.”* Why two attributes for the same thing? Again, this is a
vestige of XHTML. Only the 
lang
attribute has any effect in HTML5. You can keep the
xml:lang
attribute if you like, but if you do, you need to ensure that it contains the same
value as the 
lang
attribute:
To ease migration to and from XHTML, authors may specify an attribute in no name-
space with no prefix and with the literal localname “xml:lang” on HTML elements in
HTML documents, but such attributes must only be specified if a 
lang
attribute in no
namespace is also specified, and both attributes must have the same value when com-
pared in an ASCII case-insensitive manner. The attribute in no namespace with no prefix
and with the literal localname “xml:lang” has no effect on language processing.
Are you ready to drop it? It’s OK, just let it go. Going, going...gone! That leaves us with
this root element:
<html lang="en">
And that’s all I have to say about that.
The <head> Element
The first child of the root element is usually the 
<head>
element. The 
<head>
element
contains metadata—information about the page, rather than the body of the page itself.
(The body  of the page is,  unsurprisingly, contained in the 
<body>
element.) The
<head>
element itself is rather boring, and it hasn’t changed in any interesting way in
HTML5. The good stuff is what’s inside the 
<head>
element. And for that, we turn once
again to our example page:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My Weblog</title>
<link rel="stylesheet" type="text/css" href="style-original.css" />
<link rel="alternate" type="application/atom+xml"
title="My Weblog feed"
href="/feed/" />
<link rel="search" type="application/opensearchdescription+xml"
title="My Weblog search"
href="opensearch.xml"  />
<link rel="shortcut icon" href="/favicon.ico" />
</head>
First up: the 
<meta>
element.
* Not writing in English? Find your language code at http://www.w3.org/International/questions/qa-choosing
-language-tags.
34 | Chapter 3: What Does It All Mean?
Download from Library of Wow! eBook <www.wowebook.com>
Character Encoding
When you think of “text,” you probably think of “characters and symbols I see on my
computer screen.” But computers don’t deal in characters and symbols; they deal in
bits and bytes. Every piece of text you’ve ever seen on a computer screen is actually
stored in a particular character encoding. There are many different character encodings,
some optimized for particular languages like Russian or Chinese or English, and others
that can be used for multiple languages. Very roughly speaking, the character encoding
provides a mapping between the stuff you see on your screen and the stuff your com-
puter actually stores in memory and on disk.
In reality, it’s more complicated than that. Many characters are common to multiple
encodings, but each encoding may use a different sequence of bytes to actually store
those characters in memory or on disk. So, you can think of the character encoding as
a kind of decryption key for the text. Whenever someone gives you a sequence of bytes
and claims it’s “text,” you need to know what character encoding he used so you can
decode the bytes into characters and display them (or process them, or whatever).
So, how does your browser actually determine the character encoding of the stream of
bytes that a web server sends? I’m glad you asked. If you’re familiar with HTTP headers,
you may have seen a header like this:
Content-Type: text/html; charset="utf-8"
Briefly, this says that the web server thinks it’s sending you an HTML document, and
that it thinks the document uses the 
UTF-8
character encoding. Unfortunately, in the
whole magnificent soup of the World Wide Web, very few authors actually have control
over their HTTP servers. Think Blogger: the content is provided by individuals, but the
servers are run by Google. So HTML 4 provided a way to specify the character encoding
in the HTML document itself. You’ve probably seen this too:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Briefly, this says that the web author thinks she has authored an HTML document
using the 
UTF-8
character encoding.
Both of these techniques still work in HTML5. The HTTP header is the preferred
method, and it overrides the 
<meta>
tag if present. But not everyone can set HTTP
headers, so the 
<meta>
tag is still around. In fact, it got a little easier in HTML5. Now
it looks like this:
<meta charset="utf-8" />
The <head> Element | 35
Download from Library of Wow! eBook <www.wowebook.com>
This works in all browsers. How did this shortened syntax come about? Here is the
best explanation I could find:
The rationale for the 
<meta charset="">
attribute combination is that UAs already im-
plement it, because people tend to leave things unquoted, like:
<META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=ISO-8859-1>
There are even a few 
<meta charset>
test cases, if you don’t believe that browsers already
do this.
Ask Professor Markup
Q: I never use funny characters. Do I still need to declare my character encoding?
A: Yes! You should always specify a character encoding on every HTML page you serve.
Not specifying an encoding can lead to security vulnerabilities.
To sum up: character encoding is complicated, and it has not been made any easier by
several decades of poorly written software used by copy-and-paste–educated authors.
You should always specify a character encoding on every HTML document, or bad
things will happen. You can do it with the HTTP 
Content-Type
header, the 
<meta http-
equiv>
declaration, or the shorter 
<meta charset>
declaration, but please do it. The
Web thanks you.
Friends and (Link) Relations
Regular links (
<a href>
 simply point to another page.  Link relations are  a  way  to
explain why you’re pointing to another page. They finish the sentence “I’m pointing
to this other page because...”
• ...it’s a stylesheet containing CSS rules that your browser should apply to this
document.
• ...it’s a feed that contains the same content as this page, but in a standard sub-
scribable format.
• ...it’s a translation of this page into another language.
• ...it’s the same content as this page, but in PDF format.
• ...it’s the next chapter of an online book of which this page is also a part.
And so on. HTML5 breaks link relations into two categories:
Two categories of links can be created using the link element. Links to external re-
sources are links to resources that are to be used to augment the current document, and
hyperlink links are links to other documents. [...]
The exact behavior for links to external resources depends on the exact relationship, as
defined for the relevant link type.
36 | Chapter 3: What Does It All Mean?
Download from Library of Wow! eBook <www.wowebook.com>
Documents you may be interested
Documents you may be interested