c# parse pdf data : View pdf metadata software control project winforms web page .net UWP xnumbers-tutorial127-part881

Xnumbers Tutorial 
270 
For functions having more than one argument, the successive arguments are separated by 
commas "," or alternatively, by semicolon ";" if your system has comma as decimal separator. 
max(a;b)  root(x;y)  comb(n;k)  beta(x;y)  (only if comma "," is decimal sep.) 
max(a,b)  root(x,y)  comb(n,k)  beta(x,y)  (only if point "." is decimal sep.) 
View pdf metadata - 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
metadata in pdf documents; search pdf metadata
View pdf metadata - 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
remove pdf metadata; pdf keywords metadata
Xnumbers Tutorial 
271 
List of basic functions and operators 
The following table lists all functions and operators recongize in a math expression string 
Use: R = Real, C = Complex, M = Multiprecision 
The functions with M can be evaluated either in standard or multiprecision 
The functions with C alone must be used with cplxeval only 
The functions with R alone must be used with xeval, xevall setting DgtMax = 0 (standard 
precision) 
Function 
Use 
Description 
Note 
R C M  subtraction 
R C M  factorial 
5!=120    (the same as fact) 
R M 
percentage 
35% = 0.35   , 100+35% =103.5 
R C M  multiplication 
R C M  division 
35/4 = 8.75 
R C M  integer division 
35\4 = 8 
R C M  raise to power 
3^1.8 = 7.22467405584208 
| | 
R C M  absolute value 
|-5|=5      (the same as abs) 
R C M  addition 
<  
R M 
less than 
return 1 (true)   0 (false) 
<= 
R M 
equal or less than 
returns 1 (true)   0 (false) 
<>  
R M 
not equal 
returns 1 (true)   0 (false) 
R M 
equal 
returns 1 (true)   0 (false) 
>  
R M 
greater than 
returns 1 (true)   0 (false) 
>= 
R M 
equal or greater than 
returns 1 (true)   0 (false) 
abs(x) 
R C M  absolute value 
abs(-5)= 5 
acos(x) 
R C M  inverse cosine 
argument -1  x  1 
acosh(x) 
R C M  inverse hyperbolic cosine 
argument x  1 
acot(x) 
R M 
inverse cotangent 
acoth(x) 
R M 
inverse hyperbolic cotangent 
argument   x<-1 or x>1 
acsc(x) 
R M 
inverse cosecant 
acsch(x) 
R M 
inverse hyperbolic cosecant 
alog(z) 
complex exponential with base 10 
10^z 
and(a,b) 
logic and 
returns 0 (false)  if a=0 or b=0  
arg(z) 
polar angle of complex number 
-pi < a <= pi 
asec(x) 
R M 
inverse secant 
asech(x) 
R M 
inverse hyperbolic secant 
argument   0  x  1 
asin(x) 
R C M  inverse sine 
argument -1  x  1 
asinh(x) 
R C M  inverse hyperbolic sine 
atanh(x) 
R C M  inverse hyperbolic tangent 
argument -1 < x < 1 
atn(x), atan(x) 
R C M  inverse tangent 
beta(x,y) 
R C 
beta 
argument x>0 y>0 
betaI(x,a,b) 
Beta Incomplete function 
x >0  ,  a >0  ,  b >0 
cbr(x) 
cube root 
cbr(2) =1.25992104989487,  also 2^(1/3) 
clip(x,a,b)    
Clipping function 
return a if x<a , return b if x>b, otherwise 
return x. 
comb(n,k) 
R C M  combinations 
comb(6,3) = 20 
conj(x) 
conjugate 
cos(x) 
R C M  cosine 
argument in radians 
cosh(x) 
R C M  hyperbolic cosine 
cot(x) 
R M 
cotangent 
argument (in radians) x k*π  with k = 0, 
±
1, 
±
2… 
coth(x) 
R M 
hyperbolic cotangent 
argument x>2 
csc(x) 
R M 
cosecant 
argument (in radians) x k*π  with k = 0, 
±
1, 
±
2… 
csch(x) 
R M 
hyperbolic cosecant 
argument x>0 
dec(x) 
R M 
decimal part 
dec(-3.8) = -0.8 
deg(x) 
R M 
degree sess. conversion 
conv. degree (60)  into current unit of 
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
View PDF in WPF. Annotate PDF in WPF. Export PDF in to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
view pdf metadata; add metadata to pdf
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Offer professional PDF document metadata editing APIs, using which VB.NET developers can redact, delete, view and save PDF metadata. PDF Document Protection.
google search pdf metadata; pdf xmp metadata editor
Xnumbers Tutorial 
272 
angle 
digamma(x) 
R C 
digamma 
argument x>0 
Ei(x) 
R C 
exponential integral function 
argument x>0 
Ein(x,n) 
Exponential integral of n order 
x >0  ,  n =  1, 2, 3… 
Elli1(x) 
Elliptic integral of 1st kind 
∀ φ   ,   0 < k < 1 
Elli2(x)   
Elliptic integral of 2st kind 
∀ φ   ,   0 < k < 1 
erf(x) 
R C 
error Gauss's function 
argument x>0 
erfc(x) 
R C 
error Gauss's function for complex 
value 
eu 
R M 
Euler-Mascheroni constant 
Gamma constant 0.577.. 
exp(x) 
R C M  exponential 
exp(1) = 2.71828182845905 
fact(x) 
R M 
factorial 
argument x  >0 
fix(x) 
R M 
integer part 
fix(-3.8) = 3 
FresnelC(x) 
Fresnel's cosine integral 
∀ x 
FresnelS(x) 
Fresnel's sine integral 
∀ x 
gamma(x) 
R C 
gamma 
argument x>0 
gammaln(x) 
R C 
logarithm gamma 
argument x>0 
gcd(a,b) 
greatest common divisor 
The same as mcd 
grad(x) 
degree cent. conversion 
conv. degree (100) into current unit of 
angle 
HypGeom(x,a,b,c) 
Hypergeometric function 
-1 < x <1    a,b >0   c  0, −1, −2… 
im(z) 
immaginary part of complex number    
int(x) 
integer part 
int(-3.8) = 4 
integral(f,z,a,b) 
Def. integral of complex function f(z)  Integral('1/z^2','z',1-i,1+i) 
inv(x) 
inverse of a number 
1/x 
lcm(a,b) 
R M 
lowest common multiple 
The same as mcm 
ln(x), log(x) 
R C M  logarithm natural 
argument x>0 
max(a,b,...) 
R M 
maximum 
max(-3.6, 0.5, 0.7, 1.2, 0.99) = 1.2 
min(a,b,...) 
R M 
minimum 
min(13.5, 24, 1.6, 25.3) = 1.6 
mcd(a,b,...) 
R M 
maximun common divisor 
mcm(4346,174) = 2 
mcm(a,b,...) 
R M 
minimun common multiple 
mcm(1440,378,1560,72,1650) = 
21621600 
mod(a,b) 
R M 
modulus 
mod(29, 6) = 5    mod(-29, 6) = 1 
nand(a,b) 
logic nand 
returns 1 (true)  if a=1 or b=1  
neg(z) 
opposit of complex 
-z 
nor(a,b) 
logic nor 
returns 1 (true) only if a=0 and b=0 
not(a) 
logic not 
returns 0 (false) if a  0 , else 1 
nxor(a,b) 
logic exclusive-nor 
returns 1 (true)  only if a=b 
or(a,b) 
logic or 
returns 0 (false) only if a=0 and b=0 
pi 
R M 
Pi greek 
3.141…. 
PolyCh(x,n) 
Chebycev's polynomials 
x  ,  orthog. for  -1  x 1   
PolyHe(x,n) 
Hermite's polynomials 
∀ x   , orthog. for  −∞  x  +∞ 
PolyLa(x,n) 
Laguerre's polynomials 
∀ x  , orthog. for  0  x 1   
PolyLe(x,n) 
Legendre's polynomials 
∀ x  , orthog. for  -1  x 1   
rad(x) 
R M 
radians conversion 
converts radians into current unit of angle 
re(x) 
real part of complex number 
rnd(x) 
random 
returns a random number between x and 
root(x,n) 
R C M  n-th root 
argument x  0   (the same as x^(1/n) 
round(x,d) 
R M 
round a number with d decimal 
round(1.35712, 2) = 1.36 
sec(x) 
R M 
secant 
argument (in radians) x k*π/2  with k = 
±
1, 
±
2… 
sech(x) 
R C M  hyperbolic secant 
argument x>1 
serie(….) 
serie expansion of complex value z 
Serie('z/n','n',1,10,'z',1+3i) 
sgn(x) 
R C 
sign 
returns 1 if x >0 , 0 if x=0, -1 if x<0 
sin(x) 
R C M  sin 
argument in radians 
sinh(x) 
R C M  hyperbolic sine 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
RasterEdge WPF PDF Viewer provides C# users abilities to view, annotate, convert and create PDF in WPF application. C#.NET: Edit PDF Metadata.
remove metadata from pdf file; pdf xmp metadata viewer
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
View PDF in WPF. Annotate PDF in WPF. Export PDF in to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
pdf xmp metadata; batch pdf metadata editor
Xnumbers Tutorial 
273 
sqr(x) 
R C M  square root 
sqr(2) =1.4142135623731,  also 2^(1/2) 
tan(x) 
R C M  tangent 
argument (in radians)  x k*π/2  with k = 
±
1, 
±
2… 
tanh(x) 
R C M  hyperbolic tangent 
xor(a,b) 
R  
logic exclusive-or 
returns 1 (true)  only if a  b 
BesselI(x,n) 
Bessel's function of 1st kind, nth 
order, mod. 
>0 , n = 0,1, 2, 3… 
BesselJ(x,n) 
Bessel's function of 1st kind, nth 
order 
0 , n = 0, 1, 2, 3… 
BesselK(x,n) 
Bessel's function of 2nd kind, nth 
order, mod. 
>0 , n = 0,1, 2, 3… 
BesselY(x,n) 
Bessel's function of 2nd kind, nth 
order 
0 , n = 0,1, 2, 3… 
J0(x) 
Bessel's function of 1st kind 
Y0(x) 
Bessel's function of 2nd kind 
I0(x) 
Bessel's function of 1st kind, modified   x >
K0(x) 
Bessel's function of 2nd kind, 
modified 
>
Si(x) 
Sine integral 
∀ x 
Ci(x) 
Cosine integral 
x >0 
zeta(x) 
Riemman's zeta function 
argument x<-1 or x>1 
AiryA(x)    
Airy function Ai(x) 
x, example  cbr(2) = 1.2599,  cbr(-2) = -
1.2599 
AiryB(x)   
Airy function Bi(x) 
argument (in radian)  x k*π/2  with k = 
±
1, 
±
2… 
Mean(a,b,...) 
R M 
Arithmetic mean 
mean(8,9,12,9,7,10) = 9.1666 
Meanq(a,b,...) 
R M
Quadratic mean 
meanq(8,9,12,9,7,10) = 9.300 
Meang(a,b,...) 
R M
Arithmetic mean 
meang(8,9,12,9,7,10) = 9.035 
Var(a,b,...) 
R M
Variance 
var(1,2,3,4,5,6,7) = 4.6666 
Varp(a,b,...) 
R M
Variance pop. 
varp(1,2,3,4,5,6,7) = 4 
Stdev(a,b,...) 
R M
Standard deviation 
Stdev(1,2,3,4,5,6,7) = 2.1602 
Stdevp(a,b,...) 
R M
Standard deviation pop. 
Stdevp(1,2,3,4,5,6,7) = 2 
Step(x,a) 
Haveside's step function 
Returns 1 if x  a  , 0 otherwise 
DSBeta(x, a, b, [j]) 
Beta distribution (j=1 cumulative) 
0 < x < 1 , a > 0, b > 0, 
DSBinomial(k, n, p, [j]) 
R
Binomial distribution (j=1 cumulative)  k integer, n integer , 0 < p < 1 
DSCauchy(x, m, s, n, [j]) 
R
Cauchy (generalized) distribution (j=1 
cumul.)
n integer , s > 0 
DSChi(x, r, [j]) 
R
Chi distribution (j=1 cumulative)
r integer, x > 0 
DSErlang(x, k, l, [j])) 
R
Erlang distribution (j=1 cumulative)
k integer, x > 0 
DSGamma(x, k, l, [j])) 
R
Gamma distribution (j=1 cumulative)
x > 0,  k > 0, l > 0 
DSLevy(x, l, [j])) 
R
Levy distribution (j=1 cumulative)
x > 0, l > 0 
DSLogNormal(x, m, s, [j])) 
R
Log-normal distribution (j=1 
cumulative)
x > 0, m  0, s > 0 
DSLogistic(x, m, s, [j])) 
R
Logistic distribution (j=1 cumulative)
x > 0, m  0, s > 0 
DSMaxwell(x, a, [j])) 
R
Maxwell-Boltzman distribution (j=1 
cumulative)
x > 0, a > 0 
DSMises(x, k, [j])) 
R
Von Mises distribution (j=1 
cumulative)
k > 0, -π < x < π 
DSNormal(x, m, s, [j])) 
R
Normal distribution (j=1 cumulative)
s > 0 
DSPoisson(k, z, [j])) 
R
Poisson distribution (j=1 cumulative)
k integer, z > 0 
DSRayleigh(x, s, [j])) 
R
Rayleigh distribution (j=1 cumulative)
x > 0, s > 0 
DSRice(x, v, s, [j])) 
R
Rice distribution (j=1 cumulative)
x > 0, v  0 , s > 0 
DSStudent(t, v, [j])) 
R
Student distribution (j=1 cumulative)
v integer degree of freedom 
DSWeibull(x, k, l, [j])) 
R
Weibull distribution (j=1 cumulative)
x > 0, k integer, l > 0 
Symbol "!" is the same as "Fact",  symbol "\" is the integer division, symbols “|x|” is the same as Abs(x) 
Logical function and operators returns 1 (true) or 0 (false) 
Note: the arguments separator of the functions changes automatically from "," to ";" if your system decimal separator is 
comma ",". 
C# WPF PDF Viewer SDK to view PDF document in C#.NET
WPF Viewer & Editor. WPF: View PDF. WPF: Annotate PDF. WPF: Export PDF. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Watermark: Add Watermark to PDF
pdf metadata online; remove metadata from pdf online
How to C#: Modify Image Metadata (tag)
C#.NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET VB.NET How-to, VB.NET PDF, VB.NET Word, VB VB.NET Barcode Read, VB.NET Barcode Generator, view less.
embed metadata in pdf; analyze pdf metadata
Xnumbers Tutorial 
274 
Function Optimization 
Macros for optimization on site   
These macros has been ideated for performing the optimization task directly on the worksheet. 
This means that you can define any function that you want simply using the standard Excel 
built-in functions.  
Objective function. For example: if you want to search the minimum of the bivariate function  
(
)
(
)
2
100
35
2
100
51
( , , )
+
=
y
x
f x x y
insert in the cell E4 the formula  "=(B4-0.51)^2+(C4-0.35)^2", where the cells B4 and C4 
contain the current values of the variables x and y respectively. Changing the values of B4 e/o 
C4 the function value E4 also changes consequently.  
For optimization, you can choose two different algorithms 
Downhill-Simplex 
1
The Nelder–Mead downhill simplex algorithm is a popular derivative-free 
optimization method. Although there are no theoretical results on the 
convergence of this algorithm, it works very well on a wide range of 
practical problems. It is a good choice when a one-off solution is wanted 
with minimum programming effort. It can also be used to minimize 
functions that are not differentiable, or we cannot differentiate. 
It shows a very robust behavior and converges for a very large set of 
starting points. In our experience is the best general purpose algorithm, 
solid as a rock, it's a "jack" for all trades. 
For mono and 
multivariate 
functions  
Divide-Conquer 1D
For monovariable function only, it is an high robust derivative free 
algorithm. It is simply a modified version of the bisection algorithm 
Adapt for every function, smooth or discontinue. 
It converges for very large segments. Starting point not necessary 
For monovariable 
function only. It 
needs the segment 
where the max or 
min is located 
Example assume to have to minimize the following function for x > 0 
cos(4 )
sin(3 )
( )
3
x
x e
e
f x
x
x
+
=
1
The Downhill-Simplex of Nelder and Maid routine appears by the courtesy of Luis Isaac Ramos Garcia 
C# TIFF: TIFF Metadata Editor, How to Write & Read TIFF Metadata
C#.NET. Allow Users to Read and Edit Metadata Stored in Tiff Image in C#.NET Application. C# Overview - View and Edit TIFF Metadata.
pdf metadata viewer online; read pdf metadata
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Document and metadata. All object data. File attachment. Flatten visible layers. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project.
clean pdf metadata; online pdf metadata viewer
Xnumbers Tutorial 
275 
We try to search the minimum in the range  0 < x < 10 
Choose a cell for the variable x , example B6, and insert the function  
= SIN(3*B6)*EXP(- 2*B6) + COS(4*B6)*EXP(-B6) 
in a cell that you like, for example C6. 
After this, add the constrain values into another range, for example B3:C3 
The values of the variables at the start are not important 
Select the cell of the function C6 and start the macro "1D divide and conquer", filling the input 
field as shown 
Stopping limit. Set the maximum evaluation points allowed.  
Max/Min. The radio buttons switches between the minimization and maximization algorithm 
The "Downhill-Simplex" macro is similar except that: 
 The constrain box is optional.  
 It accepts up to 9 variables (range form 1 to 9 cells) 
 The algorithm starts from the point that you give in the variable cells. If the constrain 
