c# axacropdf example : How to type into a pdf form in reader Library software component .net windows azure mvc HTML5_Case_Studies_full4-part1098

CS3: 5 
Figure 3. Collection browser and control widgets 
Figure 4. Image viewer and player controls widgets. 
Figure 5. Playlist and player controls widget. 
Audio and Video Players 
In the original Maavis application, audio and video players were created using a browser media 
player plug-in (VLC) while the XBL (XML Binding Language) standard was employed to make 
components out of HTML, CSS and script. Unfortunately XBL is not widely supported and the 
plug-in, while open source, is not available for all platforms. Until HTML5 provided the <audio> 
How to type into a pdf form in reader - 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
export pdf form data to excel spreadsheet; html form output to pdf
How to type into a pdf form in reader - 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 flatten a pdf form in reader; fill in pdf form reader
CS3: 6 
and <video> tags the only other solution was Flash, which is not available on some platforms
51
The prototype audio and video players build on the HTML5 elements by providing Maavis style 
controls that script their behaviour. 
Text to Speech 
An important feature of Maavis is the ability to read out screen titles and button labels using 
synthetic speech. Such text-to-speech support is usually provided by external assistive 
technology such as screen readers, but in this case it needs to be part of Maavis. As will be 
indicated in the section on Challenges below, there is no standard support for text-to-speech 
processing, so in the protoype we simply play pre-recorded audio using HTML5 audio. Maavis 
users have also requested a feature to record and play back audio in addition to automatic text-
to-speech processing, so part of this has been proven to work. 
Local and Session Storage 
Maavis must store a range of settings and values during its operation. For example, facilitators 
select the available media and configure options for the end-users such as colours used or if 
text is read aloud. Previously this data would have to be stored using cookies, or on a server, as 
the HTML model does not support storage between pages. HTML5 adds a number of new 
options for storage of name-value pairs that persist for as long as the browser is open, or 
longer. For the prototype we used local storage to keep values required by the running code. 
For example, a simple button colour theme selection feature has been implemented and the 
audio player uses session storage to keep track of the play/pause state and track.  
Future work will be to explore greater use of local and session storage, now that the developer 
has discovered how to work around for a bug in Firefox 7.0 which stopped local storage working 
when accessing local files as opposed to those served via a Web server. 
If the Wookie Widget server is used, then Widget preferences provide another storage solution. 
The advantage here is that state would be saved across different devices (at least if served by 
Wookie). A mixed model could work which falls back on local storage when not hosted by 
Wookie. This is an area for further development. 
4.  Impact 
This prototype demonstrates that a usable HTML5 version of Maavis can indeed be created. 
While there are problems still to be resolved, the rapid advancement of HTML, largely fuelled by 
the growing interest in HTML apps on both desktop and mobile platforms, means it is likely such 
problems will soon be resolved. Indeed Windows 8 will use HTML for applications
52
and 
GNOME has been looking at Web and desktop integration for some time
53
.  
The HTML5 version of Maavis has the potential to provide far wider and easier deployment 
options than the previous Windows-only version. Complexity of installation has been reduced, 
for example the need to install the VLC media player has been replaced by the HTML5 video 
and audio tags. As standards adoption progresses further alongside new technologies, we hope 
also to remove dependency on items such as Skype for video conferencing. 
When complete, the new simple-access Widgets will provide useful and accessible components 
that, in the previous version, were locked into the Maavis application. Of particular interest is the 
potential to embed the widgets, using the Wookie Project, in other applications such as VLEs 
(Moodle currently supported), CMSs (Drupal and Wordpress currently supported), social tools 
(Elgg
54
currently supported) and mobile campus information systems (such as Molly
55
and 
51
An interesting recent development is that Adobe has now removed support for Flash on 
mobile platforms, thus firmly encouraging HTML5 media deployment. Adobe’s official 
justification is the better support of HTML5 in mobile browsers. 
52
Microsoft shows off Windows 8's tablet UI. The Next Web, 2 June 2011. 
http://thenextweb.com/microsoft/2011/06/02/microsoft-shows-off-windows-8s-tablet-ui/ 
53
OnlineDesktop/Vision - GNOME Live! http://live.gnome.org/OnlineDesktop/Vision  
54
Elgg - Open Source Social Networking Engine, http://elgg.org/ 
55
Molly: The open source mobile portal, http://mollyproject.org/ 
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Description: Convert to PDF and save it into stream. Parameters: Name, Description, Valid Value. targetType, The target document type will be converted to.
can reader edit pdf forms; extract data from pdf c#
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Description: Convert to PDF/TIFF and save it into stream. Parameters: Name, Description, Valid Value. targetType, The target document type will be converted to.
export pdf data to excel; collect data from pdf forms
CS3: 7 
MyMobileBristol
56
). The team are also considering enhancements to the In-Folio e-Portfolio 
system from JISC TechDis
57
which focuses on supporting users with physical or learning 
disabilities.  
The reuse of code in this way has an impact on both the sustainability of Maavis and of those 
projects reusing our code. Project sustainability can be increased through having components 
that are of value to a wider range of projects and users. By building these widgets in a project 
with a focus on accessibility, we not only create reusable components but we ensure that 
practitioners reusing our code are, in turn, producing material more accessible to their users. 
This is particularly important as accessibility is often regarded as a niche market and is routinely 
assigned a low priority in application design. 
Furthermore, by adopting a standards-based implementation we ensure that Maavis will be able 
to reuse other HTML5 applications as they become available. For example, one of our team 
recently built an HTML5 widget that will display Open Document Format documents. This 
removes the need to install an office suite to read such documents. This widget can be 
incorporated into the HTML5 version of Maavis very quickly and easily. Similarly, using features 
provided by the Wookie Project it will also be easier to add community-sharing features that are 
planned for Maavis, such as providing shared family photo albums.  
As a result of this work, not only can the existing audiences be reached in more flexible ways, 
but new business models based on Maavis as an online service become possible. HTML5 will 
allow Maavis to  reach more users and developers, both of whom are necessary in order to 
make a success of open innovation in software through open development. This is an area that 
is being actively explored by the Maavis team with OpenDirective
58
 
