open source pdf to image converter c# : Adding text to a pdf form SDK Library service wpf .net web page dnn 05-welling-php-mysql-web14-part59

107
Formatting Strings
<title>Bob’s Auto Parts - Feedback Submitted</title>
</head>
<body>
<h1>Feedback submitted</h1>
<p>Your feedback has been sent.</p>
</body>
</html>
Generally,you should check that users have filled out all the required form fields using,
for example,
isset()
.We have omitted this function call from the script and other
examples for the sake of brevity.
In this script,you can see that we have concatenated the form fields together and
used PHP’s 
mail()
function to email them to 
feedback@example.com
.This is a sample
email address. If you want to test the code in this chapter,substitute your own email
address here. Because we haven’t yet used 
mail()
,we need to discuss how it works.
Unsurprisingly, this function sends email.The prototype for 
mail()
looks like this:
bool mail(string to, string subject, string message,
string [additional_headers [, string additional_parameters]]);
The first three parameters are compulsory and represent the address to send email to,the
subject line,and the message contents,respectively.The fourth parameter can be used to
send any additional valid email headers.Valid email headers are described in the docu-
ment RFC822,which is available online if you want more details.(RFCs,or Requests
for Comment,are the source of many Internet standards;we discuss them in Chapter 19,
“Using Network and Protocol Functions.”) Here,the fourth parameter adds a 
“From:”
address for the mail.You can also use it to add 
“Reply-To:”
and 
“Cc:”
fields, among
others.If you want more than one additional header,just separate them by using new-
lines and carriage returns (
\n\r
) within the string, as follows:
$additional_headers=”From: webserver@example.com\r\n “
.’Reply-To: bob@example.com’;
The optional fifth parameter can be used to pass a parameter to whatever program you
have configured to send mail.
To use the
mail()
function,set up your PHP installation to point at your mail-
sending program.If the script doesn’t work for you in its current form,double-check
Appendix A,“Installing PHP5 and MySQL5.”
Throughout this chapter,you enhance this basic script by making use of PHP’s string
handling and regular expression functions.
Formatting Strings
You often need to tidy up user strings (typically from an HTML form interface) before
you can use them.The following sections describe some of the functions you can use.
Listing 4.1 Continued
Adding text to a 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
add text fields to pdf; change font size pdf form reader
Adding text to a 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
chrome save pdf with fields; pdf add signature field
108
Chapter 4 String Manipulation and Regular Expressions
Trimming Strings: chop(), ltrim(), and trim()
The first step in tidying up is to trim any excess whitespace from the string.Although
this step is never compulsory,it can be useful if you are going to store the string in a file
or database, or if you’re going to compare it to other strings.
PHP provides three useful functions for this purpose.You can use the 
trim()
func-
tion to tidy up your input data as follows:
$name=trim($name);
$email=trim($email);
$feedback=trim($feedback);
The 
trim()
function strips whitespace from the start and end of a string and returns the
resulting string.The characters it strips by default are newlines and carriage returns (
\n
and 
\r
),horizontal and vertical tabs 
(\t
and 
\x0B
), end-of-string characters 
(\0
),and
spaces.You can also pass it a second parameter containing a list of characters to strip
instead of this default list.Depending on your particular purpose, you might like to use
the 
ltrim()
or 
rtrim()
functions instead.They are both similar to 
trim()
,taking the
string in question as a parameter and returning the formatted string.The difference
between these three is that 
trim()
removes whitespace from the start and end of a
string,
ltrim()
removes whitespace from the start (or left) only,and 
rtrim()
removes
whitespace from the end (or right) only.
Formatting Strings for Presentation
PHP includes a set of functions that you can use to reformat a string in different ways.
Using HTML Formatting: The nl2br() Function
The
nl2br()
function takes a string as a parameter and replaces all the newlines in it
with the XHTML 
<br />
tag (or the HTML 
<br>
tag in versions prior to 4.0.5).This
capability is useful for echoing a long string to the browser.For example,you can use
this function to format the customer’s feedback to echo it back:
<p>Your feedback (shown below) has been sent.</p>
<p><?php echo nl2br($mailcontent); ?> </p>
Remember that HTML disregards plain whitespace,so if you don’t filter this output
through 
nl2br()
,it will appear on a single line (except for newlines forced by the
browser window).The result is illustrated in Figure 4.2.
Formatting a String for Printing
So far,you have used the 
echo
language construct to print strings to the browser.PHP
also supports a 
print()
construct,which does the same thing as 
echo
,but returns a
value (
true
or 
false
,denoting success).
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.
add picture to pdf form; can reader edit pdf forms
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; cannot save pdf form in reader
109
Formatting Strings
Figure 4.2 Using PHP’s 
nl2br()
function improves the display 
of long strings within HTML.
Both of these techniques print a string “as is.”You can apply some more sophisticated
formatting using the functions 
printf()
and 
sprintf()
.They work basically the same
way, except that 
printf()
prints a formatted string to the browser and 
sprintf()
returns a formatted string.
If you have previously programmed in C,you will find that these functions are con-
ceptually similar to the C versions.Be careful, though,because the syntax is not exactly
the same. If you haven’t,they take getting used to but are useful and powerful.
The prototypes for these functions are
string sprintf (string format [, mixed args...])
void printf (string format [, mixed args...])
The first parameter passed to both of these functions is a format string that describes the
basic shape of the output with format codes instead of variables.The other parameters
are variables that will be substituted in to the format string.
For example,using 
echo
,you can use the variables you want to print inline,like this:
echo “Total amount of order is $total.”;
To get the same effect with 
printf()
,you would use
printf (“Total amount of order is %s.”, $total);
The 
%s
in the format string is called a conversion specification.This one means “replace
with a string.”In this case,it is replaced with 
$total
interpreted as a string.If the value
stored in 
$total
was 12.4,both of these approaches would print it as 
12.4
.
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Provide VB.NET Users with Solution of Adding Text Box to PDF Page in VB
pdf form save with reader; add submit button to pdf form
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.
create pdf forms; best way to make pdf forms
110
Chapter 4 String Manipulation and Regular Expressions
The advantage of 
printf()
is that you can use a more useful conversion specification
to specify that 
$total
is actually a floating-point number and that it should have two
decimal places after the decimal point, as follows:
printf (“Total amount of order is %.2f”, $total);
Given this formatting, and 12.4 stored in 
$total
,this statement will print as 
12.40
.
You can have multiple conversion specifications in the format string.If you have 
n
conversion specifications,you will usually have 
n
arguments after the format string.Each
conversion specification will be replaced by a reformatted argument in the order they are
listed. For example,
printf (“Total amount of order is %.2f (with shipping %.2f) “,
$total, $total_shipping);
Here, the first conversion specification uses the variable 
$total
,and the second uses the
variable 
$total_shipping
.
Each conversion specification follows the same format, which is
%[‘padding_character][-][width][.precision]type
All conversion specifications start with a 
%
symbol. If you actually want to print a 
%
symbol,you need to use 
%%
.
The
padding_character
is optional.It is used to pad your variable to the width you
have specified.An example would be to add leading zeros to a number like a counter.
The default padding character is a space.If you are specifying a space or zero, you do not
need to prefix it with the apostrophe (
).For any other padding character,you need to
prefix it with an apostrophe.
The 
-
symbol is optional. It specifies that the data in the field will be left-justified
rather than right-justified, which is the default.
The 
width
specifier tells 
printf()
how much room (in characters) to leave for the
variable to be substituted in here.
The 
precision
specifier should begin with a decimal point.It should contain the
number of places after the decimal point you would like displayed.
The final part of the specification is a type code.A summary of these codes is shown
in Table 4.1.
Table 4.1 Conversion Specification Type Codes
Type
Meaning
b
Interpret as an integer and print as a binary number.
c
Interpret as an integer and print as a character.
d
Interpret as an integer and print as a decimal number.
f
Interpret as a double and print as a floating-point number.
o
Interpret as an integer and print as an octal number.
s
Interpret as a string and print as a string.
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:
adding text field to pdf; add email button to pdf form
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 forms to pdf; pdf form change font size
111
Formatting Strings
u
Interpret as an integer and print as an unsigned decimal.
x
Interpret as an integer and print as a hexadecimal number with lowercase letters for
the digits a–f.
X
Interpret as an integer and print as a hexadecimal number with uppercase letters for
the digitsA–F.
Since PHP version 4.0.6,you can use argument numbering, which means that the argu-
ments don’t need to be in the same order as the conversion specifications.For example,
printf (“Total amount of order is %2\$.2f (with shipping %1\$.2f) “,
$total_shipping, $total);
Just add the argument position in the list directly after the 
%
sign,followed by an escaped
$
symbol; in this example,
2\$
means “replace with the second argument in the list.”This
method can also be used to repeat arguments.
Two alternative versions of these functions are called 
vprintf()
and 
vsprintf()
.
These variants accept two parameters:the format string and an array of the arguments
rather than a variable number of parameters.
Changing the Case of a String
You can also reformat the case of a string.This capability is not particularly useful for the
sample application, but we’ll look at some brief examples.
If you start with the subject string,
$subject
,which you are using for email,you can
change its case by using several functions.The effect of these functions is summarized in
Table 4.2.The first column shows the function name,the second describes its effect,the
third shows how it would be applied to the string 
$subject
,and the last column shows
what value would be returned from the function.
Table 4.2 String Case Functions and Their Effects
Function
Description
Use
Value
$subject
Feedback from
web site
strtoupper()
Turns string to
strtoupper($subject)
FEEDBACK 
uppercase
FROM
WEB SITE
strtolower()
Turns string to
strtolower($subject)
feedback from
lowercase
web site
ucfirst()
Capitalizes first
ucfirst($subject)
Feedback from
character of string
web site
if it’s alphabetic
Table 4.1 Continued
Type
Meaning
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Professional VB.NET Solution for Adding Text Annotation to PDF Page in
add image to pdf form; changing font size in pdf form
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.
adding a text field to a pdf; change text size pdf form
112
Chapter 4 String Manipulation and Regular Expressions
ucwords()
Capitalizes first
ucwords($subject)
Feedback From
character of each
Web Site
word in the string
that begins with
an alphabetic
character
Formatting Strings for Storage: addslashes() and 
stripslashes()
In addition to using string functions to reformat a string visually,you can use some of
these functions to reformat strings for storage in a database.Although we don’t cover
actually writing to the database until Part II,“Using MySQL,”we cover formatting
strings for database storage now.
Certain characters are perfectly valid as part of a string but can cause problems, par-
ticularly when you are inserting data into a database because the database could interpret
these characters as control characters.The problematic ones are quotation marks (single
and double), backslashes (
\
),and the 
NULL
character.
You need to find a way of marking or escaping these characters so that databases such
as MySQL can understand that you meant a literal special character rather than a control
sequence.To escape these characters,add a backslash in front of them.For example,
(double quotation mark) becomes 
\”
(backslash double quotation mark),and 
\
(back-
slash) becomes 
\\
(backslash backslash).(This rule applies universally to special charac-
ters,so if you have 
\\
in your string,you need to replace it with 
\\\\
.)
PHP provides two functions specifically designed for escaping characters.Before you
write any strings into a database,you should reformat them with 
addslashes()
,as 
follows:
$feedback = addslashes($feedback);
Like many of the other string functions,
addslashes()
takes a string as a parameter and
returns the reformatted string.
Figure 4.3 shows the actual effects of using these functions on the string.
You may try these functions on your server and get a result that looks more like 
Figure 4.4.
Table 4.2 Continued
Function
Description
Use
Value
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Insert images into PDF form field. To help you solve this technical problem, we provide this C#.NET PDF image adding control, XDoc.PDF for .NET.
add text field to pdf acrobat; add form fields to pdf without acrobat
C# PDF Page Insert Library: insert pages into PDF file in C#.net
By using reliable APIs, C# programmers are capable of adding and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word, Excel
add date to pdf form; add attachment to pdf form
113
Joining and Splitting Strings with String Functions
Figure 4.3 After the 
addslashes()
function is called, all the quotation
marks have been slashed out.
stripslashes()
removes the slashes.
Figure 4.4 All problematic characters have been escaped twice; this means
the magic quotes feature is switched on.
If you see this result,it means that your configuration of PHP is set up to add and strip
slashes automatically.This capability is controlled by the 
magic_quotes_gpc
configura-
tion directive.This directive is now on by default in new versions of PHP.The letters gpc
stand for GET, POST, and cookie.This means that variables coming from these sources
are automatically quoted.You can check whether this directive is switched on in your
system by using the 
get_magic_quotes_gpc()
function,which returns 
true
if strings
from these sources are being automatically quoted for you.If this directive is on in your
system, you need to call
stripslashes()
before displaying user data;otherwise,the
slashes will be displayed.
Using magic quotes allows you to write more portable code.You can read more
about this feature in Chapter 23, “Other Useful Features.”
Joining and Splitting Strings with String
Functions
Often,you may want to look at parts of a string individually.For example,you might
want to look at words in a sentence (say,for spellchecking) or split a domain name or
email address into its component parts.PHP provides several string functions (and one
regular expression function) that allow you to do this.
114
Chapter 4 String Manipulation and Regular Expressions
In the example,Bob wants any customer feedback from 
bigcustomer.com
to go
directly to him, so you can split the email address the customer typed into parts to find
out whether he or she works for Bob’s big customer.
Using explode(), implode(), and join()
The first function you could use for this purpose,
explode()
,has the following proto-
type:
array explode(string separator, string input [, int limit]);
This function takes a string 
input
and splits it into pieces on a specified 
separator
string.The pieces are returned in an array.You can limit the number of pieces with the
optional 
limit
parameter,added in PHP 4.0.1.
To get the domain name from the customer’s email address in the script,you can use
the following code:
$email_array = explode(‘@’, $email);
This call to 
explode()
splits the customer’s email address into two parts:the username,
which is stored in 
$email_array[0]
,and the domain name,which is stored in
$email_array[1]
.Now you can test the domain name to determine the customer’s 
origin and then send the feedback to the appropriate person:
if ($email_array[1]==’bigcustomer.com’)
$toaddress = ‘bob@example.com’;
else
$toaddress = ‘feedback@example.com’;
If the domain is capitalized,however,this approach will not work.You could avoid this
problem by converting the domain to all uppercase or all lowercase and then checking,
as follows:
$email_array[1] = strtolower ($email_array[1]);
You can reverse the effects of 
explode()
by using either 
implode()
or 
join()
,which
are identical.For example,
$new_email = implode(‘@’, $email_array);
This statement takes the array elements from 
$email_array
and joins them with the
string passed in the first parameter.The function call is similar to 
explode()
,but the
effect is the opposite.
Using strtok()
Unlike 
explode()
,which breaks a string into all its pieces at one time,
strtok()
gets
pieces (called tokens) from a string one at a time.
strtok()
is a useful alternative to using
explode()
for processing words from a string one at a time.
115
Joining and Splitting Strings with String Functions
The prototype for 
strtok()
is
string strtok(string input, string separator);
The separator can be either a character or a string of characters,but the input string is
split on each of the characters in the separator string rather than on the whole separator
string (as 
explode
does).
Calling 
strtok()
is not quite as simple as it seems in the prototype.To get the first
token from a string,you call 
strtok()
with the string you want tokenized and a separa-
tor.To get the subsequent tokens from the string,you just pass a single parameter—the
separator.The function keeps its own internal pointer to its place in the string.If you
want to reset the pointer,you can pass the string into it again.
strtok()
is typically used as follows:
$token = strtok($feedback, ‘ ‘);
echo $token.’<br />’;
while ($token!=’’)
{
$token = strtok(‘ ‘);
echo $token.’<br />’;
};
As usual,it’s a good idea to check that the customer actually typed some feedback in 
the form,using,for example,the 
empty()
function.We have omitted these checks for
brevity.
The preceding code prints each token from the customer’s feedback on a separate
line and loops until there are no more tokens.Note that prior to version 4.1.0,PHP’s
strtok()
didn’t work exactly the same as the one in C.If two instances of a separator
appeared in a row in your target string (in this example,two spaces in a row),
strtok()
would return an empty string.You could not differentiate this from the empty string
returned when you got to the end of the target string.Also,if one of the tokens was
zero,the empty string was returned.This made PHP’s 
strtok()
somewhat less useful
than the one in C.The new version works correctly,skipping empty strings.
Using substr()
The 
substr()
function enables you to access a substring between given start and end
points of a string.It’s not appropriate for the example used here but can be useful when
you need to get at parts of fixed format strings.
The 
substr()
function has the following prototype:
string substr(string string, int start[, int length] );
This function returns a substring copied from within 
string
.
The following examples use this test string:
$test = ‘Your customer service is excellent’;
116
Chapter 4 String Manipulation and Regular Expressions
If you call it with a positive number for 
start
(only), you will get the string from the
start
position to the end of the string.For example,
substr($test, 1);
returns 
our customer service is excellent
.Note that the string position starts 
from 0,as with arrays.
If you call 
substr()
with a negative 
start
(only),you will get the string from the
end of the string minus 
start
characters to the end of the string.For example,
substr($test, -9);
returns 
excellent
.
The 
length
parameter can be used to specify either a number of characters to return
(if it is positive) or the end character of the return sequence (if it is negative).For 
example,
substr($test, 0, 4);
returns the first four characters of the string—namely,
Your
.The code
echo substr($test, 5, -13);
returns the characters between the fourth character and the thirteenth-to-last 
character—that is,
customer service
.The first character is location 0.So location 5 is
the sixth character.
Comparing Strings
So far,we’ve just shown you how to use 
==
to compare two strings for equality.You can
do some slightly more sophisticated comparisons using PHP.We’ve divided these com-
parisons into two categories for you: partial matches and others.We deal with the others
first and then get into partial matching,which we need to further develop the Smart
Form example.
Performing String Ordering: strcmp(), strcasecmp(), and
strnatcmp()
The 
strcmp()
,
strcasecmp()
,and 
strnatcmp()
functions can be used to order strings.
This capability is useful when you are sorting data.
The prototype for 
strcmp()
is
int strcmp(string str1, string str2);
The function expects to receive two strings,which it compares. If they are equal,it will
return 
0
.If 
str1
comes after (or is greater than) 
str2
in lexicographic order,
strcmp()
will return a number greater than zero.If 
str1
is less than 
str2
,
strcmp()
will return a
number less than zero.This function is case sensitive.
The function 
strcasecmp()
is identical except that it is not case sensitive.
Documents you may be interested
Documents you may be interested