box is present, the algorithm starts from a random point inside the box 
Let's see how it works with some examples
1
1
The following examples are extracted from "Optimization and Nonlinear Fitting" , Foxes Team, Nov. 2004 
Xnumbers Tutorial 
276 
Example 1 - Rosenbrock's parabolic valley 
This family of test functions is well known to be a minimizing problem of high difficult 
(
)
(
)
2
2
2
1
( , , )
x
m y x
f x x y
+ −
= ⋅ ⋅ −
The parameter "m" tunes the difficult: high value means high difficult in minimum searching. 
The reason is that the minimum is located in a large flat region with a very low slope.  The 
following 3D plot shows the Rosenbrock's parabolic valley for m = 100 
The following contour plot is obtained for m = 10 
The function is always positive except in the point (1, 1) where it is 0. it is simple to 
demonstrate it, taking the gradient  
(
)
(
)
=
⋅ − − =
⋅ +
∇ =
0
2
2 0
2 1 1 2
4
0
2
3
my x
m y
x
m x
f
Xnumbers Tutorial 
277 
From the second equation, we get 
(
)
2
2
0
2
y x
my x
=
=
Substituting in the first equation, we have 
(
)
1
2 0
     2
2 0
2 1 1 2
4
2
3
=
− =
⋅ − − =
⋅ +
x
x
m x
x
m x
So the only extreme is the point (1, 1) that is the absolute minimum of the function 
To find numerically the minimum, let's arrange a similar sheet. 
We can insert the function and the parameters as we like 
Select the cell D4 - containing the objective function - and start the macro "Downhill-Simplex". 
The macro fills automatically the variables-field with the cells related to the objective function. 
But, In that case, the cell A4 contains the parameter m that the macro must not change. So 
insert only the range B4:C4 int the variables field. 
The cells B4:C4 will change for minimizing the 
objective function in the cell D4 
Leave empty the constraint  input box and press "Run" 
Starting from the point (0, 0) we obtain the following good results 
Algorithm 
error 
time 
10 
Simplex 
2.16E-13 
2 sec 
100 
Simplex 
4.19E-13 
2 sec 
where  the error is calculated as  |x-1|+|y-1| 
Example 2 - Constrained minimization 
Example: assume to have to minimize the following function 
7
10
4
4
2
( , , )
2
2
+
+
+
=
y
y
x
xy
x
f x x y
with the ranges constrains  
0.5
2   ,   0
0
≤ ≤
≤ ≤
y
x
The Excel arrangement can be like the following 
Xnumbers Tutorial 
278 
Compare with the exact solution  x = 1.5, y = 0.5 
Note that the function has a free minimum at x = 1, y = 1 
Repeat the example living empty the constrains box input, for finding those free extremes. 
Xnumbers Tutorial 
279 
Example 3 - Nonlinear Regression with Absolute Sum 
This example explains how to perform a nonlinear regression with an objective function 
different from the "Least Squared". In this example we adopt the "Absolute Sum".  
We choose the exponential model 
kx
a e
f xak
− ⋅
( , , , )= = ⋅
The goal of the regression is to find the best couple of parameters (a, k) that minimizes the sum 
of the absolute errors between the regression model and the given data set. 
=
( , , , )|
|
f x ak
y
AS
i
i
The objective function AS depends only by parameter a, k. Giving in input this function to our 
optimization algorithm we hope to solve the regression problem 
A possible arrangement of the worksheet may be: 
We hope that changing the parameters "a" and "k" int the cells E2 and F3, the objective 
function (yellow cell) goes to its minimum value. Note that the objective function depends 
indirectly by the parameters a and k.  
0
0.2
0.4
0.6
0.8
1
1.2
0
0.2
0.4
0.6
0.8
1
1.2
y
y*
The starting condition is the following, where y 
indicates the given data and y* is the 
regression plot (a flat line at the beginning) 
Start the Downhil-Simplex and insert the 
appropriate ranges: objective function = G3 
and variables = E3:F3 
Starting form the point (1, 0) you will see the cells changing quickly until the macro stops itself 
leaving the following "best" fitting parameters and the values of the regression y* 
Best fitting parameters  
-2 
The plot of the y* function and the samples 
y are shown in the graph. As we can see 
the regression fits perfectly the given 
dataset. 
Documents you may be interested
Documents you may be interested