c# pdf processing : Exporting data from pdf to excel application control cloud windows azure wpf class meyn-antony_joseph_richard_thesis1-part1459

CHAPTER 1. INTRODUCTION
11
servers.
Below are a few citations from white papers that scientically predict the
problems that would be created with video on the Internet, especially Video-
on-Demand (VOD) services.
\It is estimated that in the United States by 2015, movie downloads and P2P
le sharing could be 100 exabytes. Video calling and virtual windows could
generate 400 exabytes. This roughly shows that in a period of 9 years the load
on the Internet is expanding to about 50 times, and of course infrastructure
would have to meet this growing demands, to avoid a crisis."[51]
Cisco systems have made their independent predictions in their white pa-
per ‘Entering the Zettabyte Era’[9]
 \Global Internet video trac surpassed global peer-to-peer
(P2P) trac in 2010, and by 2012 Internet video will ac-
count for over 50 percent of consumer Internet trac." As
anticipated, as of 2010 P2P trac is no longer the largest Internet traf-
c type, for the rst time in 10 years. Internet video was 40 percent of
consumer Internet in 2010 and will reach 50 percent by year-end 2012.
 \It would take over 5 years to watch the amount of video
that will cross global IP networks every second in 2015."
Every second, 1 million minutes of video content will cross the network
in 2015.
 \Video-on-demand trac will triple by 2015." The amount of
VOD trac in 2015 will be equivalent to 3 billion DVDs per month.
In view of the above predictions it is clear that if media streaming services
continue to be delivered in the traditional way, the coming data  ood will
require increasingly huge investments in infrastructure to keep up with the
demand. However as this is something we anticipate, we could denitely
prepare for it. A closer look at VOD streaming service, allows us to make
the following observations,
 It is a popular service via the browser.
 It is currently served over the client/server architecture, which makes
it a very costly service from the server perspective.
 Distributing the load on a P2P topology would help reduce the cost on
