c# axacropdf example : Extract data from pdf form fields Library software API .net winforms web page sharepoint HTML5_QML_Comparison_redist2-part1110

1.1 Maemo GStreamer
GStreamer is used as the media handling library on Maemo. GStreamer itself is a library
which allows a developer to ‘create a graph of media handling components’ [9]. This means
that a developer can use several building blocks to create a multimedia application.
An extremely simple example of this is as follows:
gst-launch filesrc location=music.mp3 ! decodebin ! pulsesink
In this example the gst-launch utility is launched. This utility loads a le from location
music.mp3 and sends it to the decodebin. The decodebin decodes the le by automatically
selecting the correct codec. The output of this decoding is then sent to the pulsesink. The
pulsesink integrates with the Pulseaudio playback framework which will cause the audio to
be sent to the selected output (either the speakers or the headphone plug) [40]. GTK+
GTK+ (The GIMP ToolKit) is a toolkit providing similar functionality to Qt. GTK+ was
rst developed for GIMP (GNU Image Manipulation Program). Over time GTK+ has
developed to a toolkit which is used by a large number of applications and is the main
component of the GNOME open-source desktop [39]. Known applications and solutions
which are based on GTK+ include Mozilla FireFox and the OpenMoko phone interface. All
Maemo interfaces up to Maemo 5 are written using GTK+. Hildon
Hildon is a set of widgets based on GTK+. These widgets were developed to be more
nger-friendly than normal GTK+ widgets. The interfaces of Maemo up to and including
Maemo 5 were developed using Hildon.
Extract data from pdf form fields - 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
using pdf forms to collect data; saving pdf forms in acrobat reader
Extract data from pdf form fields - 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
fill in pdf form reader; extract data from pdf form fields
MAFW stands for Multimedia Application Framework and is a high-level plugin framework
which eases integration of multimedia features like playlists and web services. Because
MAFW is a plugin framework it is independent of underlying multimedia frameworks like
GStreamer (see above). MAFW provides API for two kinds of plugins: Sources and Ren-
derers. A Source plugin allows for content gathering, an example is a last.fm plugin. A
Renderer plugin provides extended playback functionality (For example allowing a Maemo
device to be a UPnP-server [42]). OpenGL ES
OpenGL ES is an abbreviation for OpenGL for Embedded Systems. OpenGL ES is a subset
of desktop OpenGL optimized for mobile device usage. OpenGL is a 3D Graphics API which
enables hardware accelerated 3D rendering. There exist several versions of OpenGL ES.
Version 1.x provides xed-function pipeline API where all OpenGL coordinate transforma-
tions are done against a xed matrix. Version 2.x replaces this xed-function pipeline by a
programmable-pipeline [6]. This allows developers to manipulate pixels and vertices after
they have been put in the pipeline. Qt
Qt is a cross-platform application development toolkit developed by QDF. Within Maemo,
Qt will change from a community-supported toolkit to the ocially supported platform
toolkit with the change from Maemo 5 to Maemo 6 [28]. More about Qt can be found in
section 2.1. Telepathy
Telepathy is the library that provides instant messaging and VoIP possible on the Maemo
platform. Telepathy is a plugin architecture focussed on real-time communication that lets
applications share information about communcation availability. You could for instance
create a messaging application that logs in to Windows Live Messenger. If you have a word
processor that also communicates with the Telepathy framework then the word processor
would ‘know’ about the availability of your Messenger contacts [7].
1.2 Requirements
Being a mobile phone there are certain requirements to be met. As indicated in fure 1.3,
[35] and [43] must-haves do not contribute to a positive consumer satisfaction per se, but
they can cause dissatisfaction. Must-haves are certainly the most important part for mobile
phone usage as indicated in [43]. These must-haves in a mobile phone mean that the user
should have easy access to his contacts, messages, media and that he should be able to use
simple applications such as a stopwatch and calculator.
Performance and exciting new features however have a prominent role in causing consumer
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data
& pages edit, C#.NET PDF pages extract, copy, paste should be provided for filling in field data. As String = Program.RootPath + "\\" output.pdf" Dim fields
exporting data from pdf to excel; export pdf data to excel
C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#
Able to fill out all PDF form field in C#.NET. RasterEdge XDoc.PDF SDK package provides PDF field processing features for learn how to fill-in field data to PDF
pdf form save with reader; how to save filled out pdf form in reader
1.3 Conclusion
satisfaction. When the performance of the device is lower than expected this will lead to
greatly deteriorated consumer satisfaction. Exciting new features cannot cause dissatisfac-
tion, but they acount for a big amount in consumer satisfaction.
well fulfilled
not fulfilled
Figure 1.3: The Kano model - The gure shows the Kano model of consumer preferences.
Adapted from [35]. The image visualizes the eect of features on consumer satisfaction and
consumer needs.
1.3 Conclusion
Based on the platform capabilities and the requirements I will focus on simple must-have
applications like a contacts, messaging and multimedia player application. The basic facili-
ties for creating these applications are there. The research from [43] states that these basic
tasks are the most important for a user group.
Another advantage of building these simple applications is that for the sake of this thesis
there is no need of conceptualizing something new.
VB.NET PDF Text Extract Library: extract text content from PDF
Extract highlighted text out of PDF document. Enable extracting PDF text to another PDF file, and other formats such as TXT and SVG form.
how to fill out a pdf form with reader; filling out pdf forms with reader
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Studio .NET. Extract various types of image from PDF file, like XObject Image, XObject Form, Inline Image, etc. Support .NET WinForms
how to save editable pdf form in reader; how to save fillable pdf form in reader
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract bookmark & outlines. Extract hyperlink inside PDF. PDF Write. Form Process. Fill in form data programmatically. Read form data from PDF form file.
extracting data from pdf files; export pdf form data to excel spreadsheet
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET. Extract multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline Image, etc. Support .NET
extract pdf form data to excel; extract pdf data into excel
2.1 Qt
This section contains background information about the Qt toolkit. Qt is a C
development toolkit written in C++ enabling developers to ‘code less, create more, deploy
everywhere’ [24]. Qt contains several modules tailoring to developer needs. More about
Qt modules can be found in subsection 2.1.2. During this project several parts of the Qt
toolkit will be used.
2.1.1 History of Qt
In fteen years time Qt has grown from a tookit used by a few people to a product used
by millions of people daily [16].
The history of Qt started in 1988 when one of the two original Qt developers (Havard
Nord and Eirik Chambe-Eng) needed to make a GUI (Graphical User Interface) framework.
In 1990 Havard and Eirik met to create a database application that needed to run on
the Macintosh, Windows and UNIX operating systems. This application caused the two
developers to think about making a full- edged C++ GUI toolkit.
In 1993 the idea of the ‘Signal-Slot mechanism’ was devised and over the next two years
the basis of Qt was laid. The name Qt was chosen because the letter Q looked nice in the
font used by one of the developers and the t stands for toolkit.
In 1995 the two developers got their rst customer and hired a third person. The coming
ten months they would not get any other customer and relied on this rst customer to
provide income. Then nally in March 1996 the European Space Agency (ESA) became
the second customer to use Qt.
In September of 1996 Qt version 1.0 was released. By now Trolltech (as the company was
called at the time) had eight customers with a combined total of eighteen licenses. In 1996
the KDE project was also founded. The KDE project develops a Cross-Platform Desktop
Environment. This desktop environment caused the Linux community to embrace Qt
Qt 2.0 was released in 1999 with a new Open-Source license called the Qt Public License
(QPL). The following year Qt Embedded was released which led to a re-licensing of Qt
VB.NET PDF Field Edit library: insert, delete, update pdf form
VB.NET Demo Code: Add Form Fields to an Existing PDF File. The demo code below can help you to add form fields to PDF file in VB.NET class.
extract data from pdf using java; cannot save pdf form in reader
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Flatten form fields. JavaScript actions. Private data of other applications. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project.
pdf form save in reader; extract data from pdf to excel
under the GNU General Public License (GPL).
In 2001 Qt 3.0 was released. Qt 3.0 was a huge step forward over Qt 2. Qt now contained
over half a million lines of code and contained 42 new classes over Qt 2. Qt 3 did not
provide support for embedded development.
In 2005 Qt 4 was launched which is the version that is still in development today. Qt 4
gained a new modular approach to application development, and added renewed support
for embedded platforms. More about the Qt 4 modules in section 2.1.2.
Current well known solutions using Qt 4 are KDE, Google Earth, Autodesk Maya and Skype.
2.1.2 Qt 4 Features
Qt 4 has brought an enormous amount of improvements over Qt 3. Notably the split into
several modules [26] [25]. Currently the following modules exist:
 QtCore - Themain Qt module. This module contains all basicclasses in Qt. Examples
