extract table data from pdf c# : How to add bookmarks to pdf document software application dll windows winforms web page web forms ebook_manual_en_dive-into-html59-part1842

there. Many tutorials are structured the same way. “Here’s some HTML markup. Just copy it
and paste it into your page.” at’s fine for small bits of content, but what if the markup
you’re pasting is an entire section? In that case, the tutorial will read something like this:
“Here’s some HTML markup. Just copy it, paste it into a text editor, and fix the heading tags
so they mat the nesting level of the corresponding heading tags in the page you’re pasting
it into.”
Let me put it another way.  HTML 4 has no generic heading element. It has six strictly
numbered heading elements, 
< h 1 1 >
< h h 6>
, whi must be nested in exactly that order. at
kind of sus, especially if your page is “assembled” instead of “authored.” And this is the
problem that HTML5 solves with the new sectioning elements and the new rules for the
existing heading elements. If you’re using the new sectioning elements, I can give you this
markup:
< ar t i c l l e>
< h h eader r >
< h h 1 1 > A syndi cat t ed post t < / / h h 1 >
< / / h h eader >
< p> L L or r em  i psum  bl l ah  bl l ah …< / / p>
< / / ar r t i cl l e>
and you can copy it and paste it  anywhere in your page without modification. e fact that it
contains an 
< h 1 1 >
element is not a problem, because the entire thing is contained within an
< ar t t i cl l e>
. e 
< ar r t t i cl l e>
element defines a self-contained node in the document outline,
the 
< h h 1 >
element provides the title for that outline node, and all the other sectioning
elements on the page will remain at whatever nesting level they were at before.
PROFESSOR MARKUP SAYS
PROFESSOR MARKUP SAYS
As with all things on the web, reality is a lile more
complicated than I’m leing on. e new “explicit”
sectioning elements (like 
< h h 1 1 >
wrapped in 
< ar r t i cl l e>
)
may interact in unexpected ways with the old “implicit”
sectioning elements (
< h h 1 >
< h 6>
by themselves). Your life
will be simpler if you use one or the other, but not both. If
you must use both on the same page, be sure to e the
diveintohtml5.org
WHAT DOES IT ALL MEAN?
How to add bookmarks to pdf document - 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; add bookmarks to pdf
How to add bookmarks to pdf document - 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
copy pdf bookmarks to another pdf; create bookmark pdf file
result in 
the HTML5 Outliner and verify that your
document outline makes sense.
DATES AND TIMES
DATES AND TIMES
is is exciting, right? I mean, it’s not “skiing down Mount
Everest naked while reciting the Star Spangled Banner
bawards” exciting, but it’s prey exciting as far as semantic
markup goes. Let’s continue with 
our example page. e next
line I want to highlight is this one:
< di v cl l ass= " " ent r y" " >
< p cl l ass= " " post - dat e" > O O ct t ober  22, 20 0 0 9 < < / / p>
< h h 2> T T r r avel  day< < / h 2>
< / / di v>
Same old story, right? A common paern — designating the
publication date of an article — that has no semantic markup
to ba it up, so authors resort to generic markup with custom
cl ass
aributes. Again, this is valid HTML5. You’re not required to ange it. But HTML5
does provide a specific solution for this case: the 
< t t i m m e>
element.
< t t i m m e dat t et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22"  pubdat t e> O O ct ober  22, 20 0 0 9 < < / t i m m e>
ere are three parts to a 
< t t i m m e>
element:
1.  A maine-readable timestamp
2.  Human-readable text content
3.  An optional 
pubdat e
flag
diveintohtml5.org
WHAT DOES IT ALL MEAN?
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. Comments, forms and multimedia. Flatten visible layers. C#.NET DLLs: Compress PDF Document. Add necessary references: RasterEdge.Imaging.Basic.dll.
create pdf bookmarks online; how to add bookmarks to pdf files
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Add necessary references: how to split a PDF file into multiple ones by PDF bookmarks or outlines Split PDF Document into Multiple PDF Files Demo Code in VB.NET.
add bookmarks to pdf preview; excel print to pdf with bookmarks
In this example, the 
dat et t i m m e
aribute only specifies a date, not a time. e format is a
four-digit year, two-digit month, and two-digit day, separated by dashes:
< t t i m m e 
dat et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22"  pubdat t e> O O ct t ober  22, 20 0 0 9 < < / t i m m e>
If you want to include a time too, add the leer 
T
aer the date, then the time in 24-hour
format, then a timezone offset.
< t t i m m e dat t et t i m m e= "
20 0 0 9 - - 1 0 0 - - 22T T 1 1 3 :59 :47- - 0 4:0 0 0 "  pubdat t e>
O c t t ober  22, 20 0 0 0 9  1 1 :59 pm  E E D T
< / / t t i m m e>
(e date/time format is prey flexible. e HTML5 specification 
contains examples of valid
date/time strings.)
Notice I anged the text content — the stuff between 
< t t i m m e>
and 
< / t t i m m e>
— to mat the
maine-readable timestamp. is is not actually required. e text content can be anything
you like, as long as you provide a maine-readable date/timestamp in the 
dat et i m m e
aribute. So this is valid HTML5:
< t t i m m e dat t et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22" " >
l ast  T T h h ur r sday< / t t i m m e>
And this is also valid HTML5:
< t t i m m e dat t et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22" " > < < / t t i m m e>
e final piece of the puzzle here is the 
pubdat e
aribute. It’s a Boolean aribute, so just
add it if you need it, like this:
< t t i m m e dat t et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22"  
pubdat e> O O ct t ober  22, 20 0 0 9 < < / t i m m e>
If you dislike “naked” aributes, this is also equivalent:
< t t i m m e dat t et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22"  
pubdat e= " " pubdat e" " > O O c t t ober  22,
20 0 0 9 < < / / t t i m m e>
diveintohtml5.org
WHAT DOES IT ALL MEAN?
C# PDF File Split Library: Split, seperate PDF into multiple files
Add necessary references: codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines Split PDF Document into Multiple PDF Files in C#.
bookmarks pdf reader; add bookmarks to pdf reader
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Compress & decompress PDF document file while maintaining original content of target PDF document file. Remove bookmarks, annotations, watermark, page labels
convert excel to pdf with bookmarks; pdf create bookmarks
What does the 
pubdat e
aribute mean? It means one of two things. If the 
< t t i m m e>
element
is in an 
< ar t i c l l e>
element, it means that this timestamp is the publication date of the
article. If the 
< t t i m m e>
element is not in an 
< ar r t i cl l e>
element, it means that this timestamp
is the publication date of the entire document.
Here’s the entire article, reformulated to take full advantage of HTML5:
< ar t i c l l e>
< h h eader r >
< t t i m m e dat t et t i m m e= " " 20 0 0 9 - - 1 0 0 - - 22"  pubdat t e>
O c t t ober  22, 20 0 0 0 9
< / / t t i m m e>
< h h 1 1 >
< a h h r ef= " " #"
r el = " " book m m ar k "
t i t t l e= " " l i nk  t t o t t h i s post t " >
T r r avel  day
< / / a>
< / / h h 1 >
< / / h h eader >
< p> L L or r em  i psum  dol l or  si t  am m et t …< < / / p>
< / / ar r t i cl l e>
NAVIGATION
NAVIGATION
One of the most important parts of any
web site is the navigation bar. CNN.com
has “tabs” along the top of ea page that
link to the different news sections — “Te,”
“Health,” “Sports,” 
&
c. Google sear results
pages have a similar strip at the top of the
diveintohtml5.org
WHAT DOES IT ALL MEAN?
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Insert and add text to any page of PDF document with defined location;
convert word to pdf with bookmarks; pdf bookmark editor
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
toolkit SDK, preserves all the original anchors, links, bookmarks and font How to Use C#.NET Demo Code to Convert PDF Document to HTML5 Add necessary references
create bookmarks pdf file; copy pdf bookmarks
page to try your sear in different Google
services — “Images,” “Video,” “Maps,” 
&
c.
And 
our example page has a navigation bar
in the header that includes links to different
sections of our hypothetical site — “home,”
“blog,” “gallery,” and “about.”
is is how the navigation bar was
originally marked up:
< di v i d= " " nav" >
< ul >
< l l i > < < a h h r ef= " " #" " > h h om m e< < / a> < < / l l i >
< l l i > < < a h h r ef= " " #" " > bl l og< / a> < < / l l i >
< l l i > < < a h h r ef= " " #" " > gal l l l er y< / a> < < / l i >
< l l i > < < a h h r ef= " " #" " > about t < / / a> < < / / l l i >
< / / ul l >
< / / di v>
Again, this is valid HTML5. But while it’s marked up as a list of four items, there is nothing
about the list that tells you that it’s part of the site navigation. Visually, you could guess that
by the fact that it’s part of the page header, and by reading the text of the links. But
semantically, there is nothing to distinguish this list of links from any other.
Who cares about the semantics of site navigation? For one, 
people with disabilities. Why is
that? Consider this scenario: your motion is limited, and using a mouse is difficult or
impossible. To compensate, you might use a browser add-on that allows you to jump to (or
jump past) major navigation links. Or consider this: if your sight is limited, you might use a
dedicated program called a “screenreader” that uses text-to-spee to speak and summarize
web pages. Once you get past the page title, the next important pieces of information about a
page are the major navigation links. If you want to navigate quily, you’ll tell your
screenreader to jump to the navigation bar and start reading. If you want to browse quily,
you might tell your screenreader to jump over the navigation bar and start reading the main
content. Either way, being able to determine navigation links programmatically is important.
So, while there’s nothing wrong with using 
< di v i d= " " nav" >
to mark up your site
diveintohtml5.org
WHAT DOES IT ALL MEAN?
How to C#: Basic SDK Concept of XDoc.PDF for .NET
Document Protect. You may add PDF document protection functionality into your C# program. OutLines. This class describes bookmarks in a PDF document.
pdf bookmark; add bookmark to pdf reader
XDoc.Excel for .NET, Comprehensive .NET Excel Imaging Features
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Excel to PDF; Convert Excel to HTML5; Convert Add a blank page or multiple pages to
bookmarks pdf files; bookmark page in pdf
navigation, there’s nothing particularly right about it either. It’s suboptimal in ways that affect
real people. HTML5 provides a semantic way to mark up navigation sections: the 
< nav>
element.
< n av>
< ul >
< l l i > < < a h h r ef= " " #" " > h h om m e< < / a> < < / l l i >
< l l i > < < a h h r ef= " " #" " > bl l og< / a> < < / l l i >
< l l i > < < a h h r ef= " " #" " > gal l l l er y< / a> < < / l i >
< l l i > < < a h h r ef= " " #" " > about t < / / a> < < / / l l i >
< / / ul l >
< / / nav>
ASK PROFESSOR MARKUP
ASK PROFESSOR MARKUP
Q: Are 
skip links compatible with the 
< nav>
element? Do I still need skip links in HTML5?
A: Skip links allow readers to skip over
navigation sections. ey are helpful for
disabled users who use third-party soware to
read a web page aloud and navigate it without
a mouse. (
Learn how and why to provide skip
links.)
Once screenreaders are updated to recognize the
< nav>
element, skip links will become
obsolete, since the screenreader soware will
be able to automatically offer to skip over a
navigation section marked up with the 
< nav>
element. However, it will be a while before all
the disabled users on the web upgrade to
HTML5-savvy screenreader soware, so you
should continue to provide your own skip links
to jump over 
< nav>
sections.
diveintohtml5.org
WHAT DOES IT ALL MEAN?
FOOTERS
FOOTERS
At long last, we have arrived at the end of 
our example page. e last thing I want to talk
about is the last thing on the page: the footer. e footer was originally marked up like this:
< di v i d= " " foot er r " " >
< p> &#1 1 67;< < / / p>
< p> &#1 1 69 ; 20 0 0 1 &#821 1 1 1 ;9  < < a h h r r ef= " " #" > M M ar k  P P i l l g r r i m m < < / / a> < < / / p>
< / / di v>
is is valid HTML5. If you like it, you can keep it. But  HTML5 provides a more specific
element for this: the 
< foot er r >
element.
< foot er >
< p> &#1 1 67;< < / / p>
< p> &#1 1 69 ; 20 0 0 1 &#821 1 1 1 ;9  < < a h h r r ef= " " #" > M M ar k  P P i l l g r r i m m < < / / a> < < / / p>
< / / foot er r >
What’s appropriate to put in a 
< foot t er >
element? Probably whatever you’re puing in a
< di v i d= " " foot er " " >
now. OK, that’s a circular answer. But really, that’s it. e HTML5
specification says, “A footer typically contains information about its section su as who wrote
it, links to related documents, copyright data, and the like.” at’s what’s in this example page:
a short copyright statement and a link to an about-the-author page. Looking around at some
popular sites, I see lots of footer potential.
CNN has a footer that contains a copyright statement, links to translations, and links to
terms of service, privacy, “about us,” “contact us,” and “help” pages. All totally
diveintohtml5.org
WHAT DOES IT ALL MEAN?
appropriate 
< foot er >
material.
Google has a famously sparse home page, but at the boom of it are links to
“Advertising Programs,” “Business Solutions,” and “About Google”; a copyright statement;
and a link to Google’s privacy policy. All of that could be wrapped in a 
< foot er >
.
My weblog has a footer with links to my other sites, plus a copyright statement.
Definitely appropriate for a 
< foot er >
element. (Note that the links themselves should
not be wrapped in a 
< nav>
element, because they are not site navigation links; they are
just a collection of links to my other projects on other sites.)
Fat footers” are all the rage these days. Take a look at the footer on 
the W3C site. It contains
three columns, labeled “Navigation,” “Contact W3C,” and “W3C Updates.” e markup looks
like this, more or less:
< di v i d= " " w3 3 c_foot t er r " " >
< di v c l l ass= " " w3 c _foot t er - - nav" >
< h h 3 3 > Navi gat t i on< < / / h 3 >
< ul >
< l l i > < < a h h r ef= " " / " " > H H om m e< < / a> < < / l l i >  
< l l i > < < a h h r ef= " " / st andar ds/ " > S S t t andar ds< / a> < < / / l i >  
< l l i > < < a h h r ef= " " / par t i ci pat t e/ " " > P P ar r t t i ci pat t e< < / / a> < < / / l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / m em ber r sh h i p" " > M M em m ber r sh i p< < / / a> < < / / l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / " > About  W W 3 3 C C < / a> < < / l i >  
< / / ul l >
< / / di v>
< di v c l l ass= " " w3 c _foot t er - - nav" >
< h h 3 3 > C C ont act  W W 3 C C < < / h 3 3 >
< ul >
< l l i > < < a h h r ef= " " / C C onsor r t i um m / cont ac t t " > C C ont t ac t t < / a> < < / l l i >  
< l l i > < < a h h r ef= " " / H H el l p/ / " " > H H el p and FAQ< < / / a> < < / l l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / sup" > D D onat e< < / a> < < / l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / si t t ei n dex" " > S S i t t e M M ap< / a> < < / l i >  
< / / ul l >
< / / di v>
< di v c l l ass= " " w3 c _foot t er - - nav" >
< h h 3 3 > W W 3 3 C  U U pdat es< / h 3 3 >
< ul >
diveintohtml5.org
WHAT DOES IT ALL MEAN?
< l l i > < < a h h r ef= " " h t t t t p:/ / / / t wi t t t er r . . com m / / W 3 C C " " > T T wi t t t er r < < / a> < < / l i >
< l l i > < < a h h r ef= " " h t t t t p:/ / / / i dent t i . . ca/ / w3 c" > I I dent t i . . ca< / a> < < / l i >
< / / ul l >
< / / di v>
< p cl l ass= " " c opyr r i gh h t t " " > C C opyr i gh h t  © 20 0 0 0 9  W W 3 3 C C < / p>
< / / di v>
To convert this to semantic HTML5, I would make the following anges:
Convert the outer 
< di v i d= " " w3 3 c_foot t er r " " >
to a 
< foot er r >
element.
Convert the first two instances of 
< di v cl l ass= " " w3 3 c_foot t er r - n av" " >
to 
< n av>
elements, and the third instance to a 
< sect i on>
element.
Convert the 
< h 3 3 >
headers to 
< h 1 1 >
, since they’ll now ea be inside a sectioning
element. e 
< n av>
element creates a section in the document outline, just like the
< ar t t i cl l e>
element.
e final markup might look something like this:
< foot er >
< n av>
< h h 1 1 > Navi gat t i on
< / h 1 >
< ul >
< l l i > < < a h h r ef= " " / " " > H H om m e< < / a> < < / l l i >  
< l l i > < < a h h r ef= " " / st andar ds/ " > S S t t andar ds< / a> < < / / l i >  
< l l i > < < a h h r ef= " " / par t i ci pat t e/ " " > P P ar r t t i ci pat t e< < / / a> < < / / l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / m em ber r sh h i p" " > M M em m ber r sh i p< < / / a> < < / / l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / " > About  W W 3 3 C C < / a> < < / l i >  
< / / ul l >
< / / nav>
< n av>
< h h 1 1 > C C ont ac t  W W 3 C
< / h 1 1 >
< ul >
< l l i > < < a h h r ef= " " / C C onsor r t i um m / cont ac t t " > C C ont t ac t t < / a> < < / l l i >  
< l l i > < < a h h r ef= " " / H H el l p/ / " " > H H el p and FAQ< < / / a> < < / l l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / sup" > D D onat e< < / a> < < / l i >  
< l l i > < < a h h r ef= " " / C C onsor r t i um m / si t t ei n dex" " > S S i t t e M M ap< / a> < < / l i >  
diveintohtml5.org
WHAT DOES IT ALL MEAN?
< / / ul l >
< / / nav>
< sect i on>
< h h 1 1 > W W 3 3 C  U U pdat es
< / h 1 1 >
< ul >
< l l i > < < a h h r ef= " " h t t t t p:/ / / / t wi t t t er r . . com m / / W 3 C C " " > T T wi t t t er r < < / a> < < / l i >
< l l i > < < a h h r ef= " " h t t t t p:/ / / / i dent t i . . ca/ / w3 c" > I I dent t i . . ca< / a> < < / l i >
< / / ul l >
< / / sect i on>
< p cl l ass= " " c opyr r i gh h t t " " > C C opyr i gh h t  © 20 0 0 0 9  W W 3 3 C C < / p>
< / / foot er r >
FURTHER READING
FURTHER READING
Example pages used throughout this apter:
Original (HTML 4)
Modified (HTML5)
On aracter encoding:
e Absolute Minimum Every Soware Developer Absolutely, Positively Must Know
About Unicode and Character Sets (No Excuses!) by Joel Spolsky
On the Goodness of Unicode
On Character Strings, and 
Characters vs. Bytes by Tim
Bray
On enabling new HTML5 in Internet Explorer:
How to style unknown elements in IE by Sjoerd Visser
HTML5 shiv by John Resig
HTML5 enabling script by Remy Sharp
diveintohtml5.org
WHAT DOES IT ALL MEAN?
Documents you may be interested
Documents you may be interested