the server side.
Exporting data from pdf to excel - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
pdf data extractor; how to make pdf editable form reader
Exporting data from pdf to excel - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
how to type into a pdf form in reader; extract data from pdf forms
CHAPTER 1. INTRODUCTION
12
Having identied a solution, in the next chapter we look into existing works
that have tried to address this problem, and then conclude on how our solu-
tion would be dierent when implemented.
This thesis focuses on the feasibility of implementing a P2P based media
streaming solution native to the browser using the available HTML5 APIs.
We attempt to aid the community behind the standardization, by imple-
menting and analyzing each module using only HTML5 related technologies.
1.3 Structure of the thesis
The rest of the thesis is organized as follows. Chapter 2 gives an overview
of the related research and development in the eld of P2P media stream-
ing. Chapter 3 introduces HTML5 and then brie y talks about the various
HTML5 APIs that are used in the implementation of our a P2P based media
streaming solution. Chapter 4 gives a detailed description of the ‘Web Real-
Time Communication’ (WebRTC) specication, and introduces the various
working groups and APIs it covers. Chapter 5 describes the design of thevar-
ious modulesof our video streamingapplication, wethen introduce thedesign
of a video conferencing web application for the purpose of measuring the var-
ious experimental browser implementations of the new HTML5 APIs. Chap-
ter 6 describes the HTML5 and JavaScript implementations of the various
modules, and also evaluates their performance on the web browser. Chapter
7discusses our ndings and views of P2P with HTML5 from our experience
of the implementation and evaluation. Finally in Chapter 8 we conclude the
thesis and talk about the future work involved. The HTML5 and JavaScript
source code of our implementations can be found in Appendix A.
How to C#: Basic SDK Concept of XDoc.PDF for .NET
C# project, such as annotation creating, deleting, modifying, importing, exporting, and so a PDF document from file or query data and save the PDF document
online form pdf output; how to save editable pdf form in reader
VB.NET PDF: Basic SDK Concept of XDoc.PDF
project, such as annotation creating, deleting, modifying, importing, exporting, and so a PDF document from file or query data and save the PDF document.
extract pdf form data to xml; how to flatten a pdf form in reader
Chapter 2
Related Work
In this chapter we look at previous work on media streaming solutions and
solutions that have tried video streaming with P2P.
2.1 Video streaming
It is almost impossible today to nd an Internet user who has not heard of
the video sharing website YouTube
1
. YouTube popularized the concept of
sharing user generated videos, which could be viewed by anyone with an In-
ternet connection (before YouTube it was usually website owners who would
provide the content). This impact of this concept is enormous. It oers a
chance for anyone to become a celebrity overnight, almost literally. Eyewit-
ness videos transform ordinary people into reporters, amateur movie makers
have a platform where they can reach millions, and more importantly mil-
lions logon daily to be view these videos and be entertained. Even political
parties have started using these sites in their campaigns[55]. The prolifer-
ation of aordable cameras, camera phones and availability of inexpensive
tools for video editing and publishing also contribute to the success of the
YouTube phenomenon.
Today YouTube is one of the most popular sites on the Internet. In fact
as per the Alexa
2
trac rankings, it is the third most viewed site globally.
However hosting a site like this comes at a high cost. It was estimated that
YouTubespends roughly $1 million aday justfor server bandwidth in 2008[2].
This cost is only increasing daily, and is mainly due to the client/server ar-
chitecture that it runs on. P2P delivery of videos has been considered as
1
http://www.youtube.com
2
http://www.alexa.com
13
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
PDF Library in C#.NET Class. Best C#.NET PDF to Microsoft Office Word converter SDK for exporting PDF to Word in Visual Studio .NET.
extract table data from pdf to excel; save data in pdf form reader
C# PDF Convert to SVG SDK: Convert PDF to SVG files in C#.net, ASP
without quality loss. C# sample code for quick integration in .NET framework program for exporting PDF from SVG. In some situations
extract data from pdf file; pdf data extraction open source
CHAPTER 2. RELATED WORK
14
an alternative[57] to alleviate this problem. We discuss existing P2P im-
plementations that have tried to address this issue in the remainder of this
chapter.
2.2 Peer-to-Peer streaming technology
In the client/server architecture a le is hosted by a server for download. The
server has to serve every client download request by uploading the le within
the constraints of its available upload bandwidth. Thus the available upload
bandwidth is an upper limit in the design of the system, which becomes a
bottleneck as the number of client requests increase. P2P le sharing proto-
cols like BitTorrent are designed to overcome this problem.
Designing such a distributed system comes with a unique set of challenges,
which include the unreliability of client infrastructure, participation, ensur-
ing fairness to clients and the overhead of computation on the clients. But
if a system is designed to overcome these challenges, there are a lot of ben-
ets, such as quicker downloads and removal of bottlenecks on any central
infrastructure.
2.2.1 BitTorrent
BitTorrent is a P2P lesharing protocol that can be used toreducethe server
and network impact of distributing large les. It allows users to join a swarm
of hosts where download and upload of the le happens simultaneously. The
le is divided into small chunks known as pieces. A user who downloads a
piece then becomes a source for upload of that piece to the other users. Thus
the task of uploading the le is distributed among the clients who are also
downloading the le[11]. BitTorrent is one of the most successful implemen-
tations of a P2P le sharing service, and as the BitTorrent protocol forms
the underlying concept of our P2P Video streaming approach, it would help
to understand its design.
When a le is to be hosted the owner of the le rst goes through a publish-
ing process using the BitTorrent client (a standalone software application).
This process results in the creation of another small le which is called the
\torrent" le. The torrent le contains meta-data of the le being shared,
such as le length, name, hash for each piece and the tracker (the computer
that co-ordinates the le distribution) Uniform Resource Locators (URL).
The torrent le is usually then hosted on a regular web server for download.
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
Free evaluation library for exporting PDF to Text in both C#.NET WinForms application and ASP.NET WebForms. RasterEdge.XDoc.Excel.dll. RasterEdge.XDoc.PDF.dll.
extract table data from pdf; extract data from pdf to excel
C# Create PDF from images Library to convert Jpeg, png images to
Create PDF from images in both .NET WinForms and ASP.NET application. .NET converter control for exporting high quality PDF from images in C#.NET.
extract pdf data into excel; collect data from pdf forms
CHAPTER 2. RELATED WORK
15
Clients interested in downloading the le, download the respective torrent
le and open it with their BitTorrent client. The BitTorrent client contacts
the tracker to get a list of peers who have already downloaded the le com-
pletely or partially, and then connects to the various peers and requests the
pieces of the le. Since the le is downloaded from many sources it is impor-
tant to check the integrity of each downloading piece before merging it into
the main le, the hash information for each pieceis used for this this purpose.
BitTorrent redistributes the cost of upload to the downloaders, thus making
hosting a le with a potentially unlimited number of downloaders aordable.
It has been attempted by researchers before to nd practical techniques for
P2P le sharing before[8], however it was not previously deployed on a large
scale becauseof the logistical and robustness problems involved. Figuringout
which peers have what parts of the le and where the pieces should be sent
is dicult to do without incurring a huge overhead. In addition, peers rarely
connect for more than a few hours, and frequently for only a few minutes.
Finally, there is the general problem of fairness. These issues are addressed
by BitTorrent. A tracker addresses the problem of peers nding each other
by providing a random list of peers (who are downloading the le) to a newly
joined peer, and downloaders can make use of this to connect to each other.
Peers maximize their download rates using a variant of tit-for-tat. To coop-
erate peers upload and to not cooperate they ‘choke’ peers (‘choking’ is a
temporary refusal to upload). This also ensures fairness[10].
BitTorrent has also been found to be very eective in handling  ashcrowds,
aphenomenon in which a single le suddenly gains in popularity[35].
2.2.1.1 Streaming
BitTorrent at the basic level is focused on P2P le sharing rather than VOD
streaming. It thus provide no guarantees about the order and timeliness of
pieces to be downloaded. In VOD streaming however it is crucial that the
pieces arrive in order and it time (before the media player has to display
it). Also for online viewing of video (VOD), browsers are usually the choice
of medium and requiring a separate software application or a plugin, which
users would need to install for this purpose, hinders the user experience. We
discuss these issues and some of the existing implementations of streaming
solutions in the next section.
VB.NET PDF - Convert PDF with VB.NET WPF PDF Viewer
Data. Data: Auto Fill-in Field Data. Field: Insert PDF, VB.NET Word, VB.NET Excel, VB.NET part illustrates some conversion tabs and features for PDF exporting.
pdf form data extraction; extract pdf data to excel
C# WPF PDF Viewer SDK to convert and export PDF document to other
Data. Data: Auto Fill-in Field Data. Field: Insert PDF, VB.NET Word, VB.NET Excel, VB.NET part illustrates some conversion tabs and features for PDF exporting.
flatten pdf form in reader; how to extract data from pdf to excel
CHAPTER 2. RELATED WORK
16
2.2.2 VOD solutions
To address the limitations of the basic BitTorrent protocol with regard to
video streaming, several protocols have been introduced thatextend the basic
BitTorrent protocol. These solutions along with the implementations ofthese
protocols are discussed here. They can be classied as ‘Native applications’
and ‘Browser based solutions’.
2.2.2.1 Native applications
Tribler[36] is a BitTorrent based client application that has Video on De-
mand support. It is supported by the European Union 7th framework re-
search program
3
,with prior funding through research grants of the I-Share
project, STW project and P2P-Next.
Tribler usesan overlay network for contentsearching, which makes itindepen-
dent of external websites. The platform that Tribler uses was developed by
P2P-Next and enables P2P based delivery of VOD and live streaming[30][29].
The Give-to-Get VODalgorithm used herediscourages free-ridingby reward-
ing peers which forward data to others. The peers thatforward the most data
will be provided with a better quality of service by their neighbours.TheGive-
to-Get algorithm also includes a piece-picking policy in which sets of pieces
required for playback are divide into three subsets: high, medium and low
priority. This allows a graceful transition between downloading pieces re-
quired on the short-term and those required on the long term with a distinct
piece-picking policy within each priority set[28].
Spotify[24] is a streaming music service that uses P2P techniques. Data
is streamed from both servers and a P2P network. One of the distinguishing
features of theSpotify client is the low playback latency. It uses aproprietary
client and protocol. Audio streams are encoded using ‘Ogg Vorbis’ with a
default quality of q5, which has variable bitrate averaging roughly 160 kbps.
The protocol is unsuitable for live broadcasts. A client cannot upload a track
unless it has the whole track, this removes the overhead involved with com-
municating what parts of the track a client has. Clients use TCP between
pairs of hosts and keep a connection open to the Spotify server. Using TCP
simplies the protocol design and implementation as TCP is reliable and in-
cludes congestion control.
Spotify uses two mechanism to locate peers. The rst uses a tracker deployed
3
http://cordis.europa.eu/fp7/home_en.html
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
NET. Support exporting PDF to multiple image forms, including Jpg, Png, Bmp, Gif, Tiff, Bitmap, .NET Graphics, and REImage. Support
sign pdf form reader; extracting data from pdf forms
VB.NET Create PDF from images Library to convert Jpeg, png images
REImage. .NET converter control for exporting high quality PDF from images. Turn multiple image formats into one or multiple PDF file.
extract data from pdf c#; extracting data from pdf files
CHAPTER 2. RELATED WORK
17
in the Spotify back-end, this is similar to a BitTorrent tracker in function-
ality, the second mechanism uses a query in the overlay network. When a
client asks for peers who have a track, the tracker replies with a maximum
of 10 peers who are currently online. As clients keep a TCP connection open
to a Spotify server, the tracker has a list of peers who are online at any given
moment. Clients also send search requests to the overlay network, similar to
the method used in Gnutella[41].
2.2.2.2 Browser based solutions
Most web browsers support the ability to add specic functionality via plug-
ins or add-ons. One such plugin that implements P2P video streaming in a
browser is the SwarmPlugin
4
. This is a plugin available for ‘Firefox’ and
‘Internet Explorer’ browsers, that is based on the VLC media player and the
Tribler software (a European Union funded project). The SwarmPlugin has
been put to use by the ‘Wikimedia Foundation’[4].
Here the concept of P2P sharing brings in an additional advantage of dis-
tributing the content, rather than havingitstored on acentral server, thereby
reducing the cost of back-end infrastructure. An overview of the system is
presented in the Figure 2.1.
Figure 2.1: Architecture overview [4]
4
http://trial.p2p-next.org/Beta
CHAPTER 2. RELATED WORK
18
The design of this P2P solution addresses two key shortcomings of the
earlier BitTorrent design with regards to VOD.
 Low delay in getting the initial few pieces.
 Placing the implementation within the browser.