are QCoreApplication, QList and QString.
 QtDeclarative - The module containing classes for use with the Qt Declarative Markup
Language (QML). The features provided by this module will be used in this project.
QtDeclarative is a new module, rst included in Qt 4.7.
 QtGui - The QtGui module contains classes for creating GUI applications. Classes
for using the Graphicsview framework, QWidgets, toolbars, etc. can be found in this
 QtMultimedia - QtMultimedia is a module introduced with Qt 4.6. This module gives
the developer low-level access to the multimedia hardware in a device.
 QtNetwork - QtNetwork makes it possible to create networked applications like web
servers and clients.
 QtOpenGL - The module containing convenience API for developing OpenGL appli-
cations. There is a QGLWidget class that provides the developer with a surface to
use for OpenGL rendering.
 QtSql - QtSql is a bridge for using database systems. There exist several database
plugins for QtSql: MySQL, PostgreSQL, SQLite and others.
 QtSvg - Module that allows the loading of SVG vector graphics images.
 QtTest - The QtTest module is a convenience library to write unittests for a Qt
 QtWebKit - Module containing the Qt version of the WebKit web browser engine.
 QtXml - XML handling module. Makes parsing and editing XML documents possible.
 Phonon - High-level multimedia handling module. This module uses plugins called
backends to play multimedia content. There are several backends including: Direct-
Show, Quicktime and GStreamer.
 Qt3Support - Convenience module for developers porting their applications from Qt
