c# parse pdf to xml : Remove pdf metadata online Library SDK class asp.net wpf .net ajax xnumbers-tutorial126-part880

Xnumbers Tutorial 
260 
Spherical Bessel functions of integer order   
= BesselSphJ(x, [n])  
= BesselSphY(x, [n]) 
These functions return the Spherical Bessel functions of 1
st
and 2
nd
kind of integer order n = 0, 
1, 2... (default n = 0), and for any real  x > 0, definited as: 
( )
2
( )
2
1
x
J
x
j x
n
n
+
=
π
Spherical Bessel functions of 1
st
kind 
( )
2
( )
2
1
x
Y
x
y x
n
n
+
=
π
Spherical Bessel functions of 2
nd
kind  (also Neuman function) 
The Spherical Bessel functions are the solutions of the Helmholtz radial equation in spherical 
coordinates 
0
)
(
2
2
2
2
2
2
=
+
+
n y
n
x
dx
dy
x
dx
d y
x
j
n
(x) 
y
n
(x) 
-------------------------------------------------------------------------------- 
0.5 
0.958851077208406 
-1.755165123780750 
0.301168678939757 
-1.381773290676040 
0.298637497075734 
-0.267038335264499 
Remove pdf metadata online - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
pdf metadata editor online; adding metadata to pdf files
Remove pdf metadata online - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
delete metadata from pdf; pdf metadata reader
Xnumbers Tutorial 
261 
Formulas Evaluation 
Multiprecision Expression Evaluation 
These functions realize a little math shell, putting together the power of multiprecision numeric 
computation with the ease of symbolic calculus. Sometime we may want to perform the 
computation using symbolic formulas. We would pass these strings to a routine for evaluation, 
returning the numerical results with a given accuracy. These functions perform this useful task. 
xeval( Formula, [Var], [DgtMax], [Angle],) 
xevall( Formula, [Var1, Var2 …] ) 
These functions return the evaluation of a math expression in multiprecision arithmetic. They 
use the same algorithm
1
and have the same variable accuracy. They differ only for the input 
parameters. 
The parameter "Formula" is a math expression string containing variables, operators, 
parenthesis and other basic functions. Examples. 
3+1/(x^2+y^2), sin(2*pi*t)+4*cos(2*pi*t), (x^4+2x^3+6x^2-12x-10)^(1/2) 
The optional parameter "Var" is an array containing one or more value for variables 
substitution. Before computing, the parser substitutes each symbolic variable with its 
correspondent value. It can be a single value, an array of values or, even an array of values + 
labels (see examples). 
The optional parameter "Var1", "Var2"... are single values or array as "Var" but without labels, 
because the function xevall automatic finds by itself the appropriate labels. (See example) 
The optional parameter "DgtMax" – from 1 to 200 - sets the maximum number of precision 
digits (default=30). Setting DgtMax = 0 will force the function to evaluate in faster standard 
precision. 
The optional parameter "Angle" sets the angle unit "RAD” (default) “DEG”, “GRAD”.of for 
trigonometric computation:  
Example: 
xeval("(1+sqr(2))/2+5^(1/3))") = 2.91708272786324451375395323463 
xeval("(1+cos(x))/2+x^y" , {5, 1.2}) = 7.5404794000376872941836369067 
xeval("(a+b)*(a-b)", {2, 3})= (2+3)*(2-3) = -5 
All the function parameters can also be passed by cell references, like A1, $B$2, etc. 
Example. Tabulate the following function for x = 1, 1.5, 2, … with 30 significant digits 
2
1
1
( )
x
x
f x
+
+
=
1
The algorithm is divided into two steps: parsing and evaluation. The first step is performed by the MathParser class. 
The evaluation is performed with the x-functions of  XNUMBERS. 
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Ability to remove consecutive pages from PDF file in VB Enable specified pages deleting from PDF in Visual Basic Online source codes for quick evaluation in VB
edit pdf metadata online; remove metadata from pdf acrobat
VB.NET PDF remove image library: remove, delete images from PDF in
Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process.
view pdf metadata in explorer; remove pdf metadata online
Xnumbers Tutorial 
262 
Note how the use of this function is simple and straight comparing with the correspondent 
nested formulas 
=xdiv(xadd(1,A6),xsqr(xadd(1,xpow(A6,2)))) 
Calculating functions with more than one variable a bit complication arises, because we have to 
pay attention which values are assigned to the variables. Let’s see this example 
Calculate the following bivariate function for x = 2.4, y = 5.5 
2
1
ln( )
( , , )
x
xy
y
f x x y
+
+
=
In order to pass to the parameter "Var" the correct value for each variable we select the 
variables range B2:C3 including the labels "x" and "y" (header). The labels must contain the 
same symbols contained into the formula string 
Note. If we pass the range B3:C3 without labels, the function assigns the values to the 
variables in the same order that they appear in the formula, from left to right. In our example 
the first variables is “y” and the second is “x”, so the function assignes the first value 2.4 to “y” 
and the second value 5.5 to “x” 
To by-pass the variable order rule, the function uses the trick of the “variables labels”. On the 
contrary, for one or none variable it is impossible to make confusion so the header can be 
omitted. 
Variables order
. The function returns the variables order in the Excel function insertion panel 
In our example we see the string “y x” , that means you have to pass the first value for the 
variable “y” and the second value for the variables “x” 
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Free online C# class source code for deleting specified PDF pages in .NET console application. Able to remove a single page from PDF document.
bulk edit pdf metadata; batch pdf metadata
C# PDF Password Library: add, remove, edit PDF file password in C#
Support to add password to PDF document online or in C# String outputFilePath = Program.RootPath + "\\" Remove.pdf"; // Remove password in the input file and
edit multiple pdf metadata; pdf metadata
Xnumbers Tutorial 
263 
The variables order is by-passed by labels. Using labels you do not need to worry about the 
variables order 
Let’s see another example. Calculat,e with 30 digits precision, the following function 
cos(2 )
)
sin(
( , , , )
x
x b
a
f x x ab
=
for x = 30° deg , a = 1 , b = -2 
Note that we have set the angle unit = “DEG” 
Note also that in this case the variable order would be “a, x, b”, but with the aid of the labels the 
function can associate the exact parameters in the right way. 
Sometime it is not possible to add a label near its value (in the middle of a table, for example). 
Neither all parameters are located adjacent each others. For these cases we can use the 
second evaluator function xevall 
This function accepts separate parameters or separate array. We do not need to pass variables 
labels. The function automatically finds all labels present on the active worksheet 
Of course all this has a cost. the function xevall is about 10 times slower then xeval. 
Let’s see how it works with an example. Tabulate the given trigonometric function, from t = 0 to 
0.5, with step = 0.1 and an error less then 1E-20 
)
cos(
)
cos(
()
t
t b
f t t a
⋅ + + ⋅
= ⋅
π
π
where   a = 0.5   and   b = -2 
The above sheet shows a possible arrangement. If we look the last cell B8 we discover that the 
parameters are: 
Var1  the cell A8 containing the value of the independent variable “t” 
Var2  the range “C4:D4”, containing the values of the parameters “a” and “b” 
Var3  range “C7:D7”, containing the internal parameter “DgtMax” and “AngleSet”  
The internal parameters “DgtMax” and “AngleSet” are reserved word and must write as is. 
Note also that the cell A8 has no label, but the function performs the correct assignment to the 
“t” variable. 
C# PDF remove image library: remove, delete images from PDF in C#.
Text in PDF. Image: Insert Image to PDF. Image: Remove Image from PDF Page. Cut Image in Page. Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
extract pdf metadata; remove metadata from pdf
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
Ability to remove and delete bookmark and outline from PDF document. Merge and split PDF file with bookmark. Save PDF file with bookmark open.
change pdf metadata creation date; rename pdf files from metadata
Xnumbers Tutorial 
264 
Label Rules. Labels must stay always at the 
top or at the left of the corresponding values. 
Labels can have any alphanumeric name 
starting with any letter and not containing any 
blank. 
In the example:   
t = 0.1, a = 0.5 , DgtMax = 30 
The function xevall only assigns the cell value to the variable on top to the correspondent 
column. Othewise it assigns the value to the variable on the left to the correspondent row. 
VB.NET PDF delete text library: delete, remove text from PDF file
to remove text format by modifying text font, size, color, etc. Other PDF edit functionalities, like add PDF text, add PDF text box and field. Online .NET
read pdf metadata java; pdf remove metadata
VB.NET PDF Password Library: add, remove, edit PDF file password
Remove password from PDF. Dim outputFilePath As String = Program.RootPath + "\\" Remove.pdf" ' Remove password in the input file and output to a new file.
edit pdf metadata; endnote pdf metadata
Xnumbers Tutorial 
265 
Complex Expression Evaluation 
=cplxeval( Formula, [Var1, Var2 …] )   
This function
1
evaluates a math expression in complex arithmetic. 
The parameter "Formula" is a math expression string containing variables, operators, 
parenthesis and other basic functions. 
(3+8j)*(-1-4j) ,  (1+i)*ln(1+3i) ,  ((x+3i)/(x+4-2i))^(1-i)   
The optional parameter "Var1", "Var2",... can be single or complex value. See How to insert a 
complex number  for better details 
Example: Evaluate the given complex polynomial for z = 2 – i  
(3 ) ) (2 2 5)
2
i
iz
z
+ +
+ +
Note that we use the complex rectangular format, i.e. "3+2j",  only in the symbolic math 
formula. 
When we pass a complex value to a variable 
we must always use the double cell format. 
Note also that we can write “i” or “j” as well for 
imaginary symbol, the parser can recognize 
both of them. 
For complex numbers labels are not supported. When we have formulas with two or more 
variables, we must provide the values for variable substitutions in the exact order that they 
appear in the formula, starting from left to right. The formula wizard will easily help you. Look at 
this example. 
Example. Compute the expression for the given complexes values 
)
)(
(
()
 ks 
s a a s s b
e
F s
=
s = 1 + j  , a = 1  4j  ,   b = 3 + 6j , 
k =  0.5 
In the cell B2 we have inserted the string     “exp(k*s)/((s-a)(s-b)” 
When we enter the formula, the parser 
recognizes the variables symbols and shows 
us the exact order in which we have to pass to 
the function itself. 
In this case: k,  s,  a,  b 
1
This function uses the clsMathParserC class by A. De Grammont and L. Volpi 
Xnumbers Tutorial 
266 
Multiprecision Excel Formula Evaluation  
= xCalc(Formula, [DgtMax])   
This function
1
is useful for performing multiprecision calculation directly in a worksheet 
Formulas can be entered just like in Excel and it may also contain references to other cells. 
The optional parameter "DgtMax" – from 1 to 200 – sets the maximum number of precision 
digits (default=30). 
This smart functions has several advantages: it is easy to use and can handle long formula; the 
formula is not changed at all and can keep the references to other cells. The only drawback 
remains its speed because the function have to parse the formula and evaluate the result using 
the multiprecision arithmetic; therefore the evaluation takes about 5-6 times slower then basic 
x-functions. 
Of course, not all the Excel functions can be converted. The functions recognized are. 
 -  *  /  ^   ABS  ACOS  ACOSH  ASIN  ASINH  ATAN  ATANH 
COMBIN  COS  COSH  EXP  FACT  INT  LN  LOG  MOD  PI   
ROUND  SIGN  SIN  SINH  SQRT  TAN  TANH       
Nota. The functions are indicated with their original English names, that usually are different from the local names. 
Let's see how it works. Assume to have in a cell the following Excel formula  
=(A2*EXP(B2)+A4*EXP(B4))/(A2^2+A4^2) 
Note that the formula references the values of other 4 cells: A2, B2, A4, B4 
The formula value, calculated in standard precision,  is 0.0140820785524786 
We can get the value in 30 significant digits applying the xCalc function 
=xCalc(  (A2*EXP(B2)+A4*EXP(B4))/(A2^2+A4^2)  ) 
For that, simply, select the cell D2 and move the mouse to the input field; insert xCalc( ... )  just 
around the original formula. 
The result in the cell D4 has now a precision of 30 significat digits 
Observe that the the external cells links remain active and the formula is unchanged as in a 
standard Excel formula 
1
The function xCalc appears thanks to Ton Jeursen. 
Xnumbers Tutorial 
267 
Note that, using the x-function, the above formula should be translated as 
=xdiv(xadd(xmult(A2,xexp(B2)),xmult(A4,xexp(B4))),xadd(xpow(A2,"2"),xpow(A4,"2"))) 
The result is equivalent but it is evident the great advantage to keep the original formula. 
Xnumbers Tutorial 
268 
Math expression strings 
Functions like Integr, Series, xeval, xevall, cplxeval operate with symbolic math expressions 
by the aid of clsMathParser and claMathparserC (two internal class modules). 
These programs (for real and complex numbers) accept in input any string representing an 
arithmetic or algebraic expression with a list of variable values and return a multiprecision 
numeric result. Typical math expressions are: 
1+(2-5)*3+8/(5+3)^2 
sqr(2)+asin(x) 
(a+b)*(a-b) 
x^2+3*x+1 
1.5*exp(-t/12)*cos(pi*t + pi/4) 
(1+(2-5)*3+8/(5+3)^2)/sqr(5^2+3^2) 
2+3x+2x^2 
0.25x + 3.5y + 1 
sqr(4^2+3^2) 
1/(1+e# ) + Root(x,6) 
(-1)^(2n+1)*x^n/n! 
|x-2|+|x-5| 
And((x<2),(x<=5)) 
sin(2*pi*x)+cos(2*pi*x) 
Variables can be any alphanumeric string and must start with a letter 
x, y, a1, a2, time, alpha , beta  
Also the symbol "_" is accepted to build variable names in "programming style". 
time_1, alpha_b1 , rise_time  
Capitals are accepted but ignored. Names such as "Alpha", "alpha", "ALPHA" indicate the 
same variable. 
Implicit multiplication is not supported because of its intrinsical ambiguity. So "xy" stands for 
variable named "xy" and not for x*y. The multiplication symbol "*" generally cannot be omitted. 
It can be omitted only for coefficients of the classic math variables x, y, z. It means that string 
like 2x and 2*x are equivalent 
2x, 3.141y, 338z^2      2*x, 3.141*y, 338*z^2 
On the contrary, the following expressions are illegal in this context. 
2a, 3(x+1), 334omega 
Constant numbers can be integer, decimal, or exponential 
2   -3234   1.3333   -0.00025   1.2345E-12 
Note: This version support also the comma "," as decimal separator, depending on your system 
internation option setting.  
1,3333   -0,00025   1,2345E-12 
Logical expressions are now supported 
x<1      x+2y >= 4        x^2+5x-1>0       t<>0      (0<x<1) 
Logical expressions return always 1 (True) or 0 (False). Compact expressions, like “0<x<1” , 
are now supported; you can enter:   
(0<x<1) as well (0<x)*(x<1)
Numerical range can be inserted using logical symbols and Boolean functions. For example: 
For   2<x<5    
insert     (2<x)*(x<5)  or also (2<x<5) 
For  x<2 , x>=10     insert     OR(x<2, x>=10)    or also   (x<2)+(x>=10) 
For  -1<x<1 
insert     (x>-1)*(x<1)    ,   or  (-1<x<1)  , or also    |x|<1       
Xnumbers Tutorial 
269 
Piecewise Functions. Logical expressions can also be useful for defining a piecewise 
function, such as: 
 
2x-1-ln(2) 
x ≤ 0.5 
f(x) =   
ln(x) 
0.5< x < 2 
 
x/2-1+ln(2) 
 2 
The above function can be written as:   
f(x) = (x<=0.5)*(2*x-1-ln(2))+(0.5<x<2)*ln(x)+(x>=2)*(x/2-1+ln(2)) 
The parser adopts a new algorithm for evaluating math expressions depending on logical 
expressions, which are evaluated only if the logical conditions are true (Conditioned-Branch 
algorithm). Thus, the above piecewise expression can be evaluated for any real value x without 
any domain error. Note that without this features the formula could be evaluated only for x>0. 
Another way to compute piecewise functions is splitting it into several formulas (see example 6) 
Math Constants supported are: Pi Greek (
π
), Euler-Napier (e) 
pi = 3.14159265358979    or  pi# = 3.14159265358979    
e# = 2.71828182845905  
Angle expression 
This version supports angles in RAD radians, DEG degree, or GRAD degree.  
For example if you set the unit "DEG", all angles will be read and converted into degrees 
sin(120) => 0.86602540378444 
asin(0.86602540378444) => 120 
rad(pi/2) => 90    , grad(400) => 360  , deg(360) => 360      
Angles can also be write in DMS format like for example 29d 59m 60s  
sin(29d 59m 60s)  =>  0.5        ,   29d 59s 60m  =>  30         
Note This format is only for sexagesimal degree. It is independent from the unit set 
Complex number can be indicated in a formula string as an ordered couple of number 
enclosed into parenthesis “(..)” and divided by a comma “,”  like for example: 
(2, 3)    (a, b)    (-1, -0.05)   (-1.4142135623731,  -9.94665E-18) 
On the other hand, complex numbers can also be indicate by the common rectangular form: 
3+3j   a+bj   -1  0.05j    -1.4142135623731  9.94665E-18j 
You note that the second form is suitable for integer numbers, while, on the contrary, for 
decimal or exponential number the first one is clearer. The parenthesis form is more suitable 
also in nested results like 
((2+3*4), (8-1/2)) that gives the complex number (14, 7.5) 
Note: Pay attention if you want to use the rectangular convention in nested formulas. 
wrong (2+3*4)+(8-1/2)j.       correct (2+3*4)+(8-1/2)*j     . 
Do not omit the product symbol “*” before j because the parser recognize it as an expression, 
not a complex number. The product symbol can be omitted only when before the letter “j” is a 
constant number 
Note: You can use both “j” and “i” for indicating the imaginary number 
−1
Functions 
Functions are called by their function-name followed by parentheses. Arguments can be: 
numbers, variables, expressions, or even other functions. 
sin(x)    log(x)      cos(2*pi*t+phi)   atan(4*sin(x)) 
max(a,b)  root(x,y)   comb(n,k)         beta(x,y) 
Documents you may be interested
Documents you may be interested