Since the browser is the main target for VOD streaming, creating a plugin
to implement this functionality is a step in the right direction. This plu-
gin has been developed (initially only for the Mozilla browser) based on the
P2P-Next[32] platform. The video player used is the HTML5 <video> tag,
which uses the native implementation of video player within the browser.
Although using a plugin is much more simpler than asking users to install a
native application, the drawback of this is that the plugin needs to be imple-
mented for every browser separately, and as a fallback the video would have
to be streamed over HTTP in the traditional way. Eectively this means
that users would need to install the plugin only to participate in the P2P
functionality. A more desirable approach would be have this functionality
implemented within the browser so that it is available by default.
With HTML5, browsers are making a concerted eort to be more standard-
ized, and are attempting to move away from plugins, and towards building
web applications that could be as powerful as native applications. If the
functionality that was previously oered by a plugin becomes part of the
functionality available in the browser itself, it is no longer considered a plu-
gin. For example, Microsoft has decided to move to a plugin-free browser
with the release of their ‘Windows 8’ operating system, and since Adobe
Flash is a heavily used plugin they have decided to incorporate the imple-
mentation of Adobe Flash into the browser code base. In order to get cross
browser support for native functionality, it is important to have a standard
in place and this is the role of HTML5.
To conclude, it is quite clear now that one solution to reduce the network
trac load on VOD streaming servers would be to employ a P2P approach
to distribute the network trac among the nodes. However currently there
exist no solutions thatsupport this functionality fully within the web browser
(which is the main medium used for viewing videos online) independent of
third-party plugins (which as mentioned before require user intervention to
install). In this thesis we attempt to design and implement an alternative
solution inside a web browser using only currently available HTML5 APIs to
achieve video streaming with P2P functionality.
Chapter 3
HTML5
In this chapter we look at the latest version of the ‘HyperText Markup Lan-
guage’ (HTML) which is known as HTML5. This is the fth revision of the
HTML standard and is currently under development. HTML5 is intended to
subsume the following three specications,
 HTML 4.01 (HTML4)[19]
 eXtensible HTML 1.1 (XHTML1)[56]
 DOM Level 2 HTML (DOM2HTML)[16]
