﻿

# itextsharp pdf to image c# : Change pdf to fillable form SDK software API wpf .net asp.net sharepoint book31-part1778

5.9 Exercises
281
Exercise5.4:Plotafunction
MakeaplotofthefunctioninExercise5.1forx∈[4,4].Filename:
plot_Gaussian.py.
Exercise5.5:Applyafunctiontoavector
Givenavectorv=(2,3,−1)andafunctionf(x)=x3+xex+1,applyfto
eachelementinv.Thencalculatebyhandf(v)astheNumPyexpression
v**3 + v*exp(v) + 1usingvectorcomputingrules.Demonstratethat
thetworesultsareequal.
Exercise5.6:Simulatebyhandavectorizedexpression
Supposexandtaretwoarraysofthesamelength,enteringavectorized
expression
y = = cos(sin(x)) ) + + exp(1/t)
If xholdstwoelements,0and2,andtholdstheelements1and1.5,
calculatebyhand(usingacalculator)theyarray.Thereafter,writea
programthatmimicstheseriesofcomputationsyoudidbyhand(typically
asequenceofoperationsofthekindwelistedinSection5.1.3-useexplicit
loops,but attheendyoucanuseNumericalPythonfunctionalityto
checktheresults).Filename:simulate_vector_computing.py.
Exercise5.7:Demonstratearrayslicing
Createanarraywwithvalues0,0.1,0.2,...,3.Writeoutw[:],w[:-2],
w[::5],w[2:-2:6].Convinceyourselfineachcasethatyouunderstand
whichelementsofthearraythatareprinted.Filename:slicing.py.
Exercise5.8:Replacelistoperationsbyarraycomputing
ThedataanalysisprobleminSection2.6.2issolvedbylistoperations.
Convertthelisttoatwo-dimensionalarrayandperformthecomputations
usingarrayoperations(i.e.,noexplicitloops,butyouneedaloopto
maketheprintout).Filename:sun_data_vec.py.
Exercise5.9:Plotaformula
Makeaplotof the functiony(t) =v
0
t−
1
2
gtfor v
0
=10,=9.81,
and t∈ [0,2v
0
/g]. Set t the axeslabelsastime (s) andheight t (m).
Filename:plot_ball1.py.
Change pdf to fillable 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
adding a signature to a pdf form; changing font size in a pdf form
Change pdf to fillable 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
changing font size in pdf form field; acrobat create pdf form
282
5 Arraycomputingandcurveplotting
Exercise5.10:Plotaformulaforseveralparameters
0
valuesfromthecommandline
andplotsthecorrespondingcurvesy(t)=v
0
t−
1
2
gtinthesameﬁgure,
witht∈[0,2v
0
/g]foreachcurve.Setg=9.81.
Filename:plot_ball2.py.
Exercise5.11:Specifytheextentoftheaxesinaplot
ExtendtheprogramfromExercises5.10suchthattheminimumand
maximumtandyvaluesarecomputed,andusetheextremevaluesto
tomaketheplotlookbetter.Filename:plot_ball3.py.
Exercise5.12:PlotexactandinexactFahrenheit-Celsius
conversionformulas
Asimple rule to quicklycompute the Celsiustemperature from the
Fahrenheitdegreesistosubtract30andthendivideby2:C=(F−30)/2.
ComparethiscurveagainsttheexactcurveC=(F−32)5/9inaplot.
LetF varybetween−20and120.Filename:f2c_shortcut_plot.py.
Exercise5.13:Plotthetrajectoryofaball
Theformulaforthetrajectoryofaballisgivenby
f(x)=xtanθ−
1
2v2
0
gx2
cos2θ
+y
0
,
(5.16)
wherexisacoordinatealongtheground,gistheaccelerationofgravity,
v
0
isthesizeoftheinitialvelocity,whichmakesanangleθwiththex
axis,and(0,y
0
)istheinitialpositionoftheball.
0
,θ,andv
0
fromthecom-
mand line. Then plot t the trajectory f(x) for y ≥ ≥ 0.Filename:
plot_trajectory.py.
Exercise5.14:Plotdatainatwo-columnﬁle
The ﬁle src/plot/xy.datcontainstwo columnsof numbers,corre-
spondingtoxandycoordinatesonacurve.Thestartoftheﬁlelooks
asthis:
8
http://tinyurl.com/pwyasaa/plot/xy.dat
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Convert multiple pages Word to fillable and editable PDF documents. Ability to get word count of PDF pages. Change Word hyperlink to PDF hyperlink and bookmark.
create a pdf form to fill out; change font in pdf form
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Create fillable and editable PDF documents from Excel in Visual Merge all Excel sheets to one PDF file in Change Excel hyperlink to PDF hyperlink and bookmark.
add text fields to pdf; pdf fillable form creator
5.9 Exercises
283
-1.0000
-0.0000
-0.9933
-0.0087
-0.9867
-0.0179
-0.9800
-0.0274
-0.9733
-0.0374
columnintoalisty.Plotthecurve.Printoutthemeanyvalueaswell
asthemaximumandminimumyvalues.
float,andappendtoxandy.Thecomputationswithyaresimplerif
thelistisconvertedtoanarray.
data(anynumberofcolumns)andreturnthedatainatwo-dimensional
array:
import numpy as np
data = = np.loadtxt(’xy.dat’, dtype=np.float) ) # # read d table e of f floats
x = = data[:,0] ] # # column with h index x 0
y = = data[:,1] ] # # column with h index x 1
The present exercise asks you u to implement a a simpliﬁed d version n of
Exercise5.15:Writefunctiondatatoﬁle
Wewanttodumpxandf(x)valuestoaﬁle,wherethexvaluesappear
intheﬁrstcolumnandthef(x)valuesappearinthesecond.Choosen
equallyspacedxvaluesintheinterval[a,b].Providef,a,b,n,andthe
ﬁlename as input data on the command line.
Hint. UsetheStringFunctiontool(see Sections4.3.3and5.5.1) to
turn the textual expression forf into a Python function. (Note that the
program from Exercise 5.14 can be used to read the ﬁle generated in the
present exercise into arrays again for visualization of the curvey =f(x).)
Filename: write_cml_function.py.
Exercise 5.16: Plot data from a ﬁle
The ﬁlesdensity_water.dat anddensity_air.dat ﬁles in the folder
for diﬀerent temperatures. The data ﬁles have some comment lines
starting with# and some lines are blank. The rest of the lines contain
density data: the temperature in the ﬁrst column and the corresponding
9
http://tinyurl.com/pwyasaa/plot
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. Convert multiple pages PowerPoint to fillable and editable PDF documents.
changing font size in pdf form; add signature field to pdf
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Convert multiple pages Word to fillable and editable PDF documents in Able to get word count in PDF pages. Change Word hyperlink to PDF hyperlink and bookmark.
adding text to a pdf form; change tab order in pdf form
284
5 Array computing and curve plotting
density in the second column. The goal of this exercise is to read the
data in such a ﬁle and plot the density versus the temperature as distinct
(small) circles for each data point. Let the program take the name of the
data ﬁle as command-line argument. Apply the program to both ﬁles.
Exercise 5.17: Fit a polynomial to data points
The purpose of this exercise is to ﬁnd a simple mathematical formula for
how the density of water or air depends on the temperature. The idea is to
load density and temperature data from ﬁle as explained in Exercise 5.16
and then apply some NumPy utilities that can ﬁnd a polynomial that
approximates the density as a function of the temperature.
NumPy has a functionpolyfit(x, y, deg) for ﬁnding a “best ﬁt”
of a polynomial of degreedeg to a set of data points given by the array
argumentsx andy. Thepolyfit function returns a list of the coeﬃcients
in the ﬁtted polynomial, where the ﬁrst element is the coeﬃcient for
the term with the highest degree, and the last element corresponds to
the constant term. For example, given points inx andy,polyfit(x,
y, 1)returnsthecoeﬃcients a, binapolynomial a*x + bthatﬁts
the data in the best way. (More precisely, a liney =ax +b is a “best
ﬁt” to the data points (x
i
,y
i
),i = 0,...,n− 1 ifa andb are chosen to
make the sum of squared errorsR =
n−1
j=0
(y
j
(ax
j
+b))
2
as small as
possible. This approach is known as least squares approximation to data
and proves to be extremely useful throughout science and technology.)
NumPy also has a utilitypoly1d, which can take the tuple or list of
coeﬃcients calculated by, e.g.,polyfit and return the polynomial as
aPython function that can be evaluated. The following code snippet
demonstrates the use of polyfit and poly1d:
coeff = polyfit(x, y, deg)
p = poly1d(coeff)
print p
# prints the polynomial expression
y_fitted = p(x)
# computes the polynomial at the x points
# use red circles for data points and a blue line for the polynomial
plot(x, y, ’ro’, x, y_fitted, ’b-’,
legend=(’data’, ’fitted polynomial of degree %d’ % deg))
a) Writeafunctionfit(x, y, deg)thatcreatesaplotofdatain x
andy arrays along with polynomial approximations of degrees collected
in the list deg as explained above.
b) Wewanttocallfittomakeaplotofthedensityofwaterversus
temperature and another plot of the density of air versus temperature. In
both calls, usedeg=[1,2] such that we can compare linear and quadratic
approximations to the data.
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both .NET WinForms and ASP.NET. Create searchable and scanned PDF files from Excel.
pdf form save; add text field to pdf acrobat
5.9 Exercises
285
c) Fromavisualinspectionoftheplots,canyousuggestsimplemathe-
matical formulas that relate the density of air to temperature and the
density of water to temperature?
Filename: fit_density_data.py.
Exercise 5.18: Fit a polynomial to experimental data
Suppose we have measured the oscillation periodT of a simple pendulum
with a massm at the end of a massless rod of lengthL. We have varied
Landrecordedthecorresponding T value.Themeasurementsarefound
in a ﬁlesrc/plot/pendulum.dat
10
.The ﬁrst column in the ﬁle contains
Lvalues and the second column has the corresponding T values.
a) Plot L versus T using circles for the data points.
b) WeshallassumethatLasafunctionofisapolynomial.Usethe
NumPy utilitiespolyfit andpoly1d, as explained in Exercise 5.17, to ﬁt
polynomials of degree 1, 2, and 3 to theL andT data. Visualize the poly-
nomial curves together with the experimental data. Which polynomial
ﬁts the measured data best?
Filename: fit_pendulum_data.py.
Exercise 5.19: Read acceleration data and ﬁnd velocities
Aﬁlesrc/plot/acc.dat11 contains measurementsa
0
,a
1
,...,a
n−1
ofthe
acceleration of an object moving along a straight line. The measurement
a
k
is taken at time pointt
k
=kΔt, whereΔtis the time spacing between
the measurements. The purpose of the exercise is to load the acceleration
data into a program and compute the velocityv(t) of the object at some
time t.
In general, the accelerationa(t) is related to the velocityv(t) through
v
(t) = a(t). This means that
v(t) = v(0) +
t
0
a(τ)dτ .
(5.17)
Ifa(t) is only known at some discrete, equally spaced points in time,
a
0
,...,a
n−1
(which is the case in this exercise), we must compute the
integral in (5.17) numerically, for example by the Trapezoidal rule:
v(t
k
)≈ Δt
1
2
a
0
+
1
2
a
k
+
k−1
i=1
a
i
, 1 ≤ k ≤ n − 1.
(5.18)
10
http://tinyurl.com/pwyasaa/plot/pendulum.dat
11
http://tinyurl.com/pwyasaa/plot/acc.dat
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. Load PDF from existing documents and image in SQL server. Load PDF from stream programmatically.
change font size pdf form; change text size pdf form
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
An advanced .NET control to change ODT, ODS, ODP forms to fillable PDF formats in Visual C# .NET. Online source code for C#.NET class.
create a pdf form in word; add fields to pdf
286
5 Array computing and curve plotting
We assume v(0) = 0 so that also v
0
=0.
0
,...,a
n−1
from ﬁle into an array, plot the accelera-
tion versus time, and use (5.18) to compute onev(t
k
)value, whereΔt
andk≥ 1 are speciﬁed on the command line. Filename:acc2vel_v1.py.
Exercise 5.20: Read acceleration data and plot velocities
The task in this exercise is the same as in Exercise 5.19, except that we
now want to computev(t
k
)for all time pointst
k
=kΔt and plot the
velocity versus time. Now onlyΔtis given on the command line, and the
a
0
,...,a
n−1
values must be read from ﬁle as in Exercise 5.19.
Hint. Repeateduseof(5.18)forallkvaluesisveryineﬃcient.Amore
eﬃcient formula arises if we add the area of a new trapezoid to the
previous integral (see also Section A.1.7):
v(t
k
)= v(t
k−1
)+
t
k
t
k−1
a(τ)dτ ≈ v(t
k−1
)+Δt
1
2
(a
k−1
+a
k
),
(5.19)
fork = 1,2,...,n− 1, whilev
0
=0. Use this formula to ﬁll an arrayv
with velocity values.
Filename: acc2vel.py.
Exercise 5.21: Plot a trip’s path and velocity from GPS
coordinates
AGPS device measures your position at everys seconds. Imagine that the
positions corresponding to a speciﬁc trip are stored as (x,y) coordinates
in a ﬁle src/plot/pos.dat
12
with an x and y number on each line,
except for the ﬁrst line, which contains the value of s.
a) Plotthetwo-dimensionalcurveofcorrespondingtothedatainthe
ﬁle.
Hint. Load sintoa floatvariableandthenthe xand ynumbersinto
two arrays. Draw a straight line between the points, i.e., plot the y
coordinates versus the x coordinates.
b)Plotthevelocityinxdirectionversustimeinoneplotandthevelocity
in y direction versus time in another plot.
12
http://tinyurl.com/pwyasaa/plot/pos.dat
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
Remove Password from PDF; Change PDF Permission Settings. Bookmark. Metadata: Edit, Delete Metadata. Form Process. ODT, ODS, ODP forms into fillable PDF formats.
pdf forms save; can reader edit pdf forms
5.9 Exercises
287
Hint. If x(t)and y(t)arethecoordinatesofthepositionsasafunction
of time, we have that the velocity inx direction isv
x
(t) =dx/dt, and
the velocity iny direction isv
y
=dy/dt. Sincex andy are only known
for some discrete times,t
k
=ks,k = 0,...,n− 1, we must use numerical
diﬀerentiation. A simple (forward) formula is
v
x
(t
k
)≈
x(t
k+1
)−x(t
k
)
s
, v
y
(t
k
)≈
y(t
k+1
)− y(t
k
)
s
, k = 0,...,n−2.
Compute arraysvx andvy with velocities based on the formulas above
for v
x
(t
k
)and v
y
(t
k
), k = 0,...,n −2.
Filename: position2velocity.py.
Exercise 5.22: Vectorize the Midpoint rule for integration
The Midpoint rule for approximating an integral can be expressed as
b
a
f(x)dx ≈ h
n
i=1
f(a −
1
2
h+ ih),
(5.20)
where h = (b− a)/n.
a) Writeafunctionmidpointint(f, a, b, n)tocomputeMidpoint
rule. Use a plain Python for loop to implement the sum.
b) MakeavectorizedimplementationoftheMidpointrulewhereyou
compute the sum by Python’s built-in function sum.
c) MakeanothervectorizedimplementationoftheMidpointrulewhere
you compute the sum by the sum function in the numpy package.
d) Organize the e three e implementations s above e in n a a module e ﬁle
midpoint_vec.py.
e) StartIPython,importthefunctionsfrom midpoint_vec.py,deﬁne
some Python implementation of a mathematical functionf(x) to inte-
grate, and use the%timeit feature of IPython to measure the eﬃciency
of the three alternative implementations.
Hint. The %timeit feature is described in Section H.5.1.
Filename: midpoint_vec.py.
Remarks. The lesson learned from the experiments s in n e) is that
numpy.sumismuchmoreeﬃcientthanPython’sbuilt-infunction sum.
Vectorized implementations must always make use of numpy.sum to
compute sums.
288
5 Array computing and curve plotting
Exercise 5.23: Implement Lagrange’s interpolation formula
Imagine we haven+1 measurements of some quantityy that depends on
x:(x
0
,y
0
),(x
1
,y
1
),...,(x
n
,y
n
). We may think ofy as a function ofx and
ask whaty is at some arbitrary pointx not coinciding with any of the
pointsx
0
,...,x
n
.It is not clear howy varies between the measurement
points, but we can make assumptions or models for this behavior. Such
aproblem is known as interpolation.
One way to solve the interpolation problem is to ﬁt a continuous
function that goes through all then+ 1 points and then evaluate this
function for any desiredx. A candidate for such a function is the polyno-
mial of degreen that goes through all the points. It turns out that this
polynomial can be written
p
L
(x) =
n
k=0
y
k
L
k
(x),
(5.21)
where
L
k
(x) =
n
i=0,i�=k
x− x
i
x
k
−x
i
.
(5.22)
The
notation corresponds to
,but the terms are multiplied. For
example,
n
i=0,i�=k
x
i
=x
0
x
1
···x
k−1
x
k+1
···x
n
.
The polynomialp
L
(x) is known as Lagrange’s interpolation formula, and
the points (x
0
,y
0
),...,(x
n
,y
n
)are called interpolation points.
a) Makefunctionsp_L(x, xp, yp)and L_k(x, k, xp, yp)thateval-
uate p
L
(x) andL
k
(x) by (5.21) and (5.22), respectively, at the point
x.Thearrays xpand ypcontainthe xand ycoordinatesofthe n+1
interpolation points, respectively. That is,xp holdsx
0
,...,x
n
,andyp
holds y
0
,...,y
n
.
b) To verify y the e program, we e observe that L
k
(x
k
) = 1 and that
L
k
(x
i
)= 0 fori�=k, implying thatp
L
(x
k
)=y
k
.That is, the polynomial
p
L
goes through all the points (x
0
,y
0
),...,(x
n
,y
n
). Write a function
test_p_L(xp, yp)thatcomputes |p
L
(x
k
)−y
k
|atalltheinterpolation
points (x
k
,y
k
) and checks that the value is approximately zero. Call
test_p_Lwithxpand ypcorrespondingto5equallyspacedpointsalong
the curvey =sin(x) forx∈ [0 ]. Thereafter, evaluatep
L
(x) for anx in
the middle of two interpolation points and compare the value ofp
L
(x)
with the exact one.
Filename: Lagrange_poly1.py.
5.9 Exercises
289
Exercise 5.24: Plot Lagrange’s interpolating polynomial
a) Writeafunctiongraph(f, n, xmin, xmax, resolution=1001)for
plottingp
L
(x) in Exercise 5.23, based on interpolation points taken from
some mathematical functionf(x) represented by the argumentf. The
argumentn denotes the number of interpolation points sampled from the
f(x)function,and resolutionisthenumberofpointsbetween xmin
andxmax used to plotp
L
(x). Thex coordinates of then interpolation
points can be uniformly distributed betweenxmin andxmax. In the graph,
the interpolation points (x
0
,y
0
),...,(x
n
,y
n
)should be marked by small
circles. Test thegraph function by choosing 5 points in [0 ] andf as
sin x.
b) MakeamoduleLagrange_poly2containingthe p_L, L_k, test_p_L,
andgraph functions. The call totest_p_L described in Exercise 5.23
and the call tograph described above should appear in the module’s
test block.
Hint. Section 4.9 describeshow tomake a module. Inparticular,a
test block is explained in Section 4.9.3, test functions liketest_p_L are
demonstrated in Section 4.9.4 and also in Section 3.4.2, and how to
combinetest_p_L andgraph calls in the test block is exempliﬁed in
Section 4.9.5.
Filename: Lagrange_poly2.py.
Exercise 5.25: Investigate the behavior of Lagrange’s
interpolating polynomials
Unfortunately, the polynomialp
L
(x) deﬁned and implemented in Exer-
cise 5.23 can exhibit some undesired oscillatory behavior that we shall
explore graphically in this exercise. Call thegraph function from Exer-
cise 5.24 withf(x) =|x|,x∈ [2,2], forn = 2,4,6,10. All the graphs of
p
L
(x) should appear in the same plot for comparison. In addition, make
anew ﬁgure with calls tograph forn = 13 andn = 20. All the code nec-
essary for solving this exercise should appear in some separate program
ﬁle, which imports theLagrange_poly2 module made in Exercise 5.24.
Filename: Lagrange_poly2b.py.
Remarks.Thepurposeofthep
L
(x) function is tocompute (x,y) between
some given (often measured) data points (x
0
,y
0
),...,(x
n
,y
n
). We see
from the graphs that for a small number of interpolation points,p
L
(x)
is quite close to the curvey =|x| we used to generate the data points,
but asn increases,p
L
(x) starts to oscillate, especially toward the end
points (x
0
,y
0
)and (x
n
,y
n
). Much research has historically been focused
on methods that do not result in such strange oscillations when ﬁtting a
polynomial to a set of points.