itextsharp pdf to image c# : Adding text fields to a pdf Library software component asp.net winforms azure mvc book0-part1753

APrimeronScientific
ProgrammingwithPython
HansPetterLangtangen
1,2
1
CenterforBiomedicalComputing,SimulaResearchLaboratory
2
DepartmentofInformatics,UniversityofOslo
Aug21,2014
Adding text fields to a pdf - 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
convert word document to editable pdf form; add fields to pdf form
Adding text fields to a pdf - 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 size in pdf form field; change font size pdf form
C# PDF insert text Library: insert text into PDF content in C#.net
Supports adding text to PDF in preview without adobe reader installed in ASP.NET. Powerful .NET PDF edit control allows modify existing scanned PDF text.
edit pdf form; convert pdf to editable form
VB.NET PDF insert text library: insert text into PDF content in vb
VB.NET PDF - Insert Text to PDF Document in VB.NET. Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program.
change font pdf fillable form; pdf form creation
Preface
Theaimofthisbookistoteachcomputerprogrammingusingexamples
frommathematicsandthenaturalsciences.Wehavechosentousethe
Pythonprogramminglanguagebecauseitcombinesremarkableexpressive
powerwithveryclean,simple,andcompactsyntax.Pythoniseasyto
learnandverywellsuitedforanintroductiontocomputerprogramming.
PythonisalsoquitesimilartoMATLABandagoodlanguagefordoing
mathematicalcomputing.ItiseasytocombinePythonwithcompiled
languages,likeFortran,C,andC++,whicharewidelyusedlanguages
forscientificcomputations.
Theexamplesinthisbookintegrateprogrammingwithapplications
tomathematics,physics,biology,andfinance.Thereaderisexpectedto
haveknowledgeofbasicone-variablecalculusastaughtinmathematics-
intensiveprogramsinhighschools.Itiscertainlyanadvantagetotakea
universitycalculuscourseinparallel,preferablycontainingbothclassical
and numericalaspects of calculus. Although not strictlyrequired, a
backgroundinhighschoolphysicsmakesmanyoftheexamplesmore
meaningful.
Manyintroductoryprogrammingbooksarequitecompactandfocus
onlistingfunctionalityofaprogramminglanguage.However,learning
toprogramislearninghowtothink asaprogrammer.Thisbookhas
itsmainfocusonthethinkingprocess,orequivalently:programming
asa problem solving technique. That is s whymost t of the pages s are
devotedtocasestudiesinprogramming,wherewedefineaproblemand
explainhowtocreatethecorrespondingprogram.Newconstructionsand
programmingstyles(whatwecouldcalltheory)isalsousuallyintroduced
viaexamples.Particularattentionispaidtoverificationofprograms
andtofindingerrors.Thesetopicsareverydemandingformathematical
software,becausetheunavoidablenumericalapproximationerrorsare
possiblymixedwithprogrammingmistakes.
v
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Add Password to PDF; VB.NET Form: extract value from fields; VB.NET PDF - Add Text Box to PDF Page in VB Provide VB.NET Users with Solution of Adding Text Box to
change font size in fillable pdf form; adding a text field to a pdf
C# PDF Text Box Edit Library: add, delete, update PDF text box in
Provide .NET SDK library for adding text box to PDF document in .NET WinForms application. Adding text box is another way to add text to PDF page.
change font size pdf fillable form; add text field to pdf
Preface
Bystudying the manyexamples s inthe e book, I hope readerswill
learnhowtothinkrightandtherebywriteprogramsinaquickerand
morereliableway.Remember,nobodycanlearnprogrammingbyjust
reading-onehastosolvealargeamountofexerciseshandson.Thebook
isthereforefullofexercisesofvarioustypes:modificationsofexisting
examples,completelynewproblems,ordebuggingofgivenprograms.
Toworkwiththisbook,IrecommendusingPythonversion2.7.For
Chapters5-9andAppendicesA-EyouneedtheNumPyandMatplotlib
packages,preferablyalsotheIPythonandSciToolspackages,andfor
AppendixGCythonisrequired.Otherpackagesusedoccasionallyinthe
textarenoseandsympy.SectionH.1hasmoreinformationonhowyou
cangetaccesstoPythonandthementionedpackages.
There is a a web b page associated with h this s book, http://hplgit.
github.com/scipro-primer,containingalltheexampleprogramsfrom
thebookaswellasinformationoninstallationofthesoftwareonvarious
platforms.
Pythonversion2or3? AcommonproblemamongPythonprogrammers
istochoosebetweenversion2or3,whichatthetimeofthiswritingmeans
choosingbetweenversion2.7and3.4.Thegeneralrecommendationisto
goforPython3,becausethisistheversionthatwillbedevelopedinthe
future.However,thereisstillaproblemthatmuchusefulmathematical
softwarein Python hasnot t yetbeenportedtoPython3.Therefore,
scientific computingwithPythonstillgoesmostlywithversion2.A
widelyusedstrategyforsoftwaredeveloperswhowanttowritePython
codethatworkswithbothversions,istodevelopforversion2.7,which
isveryclosetowhatisfoundversion3.4,andthenusethetranslation
tool2to3 toautomaticallytranslatefromPython2toPython3.
Whenusingv2.7,youshouldemploythenewestsyntaxandmodules
that make the differencesbetween n Python 2and3 verysmall.This
strategyisadoptedinthepresentbook.Onlytwodifferencesbetween
versions2and3areexpectedtobesignificantfortheprogramsinthe
book:a/bforintegersaandbimpliesfloatdivisionPython3andinteger
divisioninPython2.Moreover,print ’Hello’inPython2mustbe
turnedintoafunctioncallprint(’Hello’)inPython3.Noneofthese
differencesshouldleadtoanyannoyingproblemswhenfuturereaders
studythe book’sv2.7 examples,but programin Python3. Anyway,
running2to3ontheexamplefilesgeneratesthecorrespondingPython3
code.
Contents. Chapter1introducesvariables,objects,modules,andtext
formatting throughexamplesconcerningevaluation of mathematical
formulas.Chapter2presentsprogrammingwithwhileandforloops
aswellaslists,includingnestedlists.Thenextchapterdealswithtwo
other fundamentalconceptsinprogramming:functionsandif-else
tests.SuccessfulfurtherreadingofthebookdemandsthatChapters1-3
aredigested.
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Support adding PDF page number. Offer PDF page break inserting function. DLLs for Adding Page into PDF Document in VB.NET Class. Add necessary references:
changing font size in pdf form field; adding an image to a pdf form
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
Password to PDF; VB.NET Form: extract value from fields; VB.NET PDF - Annotate Text on PDF Page in Professional VB.NET Solution for Adding Text Annotation to PDF
change tab order in pdf form; change font size in pdf fillable form
Preface
vii
Howtoreaddataintoprogramsanddealwitherrorsininputarethe
subjectsofChapter4.Chapter5introducesarraysandarraycomputing
(includingvectorization) andhow thisis s used for r plotting f(x)
curvesandmakinganimationofcurves.Manyoftheexamplesinthe
first five chapters are strongly related. Typically, formulas from the first
chapter are used to produce tables of numbers in the second chapter.
Then the formulas are encapsulated in functions in the third chapter.
In the next chapter, the input to the functions are fetched from the
command line, or from a question-answer dialog with the user, and
validity checks of the input are added. The formulas are then shown
as graphs in Chapter 5. After having studied Chapters 1- 5, the reader
should have enough knowledge of programming to solve mathematical
problems by what many refer to as “MATLAB-style” programming.
Chapter 6 explains how to work dictionaries and strings, especially
for interpreting text data in files and storing the extracted information
in flexible data structures. Class programming, including user-defined
types for mathematical computations (with overloaded operators), is
introduced in Chapter 7. Chapter 8 deals with random numbers and
statistical computing with applications to games and random walks.
Object-oriented programming, in the meaning of class hierarchies and
inheritance, is the subject of Chapter 9. The key examples here deal with
building toolkits for numerical differentiation and integration as well as
graphics.
Appendix A introduces mathematical modeling, using sequences and
difference equations. Only programming concepts from Chapters 1-5 are
used in this appendix, the aim being to consolidate basic programming
knowledge and apply it to mathematical problems. Some important
mathematical topics are introduced via difference equations in a simple
way: Newton’s method, Taylor series, inverse functions, and dynamical
systems.
Appendix B deals with functions on a mesh, numerical differentiation,
and numerical integration. A simple introduction to ordinary differential
equations and their numerical treatment is provided in Appendix C.
Appendix D shows how a complete project in physics can be solved by
mathematical modeling, numerical methods, and programming elements
from Chapters 1-5. This project is a good example on problem solving
in computational science, where it is necessary to integrate physics,
mathematics, numerics, and computer science.
Howtocreate software for solving ordinary differential equations, using
both function-based and object-oriented programming, is the subject of
Appendix E. The material in this appendix brings together many parts
of the book in the context of physical applications.
Appendix F is devoted to the art of debugging, and in fact problem
solving in general. Speeding up numerical computations in Python by
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Support adding protection features to PDF file by adding password, digital signatures and redaction feature. Various of PDF text and images processing features
add form fields to pdf online; adding form fields to pdf
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Provide users with examples for adding text box to PDF and edit font size and color in text box field in C#.NET program. C#.NET: Draw Markups on PDF File.
add text field to pdf acrobat; pdf forms save
Preface
migrating code to C via Cython is exemplified in Appendix G,. Finally,
Appendix H deals with various more advanced technical topics.
Most of the examples and exercises in this book are quite short.
However, many of the exercises are related, and together they form larger
projects, for example on Fourier Series (3.15, 4.20, 4.21, 5.39, 5.40),
numerical integration (3.6, 3.7, 5.47, 5.48, A.12), Taylor series
(3.31, 5.30, 5.37, A.14, A.15, 7.23), piecewise constant functions
(3.23-3.27, 5.32, 5.45, 5.46, 7.19-7.21), inverse functions (E.17-E.20),
falling objects (E.8, E.9, E.38, E.39), oscillatory population growth
(A.19, A.21, A.22, A.23), epidemic disease modeling (E.41-E.48), op-
timization and finance (A.24, 8.39, 8.40), statistics and probability
(4.23, 4.24, 8.21, 8.22), hazard games (8.8-8.13), random walk and
statistical physics (8.30-8.37), noisy data analysis (8.41-8.43), numerical
methods (5.23-5.25, 7.8, 7.9, A.9, 7.22, 9.15-9.17, E.30-E.37), building a
calculus calculator (7.33, 9.18, 9.19), and creating a toolkit for simulating
vibrating engineering systems (E.50-E.55).
Chapters 1-9 together with Appendices A and E have from 2007formed
the core of an introductory first semester bachelor course on scientific
programming at the University of Oslo (INF1100, 10 ECTS credits).
Changes from the third to the fourth edition. Alargenumber of
the exercises have been reformulated and reorganized. Typically, longer
exercises are divided into subpoints a), b), c), etc., various type of help is
factored out in separate paragraphs marked withHint, and information
that puts the exercise into a broader context is placed at the end under
the heading Remarks. Quite some related exercises have been merged.
Another major change is the enforced focus on testing and verification.
Already as soon as functions are introduced in Chapter 3, we start verify-
ing the implementations through test functions written according to the
conventions in the nose testing framework. This is continued throughout
the book and especially incorporated in the reformulated exercises. Test-
ing is challenging in programs containing unknown approximation errors,
so strategies for finding appropriate test problems have also become an
integral part of the fourth edition.
Many chapters now refer to the Online Python Tutor for visualizing
the program flow. This is a splendid tool for learning what happens
with the variables and execution of statements in small programs. The
sympypackagefor symboliccomputingisapowerfultoolinscientific
programming and introduced already in Chapter 1. The sections in
Chapter 4 have been reorganized, and the basic information on file
reading and writing was moved from Chapter 6 to Chapter 4. The fourth
edition clearly features three distinct parts: basic programming concepts
in Chapters 1-5, more advanced programming concepts in Chapters 6-9,
and programming for solving science problems in Appendix A-E.
Sections 4.9 and 4.10.2 have been rewritten to emphasize the impor-
tance of test functions. The information on how to make animations and
C# PDF insert image Library: insert images into PDF in C#.net, ASP
application? To help you solve this technical problem, we provide this C#.NET PDF image adding control, XDoc.PDF for .NET. Similar
create a form in pdf; adding text fields to pdf acrobat
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. toolkit, if you need to add some text and draw Besides, using this PDF document metadata adding control, you can add
create pdf form; adding text to pdf form
Preface
ix
videos in Sections 5.3.4 and 5.3.5 has undergone a substantial revision.
Section 6.1.7 has been completely rewritten to better reflect how to work
with data associated with dates.
Appendix E has been reworked so that function-based programming
and object-oriented programming appear in separate sections. This allows
reading the appendix and solving ODEs without knowledge of classes
and inheritance. Much of the text in Appendix E has been rewritten
and extended, the exercises are substantially revised, and several new
exercises have been added.
Section H.1 is new and describes the various options for getting access
toPython and itspackagesforscientificcomputations. This topicincludes,
e.g., installing software on personal laptops and writing notebooks in
cloud services.
In addition to the mentioned changes, a large number of smaller
updates, improved explanations, and correction of typos have been in-
corporated in the new edition. I am very thankful to all the readers,
instructors, and students who have sent emails with corrections or sug-
gestions for improvements.
The perhaps biggest change for me was to move the whole manuscript
from L
A
T
E
Xto DocOnce
1
.This move enables a much more flexible compo-
sition of topics for various purposes, and support for output in different
formats such as L
A
T
E
X, HTML, Sphinx, Markdown, IPython notebooks,
and MediaWiki. The chapters have been made more independent by
repeating key knowledge, which opens up for meaningful reading of only
parts of the book, even the most advanced parts.
Acknowledgments. Thisbookwasbornoutofstimulatingdiscussions
with my close colleague Aslak Tveito, and he started writing what is now
Appendix B and C. The whole book project and the associated university
course were critically dependent on Aslak’s enthusiastic role back in 2007.
The continuous support from Aslak regarding my book projects is much
appreciated and contributes greatly to my strong motivation. Another
key contributor in the early days was Ilmar Wilbers. He made extensive
efforts with assisting the book project and establishing the university
course INF1100. I feel that without Ilmar and his solutions to numerous
technical problems the first edition of the book would never have been
completed. JohannesH. Ringalsodeserves special acknowledgment for the
development of the Easyviz graphics tool and for his careful maintenance
and support of software associated with the book over the years.
Professor Loyce Adams studied the entire book, solved all the exer-
cises, found numerous errors, and suggested many improvements. Her
contributions are so much appreciated. More recently, Helmut Büch
worked extremely carefully through all details in Chapters 1-6, tested
the software, found many typos, and asked critical questions that led to
1
https://github.com/hplgit/doconce
Preface
lots of significant improvements. I am so thankful for all his efforts and
for his enthusiasm during the preparations of the fourth edition.
Special thanks go to Geir Kjetil Sandve for being the primary author
of the computational bioinformatics examples in Sections 3.3, 6.5, 8.3.4,
and 9.5, with contributions from Sveinung Gundersen, Ksenia Khelik,
Halfdan Rydbeck, and Kai Trengereid.
Several people have contributed with suggestions for improvements of
the text, the exercises, and the associated software. I will in particular
mention Ingrid Eide, Ståle Zerener Haugnæss, Kristian Hiorth, Arve
Knudsen, Tobias Vidarssønn Langhoff, Martin Vonheim Larsen, Kine
Veronica Lund, Solveig Masvie, Håkon Møller, Rebekka Mørken, Mathias
Nedrebø, Marit Sandstad, Helene Norheim Semmerud, Lars Storjord,
Fredrik Heffer Valdmanis, and Torkil Vederhus. Hakon Adler is greatly
acknowledged for his careful reading of early various versions of the
manuscript. Many thanks go to the professors Fred Espen Bent, Ørnulf
Borgan, Geir Dahl, Knut Mørken, and Geir Pedersen for formulating
several exciting exercises from various application fields. I also appreciate
the cover image made by my good friend Jan Olav Langseth.
This book and the associated course are parts of a comprehensive and
successful reform at the University of Oslo, called Computing in Science
Education. The goal of the reform is to integrate computer programming
and simulation in all bachelor courses in natural science where mathe-
matical models are used. The present book lays the foundation for the
modern computerized problem solving technique to be applied in later
courses. It has been extremely inspiring to work closely with the driving
forces behind this reform, especially the professors Morten Hjorth-Jensen,
Anders Malthe-Sørenssen, Knut Mørken, and Arnt Inge Vistnes.
The excellent assistance from the Springer system, in particular Martin
Peters, Thanh-Ha Le Thi, Ruth Allewelt, Peggy Glauch-Ruge, Nadja
Kroke, Thomas Schmidt, Patrick Waltemate, Donatas Akmanavicius,
and Yvonne Schlatter, is highly appreciated, and ensured a smooth and
rapid production of all editions of this book.
Oslo, March 2014
Hans Petter Langtangen
Contents
1
Computing with formulas . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1 The first programming encounter: a formula . . . . . . . . . .
2
1.1.1 Using a program as a calculator . . . . . . . . . . . . . . .
2
1.1.2 About programs and programming . . . . . . . . . . . . .
3
1.1.3 Tools for writing programs . . . . . . . . . . . . . . . . . . . .
3
1.1.4 Writing and running your first Python program . .
4
1.1.5 Warning about typing program text . . . . . . . . . . . .
5
1.1.6 Verifying the result . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.1.7 Using variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.1.8 Names of variables . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.1.9 Reserved words in Python . . . . . . . . . . . . . . . . . . . .
8
1.1.10 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.1.11 Formatting text and numbers . . . . . . . . . . . . . . . . .
10
1.2 Computer science glossary . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.3 Another formula: Celsius-Fahrenheit conversion . . . . . . .
18
1.3.1 Potential error: integer division . . . . . . . . . . . . . . . .
18
1.3.2 Objects in Python . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
1.3.3 Avoiding integer division . . . . . . . . . . . . . . . . . . . . . .
20
1.3.4 Arithmetic operators and precedence . . . . . . . . . . .
21
1.4 Evaluating standard mathematical functions . . . . . . . . . .
22
1.4.1 Example: Using the square root function . . . . . . . .
22
1.4.2 Example: Computing with sinhx . . . . . . . . . . . . . .
24
1.4.3 A first glimpse of round-off errors . . . . . . . . . . . . . .
25
1.5 Interactive computing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
1.5.1 Using the Python shell . . . . . . . . . . . . . . . . . . . . . . .
26
1.5.2 Type conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
1.5.3 IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
1.6 Complex numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
1.6.1 Complex arithmetics in Python . . . . . . . . . . . . . . . .
32
xi
Contents
1.6.2 Complex functions in Python. . . . . . . . . . . . . . . . . .
33
1.6.3 Unified treatment of complex and real functions .
33
1.7 Symbolic computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
1.7.1 Basic differentiation and integration . . . . . . . . . . . .
35
1.7.2 Equation solving and Taylor series . . . . . . . . . . . . .
36
1.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
1.8.1 Chapter topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
1.8.2 Example: Trajectory of a ball. . . . . . . . . . . . . . . . . .
41
1.8.3 About typesetting conventions in this book. . . . . .
42
1.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
2
Loops and lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
2.1 While loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
2.1.1 A naive solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
2.1.2 While loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
2.1.3 Boolean expressions . . . . . . . . . . . . . . . . . . . . . . . . . .
56
2.1.4 Loop implementation of a sum . . . . . . . . . . . . . . . .
58
2.2 Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
2.2.1 Basic list operations. . . . . . . . . . . . . . . . . . . . . . . . . .
60
2.2.2 For loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
2.3 Alternative implementations with lists and loops . . . . . .
64
2.3.1 While loop implementation of a for loop . . . . . . . .
64
2.3.2 The range construction . . . . . . . . . . . . . . . . . . . . . . .
65
2.3.3 For loops with list indices. . . . . . . . . . . . . . . . . . . . .
66
2.3.4 Changing list elements . . . . . . . . . . . . . . . . . . . . . . .
67
2.3.5 List comprehension . . . . . . . . . . . . . . . . . . . . . . . . . .
68
2.3.6 Traversing multiple lists simultaneously . . . . . . . . .
68
2.4 Nested lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
2.4.1 A table as a list of rows or columns . . . . . . . . . . . .
69
2.4.2 Printing objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
2.4.3 Extracting sublists . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
2.4.4 Traversing nested lists . . . . . . . . . . . . . . . . . . . . . . . .
74
2.5 Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
2.6.1 Chapter topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
2.6.2 Example: Analyzing list data . . . . . . . . . . . . . . . . . .
80
2.6.3 How to find more Python information . . . . . . . . . .
82
2.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
3
Functions and branching . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
3.1 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
3.1.1 Mathematical functions as Python functions. . . . .
93
3.1.2 Understanding the program flow . . . . . . . . . . . . . . .
95
3.1.3 Local and global variables . . . . . . . . . . . . . . . . . . . .
96
3.1.4 Multiple arguments . . . . . . . . . . . . . . . . . . . . . . . . . .
98
Documents you may be interested
Documents you may be interested