5.  Challenges 
Browser Support for HTML5 
Perhaps the biggest challenge at present is the variation in browser support for HTML5 and 
related technologies. In fact, as HTML5 will never be a fully completed specification, but is, 
rather, a continuous evolution, this may never be completely resolved. Providing good fall-back 
behaviour for browsers with less than optimal support is complex and expensive work. 
Consequently, best-of-
breed HTML5 “boilerplate” solutions, with fall
-back operations, are being 
evaluated. Frameworks such has jQuery
59
and jQuery Mobile
60
which provide rich and fully 
tested UI components. Javascript and CSS libraries will also be used.  
Supporting variations in target browser and platform support is being targeted through 
progressive enhancement and responsive design techniques which aim to ensure a good user 
experience on widely varying equipment. This is an area that is rapidly evolving and requires 
testing on a wide range of devices, so wide that it will be difficult to test everything. The Rave in 
Context Project
61
, which began its development phase in September 2011 will further test and 
enhance the widgets developed in Maavis. Whilst this case study will not be able to report on 
this aspect of the project, we will be able to report on recommendations to the Rave in Context 
Project. 
There are many ways to decompose an application into reusable widgets and we have explored 
several in the prototype. There may be other, more appropriate decompositions, depending on 
reuse cases that can be determined while others are likely to be tried as a result of feedback 
and experience gained from using them.  
56
MyMobileBristol, http://mymobilebristol.com/ 
57
JISC TechDis In-Folio, 
http://www.jisctechdis.ac.uk/keyinitiatives/organisationaleffectiveness/enablingtechnology/infolio 
58
OpenDirective, http://www.opendirective.com/ 
59
jQuery, http://jquery.com/ 
60
jQuery Mobile, http://jquerymobile.com/ 
61
Rave in Context Project Plan, http://raveincontext.jiscinvolve.org/wp/2011/05/18/rave-in-
context-project-plan/ 
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Description: Convert to PDF/TIFF and save it into stream. Parameters: Name, Description, Valid Value. targetType, The target document type will be converted to.
how to fill out a pdf form with reader; java read pdf form fields
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Description: Convert to PDF/TIFF and save it into stream. Parameters: Name, Description, Valid Value. targetType, The target document type will be converted to.
edit pdf form in reader; cannot save pdf form in reader
CS3: 8 
Security Issue with Cross-domain Access 
In the prototype, widgets are represented by iframe elements which raised a number of issues.  
The browser security concept of same origin policy restricts access to DOM from script on 
pages in a different domain. When using several widgets, the impact is that code in one widget 
cannot manipulate another. This means widgets loaded from different sources cannot easily 
communicate with each other on the client side. However, this is not a problem in the case 
study as all widgets load from the same origin. The traditional 'hack' has been to use 
window.document.location.hash which can be accessed freely to pass data. Fortunately, 
modern browsers now support postMessage which provides the loosely coupled message-
based connectivity best suited to this task. Libraries such as 
jQuery PostMessage Plugin
also 
exist to provide fall back for older browsers. The Wookie server is also likely to provide a way to 
share values between widgets it hosts. 
User Control of Web Page Display 
The information viewer raises a difficulty that does not occur in the original Maavis application 
which shows the Web page in an embedded browser element that is only available in XUL. The 
control buttons are scripted to control this browser element for pan and zoom. In the HTML pro 
type the same origin policy means that the control script cannot manipulate the displayed Web 
page. So as a work-around, the Web page is shown in an additional iframe inside the widget 
iframe in an attempt to provide scrolling by moving it. This does not work very well, neither does 
it provide zooming; so an alternative solution will be needed, such as a Web general-purpose 
browser widget. 
Support for Accessibility Switch Users 
The original XUL Maavis provides built-in scanning support to allow control with simple switch 
devices (briefly a highlight moves between user interface elements until a switch is operated by 
the user to select or activate that item). Currently browser standards support very limited input 
devices, namely pointer + click and keyboard, and events (pointer and keyboard), so switches 
cannot easily be used without extra assistive technology software. A new W3C events working 
group
62
has started to look at new browser inputs such as swipe gestures. Furthermore, Mozilla 
is exploring joystick support in Firefox, and if this becomes a standard, it will allow switch 
devices to be used, as they usually appear as joystick devices (actually USB HID (Human 
Interface Device)). For the prototype, a work-around was employed using tab (move) and enter 
key (select/action). This allows direct keyboard control and also means assistive technology 
programs for switch users can also interface successfully. 
Keyboard Access Issues 
Another observation is when using tab key access to move between elements iframes are tab 
stops themselves, and so receive focus before subsequent navigation into the contained widget 
elements. If the iframe elements are removed from the tab order using the tabindex='-1' 
property, none of the child elements are accessible. This is no doubt by design, and it is 
possible that the widget container should be a tab stop; for example it may have user-alterable 
properties. The Rave in Context Project group is looking at in-lining widgets without the iframe 
container, and that may provide a solution. In fact, the whole area of accessible manipulation of 
widget properties and size/location may need research before this becomes clear. 
Embedded Text-to-speech Support 
Synthentic text-to-speech processing is problematic as there is no standard platform-
independent way of accessing speech from a browser in order to create self-voicing HTML 
applications. In fact, there is no platform standard 
at all. A common approach is to use a Web 
service, pass it text and receive audio which is then played. This has some advantage by being 
server-side, but raises questions of scalability. One such service is the unofficial Google 
translate feature. The prototype avoids the issue by simply scripting an audio object to play a 
pre-existing audio file. Mozilla has been working on some very powerful audio APIs, and if this 
becomes standard, then it may be possible to have HTML Text to Speech (although it will be 
processor-intensive). 
62
W3C Web Events Working Group, 
http://www.w3.org/2010/webevents/
 
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
specified zoom value and save it into stream. targetType, The target document type will be converted to zoomValue, The magnification of the original PDF page size
how to save editable pdf form in reader; extracting data from pdf files
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
specified zoom value and save it into stream. targetType, The target document type will be converted to zoomValue, The magnification of the original PDF page size
extract data from pdf into excel; html form output to pdf
CS3: 9 
6.  Lessons Learnt 
HTML5 is a rapidly evolving set of standards. This project has sought to push the boundaries of 
those standards, for example, the original Maavis project embedded Skype video-calling 
features, something that cannot be done using pure HTML5. Fortunately the need for video 
conference features is not critical to the success of the early phases of the project and work by 
Google and Mozilla on the WebRTC standard looks like it will address this. However, it would 
have been a good idea to spend additional time understanding where these limitations lie, so 
that they could be planned for and circumvented in a controlled manner during development. 
It is possible to bypass such limitations by using another standard, W3C Widgets,  which allows 
additional features to be specified as required or optional for operation. At first this may seem 
like a good solution, however, this re-introduces the problem of a client needing installation 
expertise because each non-standard feature will require configuration. Therefore this approach 
limits the environment in which these widgets can be used. The HTML5 version of Maavis will 
continue to operate using only the widgets that are fully supported by the platform. Therefore 
one needs to be careful during the design of widgets to minimise the use of additional features 
wherever possible. 
Many of these difficulties could have been avoided by seeking to implement on a single platform 
with the stated goal of supporting all of the standards in use. This is an important lesson we 
learned in the original “browser wars”. That is, by designing for the platform that most closely 
tracks the standards we care about, we are reducing the demands on our immediate 
development effort whilst ensuring that we maximise the chances of our code being usable in 
future versions of competing browsers. 
In this prototype, events handled on the buttons in one widget directly manipulate the DOM in 
others. This is fine in a prototype, but real widgets will not be able to do this due to potentially 
different origins. In addition, this tightly coupled design is not flexible, and some form of API or 
message exchange will be required in the final widgets. This could be done client-side, and 
most usefully would require new standards. There is some early development in this area, in 
particular that of looking at WebActions and WebIntents, which allow handlers to be registered 
to be invoked on specific user actions. Alternatively, interactions could be managed via a 
server-based service that widgets share. For example, Wookie provides a number of useful 
services such as OpenSocial and Wave. For HTML Maavis work on this will go hand in hand 
with the selection of a suitable widget decomposition to produce a suitably course-grained 
structure with widgets that are useful in their own right, but which can interact with others. 
Access of local files (file://) in the browser rather than via a Web server (http://) can lead to 
issues due to differing behaviour. File access was initially used to ease development (i.e., no 
need to upload files to a server). File access also allows stand-alone operation without Internet 
access, something required in several scenarios of Maavis. In this case, we encountered a bug 
in Mozilla Firefox, the browser being used for development. The specific bug
63
has now been 
fixed. A simple solution in cases like this is to use a local Web server like XAMPP
64
, both during 
development and deployment with only local access. Another problem we found is case-
sensitivity of elements on differing file systems. Access using XAMPP or file:// on Windows 
ignores the case of folders and files, whereas access through an Apache Web server running 
on a Linux server does not. Therefore we found when files are accessed on a Web server, they 
may not be found due to case mismatch. 
7.  Conclusions 
It is clear that HTML5 has reached a state of maturity that provides an environment where much 
of the Maavis key functionality can be implemented as an HTML app. Further, the growing 
availability of standards-conformant browsers on many platforms means the HTML5 Maavis can 
be deployed on many devices, and so provides flexibility and reach to more users. 
The closeness of XUL to HTML meant that much of existing functionality was reproducible in 
HTML, at least in theory. Exceptions have already been noted. While HTML running in the 
63
Bugzilla@Mozilla 
Bug 507361 - localStorage doesn't work in file:/// documents 
https://bugzilla.mozilla.org/show_bug.cgi?id=507361 
64
XAMPP, http://sourceforge.net/projects/xampp/ 
C# Create PDF from CSV to convert csv files to PDF in C#.net, ASP.
Description: Convert to PDF/TIFF and save it into stream. Parameters: Name, Description, Valid Value. targetType, The target document type will be converted to.
extract pdf data into excel; how to flatten a pdf form in reader
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Description: Convert to PDF/TIFF and save it into stream. Parameters: Name, Description, Valid Value. targetType, The target document type will be converted to.
extract data from pdf to excel online; sign pdf form reader
CS3: 10 
browser has limited access to the platform for security reasons, new APIs with platform access 
are becoming available to Javascript in the browser, especially on mobile platforms 
for 
example, geo-location. In addition, PhoneGap
65
, a tool that allows HTML-developed apps to be 
compiled into native apps, provides various APIs and has a stated goal of becoming redundant 
when those APIs are provided by browsers. 
This all means HTML Maavis will soon have access to new HTML and platform features, 
thereby providing the opportunity for innovative alternative access to media and 
communications. 
Moreover, designing the application to comprise a number of reusable W3C widgets means 
those widgets can be used in other scenarios and applications. Furthermore, Maavis can take 
advantage of third-party widgets. Using the Wookie Widget server provides a number of useful 
extra features, especially the storage and sharing of values between widgets. 
In fact, this ability to share widgets opens doors to collaboration between projects and 
companies, neither of which need necessarily be working in the same market or research 
space. This then fosters innovation through open development of software and will benefit the 
wider development community. 
This is a key focus of OpenDirective’s work on important 
projects such as Apache Wookie (Incubating), Apache Rave (Incubating) and Rave in Context. 
These projects clearly demonstrate the advantages of factoring Web-based applications into 
functional UI units. 
65
PhoneGap, http://phonegap.com/ 
HTML5 Case Study 4:
Visualising Embedded Metadata
Document details 
Author : 
Mark MacGillivray 
Date: 
21 May 2012 
Version: 
V1.0 
Rights 
This work has been published under a Creative Commons attribution-
sharealike 2.0 licence.  
About 
This case study is one of a series of HTML5 case studies funded by the JISC 
which provide examples of development work in use of HTML5 to support a 
range of scholarly activities. 
Acknowledgements 
UKOLN is funded by the Joint Information Systems Committee (JISC) of the Higher and Further 
Education Funding Councils, as well as by project funding from the JISC and the European 
Union. UKOLN also receives support from the University of Bath where it is based. 
Contents  
1
About This Case Study 
1
What Is Covered 
1
What Is Not Covered 
1
2
Use Case 
2
3
Solution 
2
Sharing Collections 
2
Improving search 
2
Data Anywhere 
3
Embedded Metadata 
3
Visualising the Data 
4
4
Impact 
5
5
Challenges 
5
Cross-browser Compatibility 
5
Reliance on Javascript 
6
Flash, SVG or Canvas 
6
The Meaning of Open 
7
6
Conclusions 
7
References 
7
CS4: 1 
1.  About This Case Study 
This case study addresses the problem of disseminability and discoverability of research 
outputs. The sector has had some successes in making bibliographic metadata available on a 
large scale [1]
66
67
and we must now demonstrate ways for individuals and small groups to 
interact easily and usefully with the data, in order to show the benefit of open bibliography and 
open publishing in general. 
The opportunity to increase disseminability and discoverability to a significant degree has 
existed since the invention of the Internet, and which in technical terms may be termed a 
problem solved. However, a technical solution is only truly effective in the view of potential 
adopters if they are able to make use of it. Moreover, whereas some in the academic 
community have been comfortable using the Internet to distribute their research since the early 
1990s, many more are not. Over the intervening years, the development of the standards on 
which the Internet is based have driven a vast improvement in usability and interoperability, 
opening it up to wider audiences, and triggering a shift towards online software services. This 
case study will demonstrate some of what can now be achieved using current open standards 
such as HTML5 [2] and [3] 
68
The demonstrations in this case study will be relevant to anyone that wants to do more with 
metadata; from students to lecturers and research group leaders, or administrators curating a 
publication list for a department or research assessment exercise, or those that support such 
activities through technical service provision. Overall outcomes will provide useful information 
for policy makers on how to support their community sustainably in years to come. 
What Is Covered 
The focus is on making data useful on the Web, and this will be achieved through embedding 
and visualisation techniques. 
Embedded Visualisations 
The report demonstrates the use of embedded visual representation using the D3 Javascript 
library 
69
, utilising Scalable Vector Graphics (SVG) HTML objects embedded directly into the 
Document Object Model. Note that although Canvas forms part of HTML5 specification, SVG is 
actually separate; however it is only via HTML5 that it has become possible to embed SVG 
elements directly in a document. Cross- and legacy-browser support issues are described. 
Embedded Metadata 
Whilst the initial demonstration will present visualisations of JSON data retrieved from a web 
service, secondary examples will show the use of embedded metadata for driving visualisations. 
This will build on the work of Adams [4] and Sefton [5], taking their recommendations on how to 
embed the metadata and convert to JSON for visualisation. 
What Is Not Covered 
There are many more possibilities with HTML5 and open Web standards not covered here
70
71
Further investigation relevant to this case study could include the use of storage and editable 
content to improve user experience greatly, and could combine with off-line material to 
provide a tool that could be used to create and manipulate documents and collections 
regardless of Internet connectivity; also postMessage could be used in place of traditional 
AJAX calls, which could reduce cross-domain security and interoperability problems in the long 
term. 
66
JISC Open Bibliography project blog, http://openbiblio.net 
67
Open Bibliographic Principles, http://openbiblio.net/principles 
68
HTML5 introductory presentations, http://www.slideshare.net/html5 
69
D3 Javascript library- d3.js, http://mbostock.github.com/d3/ 
70
HTML5 demos, http://html5demos.com/ 
71
HTML5 doctor, http://html5doctor.com/ 
CS4: 2 
2.  Use Case 
There are a number of potential use cases to which this case study could apply, as it is 
applicable to anywhere that a collection of data could be shared online. The particular example 
in this case is a small research group wishing to share its publications online. 
A typical traditional workflow for achieving this might include researchers managing their own 
collection in their preferred format (or in some cases, not managing it at all), and an 
administrative officer collecting all the data together in one central location, such as a 
spreadsheet. This laborious and error-prone task would be further complicated by either upload 
of a static snapshot of the data (rendering it a legacy representation) or a manual re-entry of 
data into, for example, HTML files or perhaps a Content Management System 
again 
introducing potential error, additional workload, and the requirements of regular maintenance. 
The indirect costs of this workflow include the need for a method by which to make the content 
available. This traditionally could include the cost of running servers and Internet connections, 
or perhaps the cost of publishing and distributing the reference collection. It also involves 
significant cost in terms of staff expertise 
an administrator with social and technical skills is 
required to collect and distribute the data, for example. In some cases, these demands can 
present a barrier to discoverability and disseminability. 
The key facets of this use case are: 
Managing a dataset at a personal level 
a bibliographic metadata collection  
Formatting and combining this dataset with others, to form a coherent, valuable, larger 
representation  
Distributing the collection, for purposes of management, advertisement, reporting  
Making the content of the collection useful 
making it applicable, understandable and 
navigable to a wider audience  
As we have yet to achieve the potential of disseminability that the invention of the Internet 
afforded us, to what extent can HTML5 and related open Web standards help us achieve this 
use case and open these collections up to a wider audience? 
3.  Solution 
The proposed solution to this problem involves employing a stack of open technologies to 
present a simple and valuable distributed service to the academic community that attracts users 
by offering reduced administrative overhead, lower risk of error, lower total cost, and greater 
functionality. 
Sharing Collections 
Rather than manually managing and editing a collection of bibliographic records, it can be 
uploaded and parsed from typical bibliographic formats such as bibtex via the BibServer open 
source software package 
72
. This software can be run as an online service that provides 
RESTful access onto the uploaded dataset 
73
. With a collection of records suitably available and 
accessible programmatically, we can go on to perform some interesting operations with it. 
Improving search 
The BibServer front-end can be used to present a collection as a Web page for easy viewing, 
which provides faceted browse of the content. In addition, FacetView 
74
can be used to provide 
a jQuery 
75
based front-end that can be embedded into any other Web page. This provides the 
opportunity to make a typically static reference list at the end of a document into something 
much more useful 
a key feature of a document that affords greater understanding and easier 
further investigation. It is also possible to make the reference list itself interactive 
so rather 
than manually maintaining the list with the document, it can be managed via BibServer and 
72
BibServer Project, http://bibserver.okfn.org 
73
An example BibServer instance, http://bibsoup.net 
74
Facetview, http://github.com/okfn/facetview 
75
jQuery, http://jquery.org/ 
Documents you may be interested
Documents you may be interested