3to Qt 4.
During the lifetime of Qt 4 several new important technologies have been added [27]. These
 The Graphicsview framework - This framework provides somethingsimilar toa painters’
canvas where the developer can lay-out images and text.
2.2 HTML
 SVG export
 Phonon
 WebKit support
 Gestures support
 QML (Qt Declarative Markup Language)
2.2 HTML
HTML stands for HyperText Markup Language and is one of the technologies used in
the comparison carried out during this project. Firstly the background of HTML will be
explained, followed by important features and the usage of Cascading Style Sheets (CSS).
2.2.1 History of HTML
HTML is a continuation of Hypertext. A concept coined in 1965 by Ted Nelson [14]. There
has been a lot of Hypertext development before that. In 1945 a proposal was made for a
device that allowed a reader to go through ‘linked’ texts on microlm: the Memex [18].
Over the next decades Hypertext would be developed and used further, the main goals
being extending human intellect and creating linked documents [23].
Another important development of the time was the start of the ARPANET network. This
would become the predecessor to the internet as we know it today [3]. This network would
be used to send the rst email messages.
In 1991 Tim Berners-Lee wrote a document specifying the rst 20 HTML tags and con-
tributed this document to a mailinglist [13][12]. This started the development of the HTML
markup language. In 1995 HTML 2 was released which added ocial support for tables
and image maps. HTML 3.2 was released in January 1997. HTML 3.2 tried to remove
overlap between dierent proprietary HTML tags. HTML 4.0, released in December 1997,
contained three variations (strict, transitional and frameset). In December 1999 HTML
4.01 was released with minor edits over HTML 4.0. HTML 4.01 is the most recent released
HTML version.
HTML 5 will be the next HTML version. Currently HTML 5 is a working draft started in
January 2008. HTML 5 is the HTML version used in this project.
2.2.2 Basic structure
HTML consists of tags. A tag denes an element, which can be a link, image, movie, etc.
Each element starts with a start-tag and most elements end with an end-tag. Each tag
starts with a less than-sign (<) and end with a greater-than sign (>). An end-tag diers
from a start-tag in that it has a forward slash (/) after the less-than sign. Some tags can
be closed immediately, like the <br /> tag which is used for a linebreak. Here the forward
slash is at the end of the tag to signify that the tag is being closed immediately.
Let’s start with a simple example of HTML code.
The <b>-tag is used to dene a section of text that should be printed in a bold font.
Therefore Hello would be displayed.
Each HTML document has a standard structure which can be extended.
<!DOCTYPE html>
<meta charset="UTF-8">
<title>Document title</title>
<p>Contents of the first paragraph.</p>
The <!DOCTYPE>-tag is used to specify the schema of the document. In this case the
document identies itself as a HTML document.
The <html> and </html> tags are used to specify which part of the document is HTML
code. Text outside of the <html> and </html> is treated as plain-text.
In the head section of the document the title, meta information and external script sources
should be specied. In this example the document uses UTF-8 encoding and it’s title is
‘Document title’. This title is displayed as window or tab title in the browser.
The body of the document contains all data that should be presented to the user of the
webpage. Paragraphs within the body are separated by <p> and </p>-tags.
An important aspect of Hypertext is the linking of external sources. In HTML 5 this can
be done with several tags, depending on the content:
 <a> - for linking to another (part of a) document.
 <audio> - for audio les.
 <embed> - for embedding content that should be loaded through a plug-in, like
