itextsharp add annotation to existing pdf c# : Add hyperlink in pdf Library SDK component asp.net wpf web page mvc 14817-part1764

Less common, but also available, is the ability to pick a specific week of a year with
<input type="week">
; see Figure 9-12.
Last but not least, you can pick a time with 
<input type="time">
, as  shown in
Figure 9-13.
Figure 9-9. A date picker
Figure 9-10. A date/time picker
Figure 9-11. A month picker
Date Pickers | 157
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
add url to pdf; pdf links
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 links to pdf acrobat; adding hyperlinks to pdf files
It’s likely that other browsers will eventually support these input types. In the mean-
time, just like 
type="email"
(see “Email Addresses” on page 150) and the other input
types, these form fields will be rendered as plain text boxes in browsers that don’t
recognize 
type="date"
and the other variants. If you like, you can simply use
<input type="date">
and friends, make Opera users happy, and wait for other browsers
to catch up. Alternatively, you can use 
<input type="date">
, detect whether the browser
has native support for date pickers (see “Input Types” on page 25), and fall back to a
scripted solution of your choice:
<form>
<input type="date">
</form>
...
<script>
var i = document.createElement("input");
i.setAttribute("type", "date");
if (i.type == "text") {
// No native date picker support :(
// Use Dojo/jQueryUI/YUI/Closure/some other solution to create one,
// then dynamically replace that <input> element.
}
</script>
Search Boxes
OK, this one is subtle. Well, the idea is simple enough, but the implementations may
require some explanation. Here goes....
Figure 9-12. A week picker
Figure 9-13. A time picker
158 | Chapter 9: A Form of Madness
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.
add links to pdf document; add link to pdf
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.
add links to pdf in acrobat; add links to pdf file
Search. Not just Google Search or Yahoo! Search. (Well, those too.) Think of any search
box, on any page, on any site. Amazon has a search box. Newegg has a search box.
Most blogs have a search box. How are they marked up? 
<input type="text">
, just like
every other text box on the Web. With HTML5, we can fix that:
<form>
<input name="q" type="search">
<input type="submit" value="Find">   
</form>
In some browsers, you won’t notice any difference from a regular text box. But if you’re
using Safari on Mac OS X, it will look like Figure 9-14.
Figure 9-14. A search box
Can you spot the difference? The input box has rounded corners! I know, I know, you
can hardly contain your excitement. But wait, there’s more! When you actually start
typing in the 
type="search"
box, Safari inserts a small “x” button on the right side of
the box. Clicking the “x” clears the contents of the field. (Google Chrome, which shares
much technology with Safari under the hood, also exhibits this behavior.) Both of these
small tweaks are done to match the look and feel of native search boxes in iTunes and
other Mac OS X client applications (Figure 9-15).
Figure 9-15. A focused search box
The Apple website uses 
<input type="search">
for its site-search box, to help give the
site a “Mac-like” feel. But there’s nothing Mac-specific about it. It’s just markup, so
each browser on each platform can choose to render the search box according to plat-
form-specific conventions. As with all the other new input types, browsers that don’t
recognize 
type="search"
will treat it like 
type="text"
, so there is absolutely no reason
not to start using 
type="search"
for all your search boxes today.
Search Boxes | 159
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
add url pdf; accessible links in 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 url link to pdf; active links in pdf
Professor Markup Says
Well, there is one reason you might not want to use 
<input type="search">
. Safari will
not apply the usual CSS styles to search fields. (And by “usual styles,” I mean basic
things like border, background color, background image, padding, etc.) But you do get
rounded corners!
Color Pickers
HTML5 also defines 
<input type="color">
, which lets you pick a color and returns
that color’s hexadecimal representation. No browser supports it yet, which is a shame,
because I’ve always loved the Mac OS color picker. Maybe someday.
And One More Thing...
In this chapter, I’ve talked about new input types and new features like autofocus form
fields, but I haven’t mentioned what is perhaps the most exciting part of HTML5 forms:
automatic input validation. Consider the common problem of entering an email ad-
dress into a web form. You probably have some client-side validation in JavaScript,
followed by server-side validation in PHP or Python or some other server-side scripting
language. There are two big problems with validating email addresses in JavaScript:
• A surprising number of your visitors (probably around 10 percent) won’t have
JavaScript enabled.
• You’ll get it wrong.
Seriously, you’ll get it wrong. Determining whether a random string of characters is a
valid email address is unbelievably complicated. The harder you look, the more com
plicated it gets. Did I mention it’s really, really complicated? Wouldn’t it be easier to
offload the entire headache to your browser?
The screenshot in Figure 9-16 is from Opera 10, although the functionality has been
present since Opera 9. The only markup involved is setting the 
type
attribute to
"email"
(see “Email Addresses” on page 150). When an Opera user tries to submit a
form with an 
<input type="email">
field, Opera automatically offers RFC-compliant
email validation, even if scripting is disabled.
Figure 9-16. Opera validates type=“email”
160 | Chapter 9: A Form of Madness
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:
add email link to pdf; add link to pdf acrobat
.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,
add hyperlink in pdf; add links to pdf in preview
Opera also offers validation of web addresses entered into 
<input type="url">
fields
and numbers in 
<input type="number">
fields. The validation of numbers even takes
into account the 
min
and 
max
attributes, so Opera will not let users submit the form if
they enter a number that is too large (Figure 9-17).
Unfortunately, no other browser supports automatic HTML5 form validation yet, so
you’re going to be stuck with script-based fallbacks for a little while.
Further Reading
Specifications and standards:
<input>
types
• The 
<input placeholder>
attribute
• The 
<input autofocus>
attribute
JavaScript libraries:
• Modernizr, an HTML5 detection library
Figure 9-17. Opera validates type=”number”
Further Reading | 161
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.
add hyperlinks pdf file; clickable links in pdf from word
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:
check links in pdf; add hyperlink to pdf in
Download from Library of Wow! eBook <www.wowebook.com>
CHAPTER 10
“Distributed,” “Extensibility,” and
Other Fancy Words
Diving In
There are over 100 elements in HTML5. Some are purely semantic (see Chapter 3), and
others are just containers for scripted APIs (see Chapter 4). Throughout the history of
HTML (see Chapter 1), standards wonks have argued about which elements should be
included in the language. Should HTML include a 
<figure>
element? A 
<person>
ele-
ment? How about a 
<rant>
element? Decisions are made, specs are written, authors
author, implementors implement, and the Web lurches ever forward.
Of course, HTML can’t please everyone. No standard can. Some ideas don’t make the
cut. For example, there is no 
<person>
element in HTML5. (There’s no 
<rant>
element
either, damn it!) There’s nothing stopping you from including a 
<person>
element in a
web page, but it won’t validate, it won’t work consistently across browsers (see “A
Long Digression into How Browsers Handle Unknown Elements” on page 42), and it
might conflict with future HTML specs if it’s added later.
So if making up your own elements isn’t the answer, what’s a semantically inclined
web author to do? There have been attempts to extend previous versions of HTML.
The most popular method is with microformats, which use the 
class
and 
rel
attributes
in HTML 4. Another option is RDFa, which was originally designed to be used in
XHTML (see “Postscript” on page 14) but is now being ported to HTML as well.
Both microformats and RDFa have their strengths and weaknesses. They take radically
different approaches toward the same goal: extending web pages with additional se-
mantics that are not part of the core HTML language. I don’t intend to turn this chapter
into a format flamewar. (That would definitely require a 
<rant>
element!) Instead, I
want to focus on a third option that is part of, and tightly integrated into, HTML5 itself:
microdata.
163
Download from Library of Wow! eBook <www.wowebook.com>
What Is Microdata?
Each word in the following sentence is important, so pay attention.
Professor Markup Says
Microdata annotates the DOM  with scoped name/value pairs from custom
vocabularies.
Now what does that mean? Let’s start from the end and work backward. Microdata
centers around custom vocabularies. Think of “the set of all HTML5 elements” as one
vocabulary. This vocabulary includes elements to represent a section or an article (see
“New Semantic Elements in HTML5” on page 41), but it doesn’t include elements to
represent a person or an event. If you want to represent a person on a web page, you’ll
need to define your own vocabulary. Microdata lets you do this. Anyone can define a
microdata vocabulary and start embedding custom properties in his own web pages.
The next thing to know about microdata is that it works with name/value pairs. Every
microdata vocabulary defines a set of named properties. For example, a Person vo-
cabulary could define properties like 
name
and 
photo
. To include a specific microdata
property on your web page, you provide the property name in a specific place. De-
pending on where you declare the property name, microdata has rules about how to
extract the property value. (More on this in the next section.)
Along with named properties, microdata relies heavily on the concept of “scoping.”
The simplest way to think of microdata scoping is to think about the natural
parent-child relationship of elements in the DOM. The 
<html>
element (see “The Root
Element” on page 33) usually contains two children, 
<head>
(see “The <head> Ele-
ment” on page 34) and 
<body>
. The 
<body>
element usually contains multiple children,
each of which may have child elements of its own. For example, your page might include
an 
<h1>
element within an 
<hgroup>
element within a 
<header>
element (see “Head-
ers” on page 45) within the 
<body>
element. Similarly, a data table might contain 
<td>
elements within 
<tr>
elements within a 
<table>
element (within the 
<body>
). Microdata
reuses the hierarchical structure of the DOM itself to provide a way to say “all the
properties within this element are taken from this vocabulary.” This allows you to use
several microdata vocabularies on the same page. You can even nest microdata vocab-
ularies within other vocabularies, all by reusing the natural structure of the DOM. (I’ll
show multiple examples of nested vocabularies throughout this chapter.)
I’ve already touched on the DOM, but let me elaborate on that. Microdata is about
applying additional semantics to data that’s already visible on your web page. Microdata
is not designed to be a standalone data format. It’s a complement to HTML. As you’ll
see in the next section, microdata works best when you’re already using HTML cor-
rectly, but the HTML vocabulary isn’t quite expressive enough. Microdata is great for
fine-tuning the semantics of data that’s already in the DOM. If the data you’re
164 | Chapter 10: “Distributed,” “Extensibility,” and Other Fancy Words
Download from Library of Wow! eBook <www.wowebook.com>
semantifying isn’t in the DOM, you should step back and reevaluate whether microdata
is the right solution.
Does Professor Markup’s statement make more sense now? I hope so. Let’s see how
this works in action.
The Microdata Data Model
Defining your own microdata vocabulary is easy. First you need a namespace, which
is just a URL. The namespace URL can point to a working web page, although that’s
not strictly required. Let’s say I want to create a microdata vocabulary that describes a
person. If I own the data-vocabulary.org domain, I’ll use the URL http://data-vocabu-
lary.org/Person as the namespace for my microdata vocabulary. That’s an easy way to
create a globally unique identifier: pick a URL on a domain that you control.
In this vocabulary, I need to define some named properties. Let’s start with three basic
properties:
name
(the user’s full name)
photo
(a link to a picture of the user)
url
(a link to a site associated with the user, like a blog or a Google profile)
Two of these properties are URLs, and the other is plain text. Each of them lends itself
to a natural form of markup, even before you start thinking about microdata or vo-
cabularies. Imagine that you have a profile page or an “about” page. Your name is
probably marked up as a heading, like an 
<h1>
element. Your photo is probably an
<img>
element, since you want people to see it. And any URLs associated with your
profile are probably already marked up as hyperlinks, because you want people to be
able to click them. For the sake of discussion, let’s say your entire profile is also wrapped
in a 
<section>
element to separate it from the rest of the page content. Thus:
<section>
<h1>Mark Pilgrim</h1>
<p><img src="http://www.example.com/photo.jpg" alt="[me smiling]"></p>
<p><a href="http://diveintomark.org/">weblog</a></p>
</section>
Microdata’s data model is name/value pairs. A microdata property name (like 
name
or
photo
or 
url
in this example) is always declared on an HTML element. The corre-
sponding property value is then taken from the element’s DOM. For most HTML el-
ements, the property value is simply the text content of the element. However, there
are a handful of exceptions, as Table 10-1 illustrates.
The Microdata Data Model | 165
Download from Library of Wow! eBook <www.wowebook.com>
Download from Library of Wow! eBook 
<www.wowebook.com>
Table 10-1. Where do microdata property values come from?
Element
Value
<meta>
content
attribute
<audio>
<embed>
<iframe>
<img>
<source>
<video>
src
attribute
<a>
<area>
<link>
href
attribute
<object>
data
attribute
<time>
datetime
attribute
All other elements
Text content
“Adding microdata” to your page is a matter of adding a few attributes to the HTML
elements you already have. The first thing you always do is declare which microdata
vocabulary you’re using, by adding an 
itemtype
attribute. The second thing you always
do is declare the scope of the vocabulary, using an 
itemscope
attribute. In this example,
all the data we want to semantify is in a 
<section>
element, so we’ll declare the
itemtype
and 
itemscope
attributes on the 
<section>
element:
<section itemscope itemtype="http://data-vocabulary.org/Person">
Your name is the first bit of data within the 
<section>
element. It’s wrapped in an
<h1>
element. The 
<h1>
element doesn’t require any special processing, so it falls under
the “all other elements” rule in Table 10-1, where the microdata property value is simply
the text content of an element (this would work equally well if your name was wrapped
in a 
<p>
<div>
, or 
<span>
element):
<h1 itemprop="name">Mark Pilgrim</h1>
In English, this says: “Here is the 
name
property of the 
http://data-vocabulary.org/
Person
vocabulary. The value of the property is 
Mark Pilgrim
.”
Next up is the 
photo
property. This is supposed to be a URL. According to Ta-
ble 10-1, the “value” of an 
<img>
element is its 
src
attribute. Hey look, the URL of your
profile photo is already in an 
<img src>
attribute! All you need to do is declare that the
<img>
element is the 
photo
property:
<p><img itemprop="photo"
src="http://www.example.com/photo.jpg"
alt="[me smiling]"></p>
166 | Chapter 10: “Distributed,” “Extensibility,” and Other Fancy Words
Download from Library of Wow! eBook <www.wowebook.com>
Documents you may be interested
Documents you may be interested