HTML5 also standardizes many of the features that have been used by web
developers for years, but have not been formally documented by a standards
committee. For instance the ‘window’ object which has been implemented
by all web browsers has not been formally documented before the advent of
HTML5.
HTML5 like its predecessors is platform independent as it is implemented
within the web browser. The term HTML5 has been misunderstood, as it
has sometimes been referred to as a platform and sometimes as a standard
that is being designed and drafted. It is important to note that HTML5 is
acollection of individual features, certain of these features are still in very
early stages of being drafted. Therefore statements such as ‘HTML5 sup-
ported browsers’ are misleading, as most modern browsers support only a
portion of these individual HTML5 features currently. As per the World
Wide Web Consortium (W3C), in contrast to earlier HTML specication de-
velopment models, the HTML5 specication will not be considered nished
before there are at least two complete implementations of the specication.
The goal of this change is to ensure that the specication is implementable,
and usable by authors once it is nished.
19
CHAPTER 3. HTML5
20
HTML documents consists of elements and text, elements are usually repre-
sented as tags. HTML user agents namely web browsers, parse these doc-
uments to form the ‘Document Object Model’ (DOM). This is the internal
data structure that represents a HTML document. The public interface of
aDOM is specied in its ‘application programming interface’ (API). These
DOM APIs can be used to inspect or modify the Web page dynamically
within the browser by another programming language such as JavaScript.
Unlike earlier specications, the APIs and DOM are fundamental parts of
the HTML5 specication. In addition to many new syntactical features such
as a number of new tags, HTML5 also introduces several new APIs for de-
velopment of complex web applications.
3.1 Evolution
HTML was initially considered to be an application of ‘Standard Gener-
alized Markup Language’ (SGML) and was formally dened as such by the
‘Internet EngineeringTask Force’ (IETF). The IETF is an open standards or-
ganization that develops and promotes Internet standards. The IETF closed
its ‘HTML Working Group’ in 1996 after which the HTML specications
have been maintained (with inputs from commercial software vendors) by
the ‘World Wide Web Consortium’ (W3C), which is the main standards or-
ganization for the World Wide Web.
In 2004, a majority of the W3C members voted against continuing work
on HTML and decided to abandon it in favor of XML based technologies.
In response to this a community of people interested in evolving HTML
and related technologies, formed the ‘Web Hypertext Application Technol-
ogy Working Group’ (WHATWG), which continued on the task of evolving
HTML to what we now know as ‘HTML5’. Later on in 2006, the W3C indi-
cated interest in joining the HTML5 evolution and in 2007 started to work
together with the WHATWG. The HTML5 specication was adopted as the
starting point of the work of the new ‘HTML Working Group’ of the W3C.
Although the specication by and large is still being drafted and would take
afew more years to complete (‘Last Call’ was in May 2011 and 2014 is the
current target for ‘Recommendation’), quite a few of the sections are stable.
User agent browservendors have started implementingmost ofthese sections,
and some of the vendors have even implemented certain sections which are
not stable and still being drafted, for the purpose of providing feedback to
Documents you may be interested
Documents you may be interested