Flash content or a Java applet.
 <img> - for images.
 <link> - for linking external page resources. This tag is mostly used for linking style
 <video> - for video les.
2.2.3 Cascading Style Sheets
Cascading Style Sheets (CSS) are used to specify styling hints for markup languages like
HTML [17]. CSS was designed to separate document content (which is in the HTML le)
from document presentation. This separation makes it easier to read the HTML-le and
makes it possible for separate pages to use the same styling without repeating the styling
ACascading Style Sheet has to be added to HTML les using the <link>-tag.
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
2.3 QML
The href property species the location of the CSS le. The rel-property species the usage
of this link, which should always be set to ‘stylesheet’ for loading a stylesheet. Similarly the
type-property should always be set to the ‘text/css’-mime-type.
CSS consists of selectors, classes and ID’s [29]. Any HTML element is a selector by default.
In a CSS-le the names of the standard HTML elements are used without a prex. A simple
way toget thepage background to be red would be by setting the background-color property
of the body element to red. In CSS this looks like this:
body { background-color: red d }
ID’s and classes are special selectors. An ID is used to specify a unique object within the
HTML DOM tree, for instance a sidebar. ID’s are prexed by a hash (#) character.
#sidebar { font-familysans-serif }
In this example the font of the element with ‘sidebar’ as its id property will be sans-serif.
Classes are used for common elements, for example a class called ‘comment’ would be
applied to all comments in the page. Class selectors are prexed by a dot (.) character.
.comment { font-size: small }
In this example the font size of all elements with ‘comment’ as their class property will be
2.3 QML
QML stands for Qt declarative Markup Language. QML is the second technology used
in the comparison carried out during this project. Firstly there is a subsection about the
history of QML followed by a basic technology overview.
2.3.1 History of QML
Development of the framework behind QML has started somewhere near the end of 2007,
start of 2008 [31]. At that time there was a demand for highly animated GUIs which could
not be done in Qt at the time. This new project was called \Qt Kinetic" and it’s goal was
to enable developers to easily create highly animated GUIs without the need to manage
complex data structures which are inherent to complex animated GUIs.
At this time QML was still a language similar to HTML and XML in that it used XML
to describe objects [31]. Over the next few months the Qt Animation framework was
implemented along with a state machine [30][32].
In May 2009 QML had changed to a dierent syntax [38], the syntax now looked less like
XML and more like JSON (JavaScript Object Notation). At the same time the Anchor
Layout was also in development [37]. In January 2010 support for QML was integrated in
the Qt IDE.
2.3.2 Basic structure
QML is an interpreted language where a runtime engine parses the content of the QML
les, which in turn generates Qt C++ QML elements. Several standard QML elements are
shipped with Qt, like the Rectangle, TextEdit, multimedia elements and elements to handle
As stated above QML has a syntax similar to JSON. QML code to create a rectangle that
which 100 by 100 pixels big and placed at the 0,0 position one would look as follows:
width: 100
height: 100
The name of a QML element always starts with a capital letter. The contents of the element
are enclosed in curly braces. Note the usage of the colon in the property denition. This
colon indicates the creation of a property binding rather than a property declaration. What
this means is best demonstrated using an example.
id: firstRectangle
width: 100
id: secondRectangle
width: firstRectangle.width
If the width of rstRectangle was now to change the width of secondRectangle would also
change automatically. This binding of properties is one of QML’s most important features.
CustomC++ QML elements can bedevelopedby usinga macroanda template function.
template<typename T>
int qmlRegisterType(const char *uri, int versionMajor,
int versionMinor, const char *qmlName)
Type T is the class name of the class that should be available from QML. The qmlRegis-
terType template adds the QML type to the pool of available elements. This new custom
element can now be used from a QML le by using the name dened as qmlName in the
qmlRegisterType(...) macro.
The prefered method to develop custom QML elements through C++ is by using a QDeclar-
ativeExtensionPlugin. This plugin can be loaded by the ’qml’ runtime application shipped
with Qt and allows the elements which are dened within this plugin to be used in QML
applications. A minimal QDeclarativeExtensionPlugin class looks as follows:
Documents you may be interested
Documents you may be interested