itextsharp pdf to image c# : Add submit button to pdf form application Library utility azure asp.net .net visual studio book4-part1787

1.1 Thefirstprogrammingencounter:aformula
11
Therearemanymorewaystospecifyformats.Forexample,ewrites
anumberinscientificnotation,i.e.,withanumberbetween1and10
followedbyapower of10,asin1.2432·10−3.Onacomputersucha
numberiswrittenintheform1.2432e-03.CapitalEintheexponentis
alsopossible,justreplaceebyE,withtheresult1.2432E-03.
For decimalnotation weusetheletter f,asin%f,andtheoutput
number thenappearswithdigitsbefore and/or after a comma, , e.g.,
0.0012432insteadof1.2432E-03.Withthegformat,theoutputwill
usescientificnotationforlargeorsmallnumbersanddecimalnotation
otherwise.Thisformatisnormallywhatgivesmostcompactoutputofa
realnumber.Alowercasegleadstolowercaseeinscientificnotation,
whileuppercaseGimpliesEinsteadof eintheexponent.
Onecanalsospecifytheformatas10.4for14.6E,meaninginthe
first case that a float is written in decimal notation with four decimals
in a field of width equal to 10 characters, and in the second case a float
written in scientific notation with six decimals in a field of width 14
characters.
Here is a list of some important printf format specifications (the
program printf_demo.py exemplifies many of the constructions):
Format
Meaning
%s
astring
%d
an integer
%0xd
an integer padded with x leading zeros
%f
decimal notation with six decimals
%e
compact scientific notation, e in the exponent
%E
compact scientific notation, E in the exponent
%g
compact decimal or scientific notation (with e)
%G
compact decimal or scientific notation (with E)
%xz
format z right-adjusted in a field of width x
%-xz
format z left-adjusted in a field of width x
%.yz
format z with ydecimals
%x.yz
format z with y decimals in a field of width x
%%
the percentage sign % itself
For a complete specification of the possible printf-style format strings,
follow the link from the item printf-style formatting in the index2 of the
Python Standard Library online documentation.
We may try out some formats by writing more numbers to the screen
in our program (the corresponding file is ball_print2.py):
v0 = 5
g = 9.81
t = 0.6
y = v0*t - 0.5*g*t**2
print """
At t=%f s, a ball with
initial velocity v0=%.3E m/s
is located at the height %.2f m.
""" % (t, v0, y)
2
http://docs.python.org/2/genindex.html
Add submit button to pdf form - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
change font size in pdf form; add text field to pdf
Add submit button to pdf form - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
change font pdf form; add photo to pdf form
12
1 Computing with formulas
Observe here that we use a triple-quoted string, recognized by starting
and ending with three single or double quotes:”’ or""". Triple-quoted
strings are used for text that spans several lines.
In the print statement above, we print t in the f format, which
by default implies six decimals;v0 is written in the.3E format, which
implies three decimals and the number spans as narrow field as possible;
andy is written with two decimals in decimal notation in as narrow field
as possible. The output becomes
Terminal
Terminal> python ball_print2.py
At t=0.600000 s, a ball with
initial velocity v0=5.000E+00 m/s
is located at the height 1.23 m.
You should look at each number in the output and check the formatting
in detail.
Format string syntax. Pythonoffersallthefunctionalityoftheprintf
format and much more through a different syntax, often known as format
string syntax. Let us illustrate this syntax on the one-line output previ-
ously used to show the printf construction. The corresponding format
string syntax reads
print ’At t={t:g} s, the height of the ball is {y:.2f} m.’.format(
t=t, y=y)
The “slots” where variables are inserted are now recognized by curly
braces rather than a percentage sign. The name of the variable is listed
with an optional colon and format specifier of the same kind as was
used for the printf format. The various variables and their values must
be listed at the end as shown. This time the “slots” have names so the
sequence of variables is not important.
The multi-line example is written as follows in this alternative format:
print """
At t={t:f} s, a ball with
initial velocity v0={v0:.3E} m/s
is located at the height {y:.2f} m.
""".format(t=t, v0=v0, y=y)
The newline character. Weoftenwantacomputerprogramtowrite
out text that spans several lines. In the last example we obtained such
output by triple-quoted strings. We could also use ordinary single-quoted
strings and a special character for indicating where line breaks should
occur. This special character reads\n, i.e., a backslash followed by the
letter n. The two print statements
C# Image: Tutorial for Collaborating, Marking & Annotating
to create a client capture application to submit a multi a button (which is called a server button) onto your load the TIFF image first before you add the code
add attachment to pdf form; create a form in pdf
C# Image: C# Code to Upload TIFF File to Remote Database by Using
refer to following detailed procedures to submit the captured need to save the ImageUploadService file, add a web Create a new button in the ToolStrip named
pdf form save; pdf fillable form creator
1.2 Computer science glossary
13
print """y(t) is
the position of
our ball."""
print ’y(t) is\nthe position of\nour ball’
result in identical output:
y(t) is
the position of
our ball.
1.2 Computer science glossary
It is now time to pick up some important words that programmers use
when they talk about programming: algorithm, application, assignment,
blanks (whitespace), bug, code, code segment, code snippet, debug, de-
bugging, execute, executable, implement, implementation, input, library,
operating system, output, statement, syntax, user, verify, and verification.
These words are frequently used in English in lots of contexts, yet they
have a precise meaning in computer science.
Program and code are interchangeable terms. A code/program segment
is a collection of consecutive statements from a program. Another term
with similar meaning is code snippet. Many also use the word application
in the same meaning as program and code. A related term is source code,
which is the same as the text that constitutes the program. You find the
source code of a program in one or more text files. (Note that text files
normally have the extension.txt, while program files have an extension
related to the programming language, e.g.,.py for Python programs.
The content of a .py file is, nevertheless, plain text as in a .txt file.)
We talk about running a program, or equivalently executing a program
or executing a file. The file we execute is the file in which the program
text is stored. This file is often called an executable or an application. The
program text may appear in many files, but the executable is just the
single file that starts the whole program when we run that file. Running
afile can be done in several ways, for instance, by double-clicking the
file icon, by writing the filename in a terminal window, or by giving the
filename to some program. This latter technique is what we have used
so far in this book: we feed the filename to the programpython. That
is, we execute a Python program by executing another programpython,
which interprets the text in our Python program file.
The term library is widely used for a collection of generally useful
program pieces that can be applied in many different contexts. Having
access to good libraries means that you do not need to program code
snippets that others have already programmed (most probable in a better
way!). There are huge numbers of Python libraries. In Python terminology,
C# Image: Tutorial for Document Viewing & Displaying in ASP.NET
have built a capture client to submit documents to No-Postback Navigation Controls to Viewer. Add two HTML Double-clicking on a button adds its event handler in
chrome save pdf form; convert word doc to pdf with editable fields
14
1 Computing with formulas
the libraries are composed of modules and packages. Section 1.4 gives
a first glimpse of themath module, which contains a set of standard
mathematical functions forsinx,cosx,lnx ,ex,sinhx,sin−1x, etc. Later,
you will meet many other useful modules. Packages are just collections of
modules. The standard Python distribution comes with a large number
of modules and packages, but you can download many more from the
Internet, see in particularwww.python.org/pypi. Very often, when you
encounter a programming task that is likely to occur in many other
contexts, you can find a Python module where the job is already done.
To mention just one example, say you need to compute how many days
there are between two dates. This is a non-trivial task that lots of other
programmers must have faced, so it is not a big surprise that Python
comes with a module datetime to do calculations with dates.
The recipe for what the computer is supposed to do in a program is
called algorithm. In the examples in the first couple of chapters in this
book, the algorithms are so simple that we can hardly distinguish them
from the program text itself, but later in the book we will carefully set
up an algorithm before attempting to implement it in a program. This
is useful when the algorithm is much more compact than the resulting
program code. The algorithm in the current example consists of three
steps:
• initialize the variables v
0
,g, and t with numerical values,
• evaluate y according to the formula (1.1),
• print the y value to the screen.
The Python program is very close to this text, but some less experienced
programmers may want to write the tasks in English before translating
them to Python.
The implementation of an algorithm is the process of writing and
testing a program. The testing phase is also known as verification: After
the program text is written we need to verify that the program works
correctly. This is a very important step that will receive substantial
attention in the present book. Mathematical software produce numbers,
and it is normally quite a challenging task to verify that the numbers
are correct.
An error in a program is known as a bug, and the process of locating
and removing bugs is called debugging. Many look at debugging as the
most difficult and challenging part of computer programming. We have in
fact devoted Appendix F to the art of debugging in this book. The origin
of the strange terms bug and debugging can be found in Wikipedia
3
.
Programs are built of statements. There are many types of statements:
3
http://en.wikipedia.org/wiki/Software_bug#Etymology
1.2 Computer science glossary
15
v0 = 3
is an assignment statement, while
print y
is a print statement. It is common to have one statement on each line, but
it is possible to write multiple statements on one line if the statements
are separated by semi-colon. Here is an example:
v0 = 3; g = 9.81; t = 0.6
y = v0*t - 0.5*g*t**2
print y
Although most newcomers to computer programming will think they
understand the meaning of the lines in the above program, it is important
to be aware of some major differences between notation in a computer
program and notation in mathematics. When you see the equality sign=
in mathematics, it has a certain interpretation as an equation (x+2 = 5)
or a definition (f(x) =x2 + 1). In a computer program, however, the
equality sign has a quite different meaning, and it is called an assignment.
The right-hand side of an assignment contains an expression, which is a
combination of values, variables, and operators. When the expression is
evaluated, it results in a value that the variable on the left-hand side will
refer to. We often say that the right-hand side value is assigned to the
variable on the left-hand side. In the current context it means that we in
the first line assign the number 3 to the variablev0, 9.81 tog, and 0.6 to
t.Inthenextline,theright-handsideexpression v0*t - 0.5*g*t**2
is first evaluated, and the result is then assigned to the y variable.
Consider the assignment statement
y = y + 3
This statement is mathematically false, but in a program it just means
that we evaluate the right-hand side expression and assign its value to
the variabley. That is, we first take the current value of y and add 3.
The value of this operation is assigned toy. The old value of y is then
lost.
You may think of the= as an arrow,y <- y+3, rather than an equality
sign, to illustrate that the value to the right of the arrow is stored in the
variable to the left of the arrow. In fact, the R programming language
for statistical computing actually applies an arrow, many old languages
(like Algol, Simula, and Pascal) used:= to explicitly state that we are
not dealing with a mathematical equality.
An example will illustrate the principle of assignment to a variable:
y = 3
print y
y = y + 4
16
1 Computing with formulas
print y
y = y*y
print y
Running this program results in three numbers:3,7,49. Go through the
program and convince yourself that you understand what the result of
each statement becomes.
Acomputer program must have correct syntax, meaning that the text
in the program must follow the strict rules of the computer language for
constructing statements. For example, the syntax of the print statement
is the word print, followed by one or more spaces, followed by an
expression of what we want to print (a Python variable, text enclosed in
quotes, a number, for instance). Computers are very picky about syntax!
For instance, a human having read all the previous pages may easily
understand what this program does,
myvar = 5.2
prinnt Myvar
but the computer will find two errors in the last line: prinnt is an
unknown instruction andMyvar is an undefined variable. Only the first
error is reported (a syntax error), because Python stops the program
once an error is found. All errors that Python finds are easy to remove.
The difficulty with programming is to remove the rest of the errors, such
as errors in formulas or the sequence of operations.
Blanks may or may not be important in Python programs. In Sec-
tion 2.1.2 you will see that blanks are in some occasions essential for a
correct program. Around = or arithmetic operators, however, blanks do
not matter. We could hence write our program from Section 1.1.7 as
v0=3;g=9.81;t=0.6;y=v0*t-0.5*g*t**2;print y
This is not a good idea because blanks are essential for easy reading
of a program code, and easy reading is essential for finding errors, and
finding errors is the difficult part of programming. The recommended
layout in Python programs specifies one blank around=,+, and-, and no
blanks around*,/, and**. Note that the blank afterprint is essential:
printisacommandinPythonand printyisnotrecognizedasanyvalid
command. (Python will complain thatprinty is an undefined variable.)
Computer scientists often use the term whitespace when referring to a
blank. (To be more precise, blank is the character produced by the space
bar on the keyboard, while whitespace denotes any character(s) that, if
printed, do not print ink on the paper: a blank, a tabulator character
(produced by backslash followed by t), or a newline character (produced
by backslash followed by n). (The newline character is explained in
Section 1.1.11.)
When we interact with computer programs, we usually provide some
information to the program and get some information out. It is common
1.2 Computer science glossary
17
to use the term input data, or just input, for the information that must
be known on beforehand. The result from a program is similarly referred
to as output data, or just output. In our example,v
0
,g, andt constitute
input, whiley is output. All input data must be assigned values in the
program before the output can be computed. Input data can be explicitly
initialized in the program, as we do in the present example, or the data
can be provided by the user through keyboard typing while the program
is running (see Chapter 4). Output data can be printed in the terminal
window, as in the current example, displayed as graphics on the screen,
as done in Section 5.3, or stored in a file for later access, as explained in
Section 4.6.
The word user usually has a special meaning in computer science:
It means a human interacting with a program. You are a user of a
text editor for writing Python programs, and you are a user of your
own programs. When you write programs, it is difficult to imagine how
other users will interact with the program. Maybe they provide wrong
input or misinterpret the output. Making user-friendly programs is very
challenging and depends heavily on the target audience of users. The
author had the average reader of the book in mind as a typical user when
developing programs for this book.
Acentral part of a computer is the operating system. This is actually a
collection of programs that manages the hardware and software resources
on the computer. There are three dominating operating systems today
on computers: Windows, Mac OS X, and Linux. In addition, we have
Android and iOS for handheld devices. Several versions of Windows
have appeared since the 1990s: Windows 95, 98, 2000, ME, XP, Vista,
Windows 7, and Windows 8. Unix was invented already in 1970 and comes
in many different versions. Nowadays, two open source implementations
of Unix, Linux and Free BSD Unix, are most common. The latter forms
the core of the Mac OS X operating system on Macintosh machines,
while Linux exists in slightly different flavors: Red Hat, Debian, Ubuntu,
and OpenSuse to mention the most important distributions. We will use
the term Unix in this book as a synonym for all the operating systems
that inherit from classical Unix, such as Solaris, Free BSD, Mac OS X,
and any Linux variant. As a computer user and reader of this book, you
should know exactly what operating system you have.
The user’s interaction with the operation system is through a set of
programs. The most widely used of these enable viewing the contents of
folders or starting other programs. To interact with the operating system,
as a user, you can either issue commands in a terminal window or use
graphical programs. For example, for viewing the file contents of a folder
you can run the commandls in a Unix terminal window ordir in a
DOS (Windows) terminal window. The graphical alternatives are many,
some of the most common are Windows Explorer on Windows, Nautilus
and Konqueror on Unix, and Finder on Mac. To start a program, it is
18
1 Computing with formulas
common to double-click on a file icon or write the program’s name in a
terminal window.
1.3 Another formula: Celsius-Fahrenheit conversion
Our next example involves the formula for converting temperature mea-
sured in Celsius degrees to the corresponding value in Fahrenheit degrees:
F =
9
5
C+32
(1.3)
In this formula,C is the amount of degrees in Celsius, andF is the
corresponding temperature measured in Fahrenheit. Our goal now is to
write a computer program that can computeF from (1.3) whenC is
known.
1.3.1 Potential error: integer division
Straightforward coding of the formula. Astraightforwardattemptat
coding the formula (1.3) goes as follows:
C = 21
F = (9/5)*C + 32
print F
The parentheses around 9/5 are not strictly needed, i.e., (9/5)*C is
computationally identical to9/5*C, but parentheses remove any doubt
that9/5*C could mean9/(5*C). Section 1.3.4 has more information on
this topic.
When run under Python version 2.x, the program prints the value 53.
You can find the program in the filec2f_v1.py in thesrc/formulas
folder in the folder tree of example programs from this book (downloaded
fromhttp://hplgit.github.com/scipro-primer). Thev1 part of the
name stands for version 1. Throughout this book, we will often develop
several trial versions of a program, but remove the version number in
the final version of the program.
Verifying the results. Testingthecorrectnessiseasyinthiscasesince
we can evaluate the formula on a calculator:
9
5
·21+32is69.8,not53.
What is wrong? The formula in the program looks correct!
Float and integer division. Theerrorinourprogramaboveisoneofthe
most common errors in mathematical software and is not at all obvious
for a newcomer to programming. In many computer languages, there are
two types of divisions: float division and integer division. Float division is
what you know from mathematics: 9/5 becomes 1.8 in decimal notation.
Integer division a/b with integers (whole numbers) a and b results in
an integer that is truncated (or mathematically, rounded down). More
1.3 Another formula: Celsius-Fahrenheit conversion
19
precisely, the result is the largest integerc such thatbc≤a. This implies
that 9/5 becomes 1 since 1· 5 = 5 9 while 2·5 = 10> 9. Another
example is 1/5, which becomes 0 since 0·5 1 (and 1·5> 1). Yet another
example is 16/6, which results in 2 (try 2·6 and 3·6 to convince yourself).
Many computer languages, including Fortran, C, C++, Java, and Python
version 2, interpret a division operationa/b as integer division if both
operandsa andb are integers. If eithera orb is a real (floating-point)
number,a/b implies the standard mathematical float division. Other
languages, such as MATLAB and Python version 3, interpretsa/b as
float division even if both operands are integers, or complex division if
one of the operands is a complex number.
The problem with our program is the coding of the formula(9/5)*C
+ 32.Thisformulaisevaluatedasfollows.First, 9/5iscalculated.Since
9and 5areinterpretedbyPythonasintegers(wholenumbers),9/5isa
division between two integers, and Python version 2 chooses by default
integer division, which results in 1. Then 1 is multiplied byC, which
equals 21, resulting in 21. Finally, 21 and 32 are added with 53 as result.
We shall very soon present a correct version of the temperature conver-
sion program, but first it may be advantageous to introduce a frequently
used term in Python programming: object.
1.3.2 Objects in Python
When we write
C = 21
Python interprets the number21 on the right-hand side of the assignment
as an integer and creates anint (for integer) object holding the value 21.
The variableC acts as a name for thisint object. Similarly, if we writeC
= 21.0,Pythonrecognizes 21.0asarealnumberandthereforecreates
afloat (for floating-point) object holding the value 21.0 and letsC be a
name for this object. In fact, any assignment statement has the form of
avariable name on the left-hand side and an object on the right-hand
side. One may say that Python programming is about solving a problem
by defining and changing objects.
At this stage, you do not need to know what an object really is,
just think of an int object as a collection, say a storage box, with
some information about an integer number. This information is stored
somewhere in the computer’s memory, and with the nameC the program
gets access to this information. The fundamental issue right now is that
21 and 21.0 are identical numbers in mathematics, while in a Python
program 21 gives rise to an int object and 21.0 to a float object.
There are lots of different object types in Python, and you will later
learn how to create your own customized objects. Some objects contain
20
1 Computing with formulas
alot of data, not just an integer or a real number. For example, when
we write
print ’A text with an integer %d and a float %f’ % (2, 2.0)
astr (string) object, without a name, is first made of the text between
the quotes and then thisstr object is printed. We can alternatively do
this in two steps:
s = ’A text with an integer %d and a float %f’ % (2, 2.0)
print s
1.3.3 Avoiding integer division
As a quite general rule of thumb, one should be careful to avoid integer
division when programming mathematical formulas. In the rare cases
when a mathematical algorithm does make use of integer division, one
should use a double forward slash,//, as division operator, because this
is Python’s way of explicitly indicating integer division.
Python version 3 has no problem with unintended integer division,
so the problem only arises with Python version 2 (and many other
common languages for scientific computing). There are several ways to
avoid integer division with the plain/ operator. The simplest remedy in
Python version 2 is to write
from __future__ import division
This import statement must be present in the beginning of every file
where the / operator always shall imply float division. Alternatively,
one can run a Python programsomeprogram.py from the command line
with the argument -Qnew to the Python interpreter:
Terminal
Terminal> python -Qnew someprogram.py
Amore widely applicablemethod, also in other programminglanguages
than Python version 2, is to enforce one of the operands to be afloat
object. In the current example, there are several ways to do this:
F = (9.0/5)*C + 32
F = (9/5.0)*C + 32
F = float(C)*9/5 + 32
In the first two lines, one of the operands is written as a decimal num-
ber, implying afloat object and hence float division. In the last line,
float(C)*9meansfloattimes int,whichresultsina floatobject,
and float division is guaranteed.
Arelated construction,
Documents you may be interested
Documents you may be interested