itextsharp pdf to image c# example : Add text field to pdf SDK application API wpf html azure sharepoint 0782129781.excerpt5-part163

Gathering Information about Strings
51
To verify that the first letter of a value a user supplies is alphabetic, you might 
use dhIsCharAlpha like this:
If dhIsCharAlpha(strText) Then
' You know the first letter of strText is alphabetic.
End If
Is This Character Alphanumeric?
Expanding on the previous function, if you need to know whether a character is 
either alphabetic or numeric, Windows provides a simple function for this test, as 
well. You can use the IsCharAlphaNumericA API function, declared like this:
Private Declare Function IsCharAlphaNumericA Lib "USER32" _
(ByVal byChar As Byte) As Long
Just as before, we’ve provided a simple wrapper function for the API function, 
making it easier to call:
Function dhIsCharAlphaNumeric(strText As String) As Boolean
' Is the first character of strText an alphanumeric character?
dhIsCharAlphaNumeric = CBool(IsCharAlphaNumericA(Asc(strText)))
End Function
This function will return True if the first character of the value you pass it is either 
a letter or a digit.
Is This Character Numeric?
Although the task of determining whether a character is numeric could be quite 
simple, finding the best approach took a few iterations. We ended up with two 
techniques that are almost identical in their performance, and you’ll need to 
choose one based on your own preferences.
The first technique uses the two previous solutions—that is, a character is 
numeric if it’s alphanumeric but not alphabetic. Therefore, dhIsCharNumeric per-
forms the first determination.
Function dhIsCharNumeric(strText As String) As Boolean
' Is the first character of strText a numeric character?
dhIsCharNumeric = dhIsCharAlphaNumeric(strText) _
And Not dhIsCharAlpha(strText)
End Function
Add text field to 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
best way to make pdf forms; change font size pdf fillable form
Add text field to 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
cannot save pdf form; best program to create pdf forms
Chapter 1  Manipulating Strings
52
An alternative technique is to use the Like operator, discussed in the section 
“Comparison Operators” earlier in this chapter. If you’re checking only to see 
whether a character is numeric, this is the best solution; it involves no API calls 
and no declarations. If you’re already using the other two API-reliant functions, 
you might as well use them here. This alternative checks the first character of the 
string you send it, comparing it to “[0–9]*”:
Function dhIsCharNumeric1(strText As String) As Boolean
' Is the first character numeric?
' Almost identical in speed to calling the two API functions.
dhIsCharNumeric1 = (strText Like "[0-9]*")
End Function
Working with Wide Character Sets
Unfortunately, the two techniques shown here that call the Windows API will fail if your
version of Windows uses wide (two-byte) characters or if you want your solutions to run
on machines that use wide characters. In these cases, you’ll need to take extra steps.
The simplest solution is to determine the maximum character width in the selected charac-
ter set and choose the correct API function to call based on that determination. (The code
examples on the CD-ROM do take these extra steps.) The 32-bit Windows API specification
includes two versions of most functions that involve strings: one for the ANSI environment
and one for DBCS and Unicode environments. In the examples shown here, we’ve used
the ANSI solution because that solution works for English text.
To determine whether you need to use the alternate API calls, you can use the dhIs-
CharsetWide function. Once you’ve got the return value from that function, you can
decide whether to call the ANSI or the Unicode version of the API functions, like this:
Function dhIsCharAlphaNumeric(strText As String) As Boolean
If dhIsCharsetWide() Then
dhIsCharAlphaNumeric = _
CBool(IsCharAlphaNumericW(AscW(strText)))
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Insert images into PDF form field. Access to freeware download and online C#.NET class source code. How to insert and add image, picture, digital photo, scanned
add form fields to pdf without acrobat; add image field to pdf form
VB.NET PDF insert image library: insert images into PDF in vb.net
Insert images into PDF form field in VB.NET. with this sample VB.NET code to add an image PDFDocument = New PDFDocument(inputFilePath) ' Get a text manager from
create a fillable pdf form; add form fields to pdf online
Gathering Information about Strings
53
Counting the Number of Times a Substring Appears
The InStr built-in VBA function can tell you whether a particular string appears 
within another string (InStr returns a position within the string if the substring is 
there and 0 if it’s not), but it can’t tell you how many times the substring appears. 
If you want to count occurrences (and several of the other functions in this chapter 
will need to do this), you can use the dhCountIn function, shown in Listing 1.9.
Listing 1.9: Find the Number of Occurrences of a Substring
Public Function dhCountIn(strText As String, strFind As String, _
Optional lngCompare As VbCompareMethod = vbBinaryCompare) As Long
Dim lngCount As Long
Dim lngPos As Long
' If there's nothing to find, there surely can't be any
' found, so return 0.
If Len(strFind) > 0 Then
lngPos = 1
Do
lngPos = InStr(lngPos, strText, strFind, lngCompare)
If lngPos > 0 Then
lngCount = lngCount + 1
lngPos = lngPos + Len(strFind)
End If
Loop While lngPos > 0
Else
lngCount = 0
Else
dhIsCharAlphaNumeric = _
CBool(IsCharAlphaNumericA(Asc(strText)))
End If
End Function
Note that you must also call the AscW function when working with the “wide” versions of
the API functions.
VB.NET PDF Text Extract Library: extract text content from PDF
With this advanced PDF Add-On, developers are able to extract target text content from source PDF document and save extracted text to other file formats
add signature field to pdf; create a pdf form from excel
C# PDF Text Extract Library: extract text content from PDF file in
How to C#: Extract Text Content from PDF File. Add necessary references: RasterEdge.Imaging.Basic.dll. RasterEdge.Imaging.Basic.Codec.dll.
chrome save pdf form; pdf forms save
Chapter 1  Manipulating Strings
54
End If
dhCountIn = lngCount
End Function
Of course, if there’s nothing to find, the function just returns 0:
If Len(strFind) > 0 Then
' the real code goes here
Else
intCount = 0
End If
To perform the search, the code loops through the input text, looking for the 
search string, until it no longer finds any matches (that is, until the return value 
from InStr is 0). Along the way, if it finds a match, it increments the value of 
intCount and moves the start position to the character after the end of the sought 
string in the input text. This not only speeds up the search (why look for the text at 
the very next character after you just found it if the text you’re looking for is, say, 
four characters long?), it also avoids finding overlapping matches. Here’s the code 
fragment that does the major portion of the work:
lngPos = 1
Do
lngPos = InStr(lngPos, strText, strFind, lngCompare)
If lngPos > 0 Then
lngCount = lngCount + 1
lngPos = lngPos + Len(strFind)
End If
Loop While lngPos > 0
To find the number of vowels in a string, you might write code like this:
intVowels = dhCountIn(strText, "A") + dhCountIn(strText, "E") + _
dhCountIn(strText, "I") + dhCountIn(strText, "O") + _
dhCountIn(strText, "U")
The  dhCountIn  function,  like  all  the  functions  in  this  chapter  that  perform
searching, is case sensitive by default. If you want to perform case-insensitive
searches, either  modify  the  source code  or  pass in  the appropriate  optional
parameter value (vbTextCompare).
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
pdf form maker; create a fillable pdf form online
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Add Password to PDF with Permission Settings Applied in C#.NET. This example shows how to add PDF file password with access permission setting.
adding signature to pdf form; adding text field to pdf
Gathering Information about Strings
55
Counting the Number of Tokens in a Delimited String
The dhCountTokens function, shown in Listing 1.10, is a general-purpose func-
tion that allows you to find out how many “chunks” of text there are in a string, 
given text delimiters that you supply. The function interprets any one of the char-
acters in your list of delimiters as a token separator, so
Debug.Print dhCountTokens("This is a test", " ")
returns 4, as does
Debug.Print dhCountTokens("This:is!a test", ": !")
Because every delimiter character must delimit a token, the following example 
returns 10:
Debug.Print dhCountTokens("This:!:is:!:a:!:test", ": !")
You’ll have to look carefully to see them, but the individual tokens are
This, "", "", is, "", "", a, "", "", test
Counting Vowels Revisited
You could use the dhCountIn function to count vowels, as shown in the previous example. You
might also take advantage of the dhTranslate and Split functions to do the same job. That
is, you can have dhTranslate replace all vowels with a single vowel, and then use the Split
function to split the text, based on that single vowel. The size of the array returned from
Split tells you how many vowels you have. For example, you might write the code this way
(see the next section for more information on using dhTranslate in this manner):
Public Function CountVowels(ByVal strIn As String) As Long
' An alternative way to calculate vowels in a piece of text.
Dim astrItems() As String
strIn = dhTranslate(strIn, "AEIOU", "A", vbTextCompare)
astrItems = Split(strIn, "A")
CountVowels = UBound(astrItems) - LBound(astrItems)
End Function
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. Redact Text Content. Redact Images. Redact Pages. Annotation & Drawing. Add Sticky Note.
convert word to editable pdf form; create a fillable pdf form from a word document
C# PDF Text Add Library: add, delete, edit PDF text in C#.net, ASP
Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. Redact Text Content. Redact Images. Redact Pages. Annotation & Drawing. Add Sticky Note.
change font size in pdf form; change pdf to fillable form
Chapter 1  Manipulating Strings
56
Listing 1.10: Count the Number of Tokens in a String
Public Function dhCountTokens(ByVal strText As String, _
ByVal strDelimiter As String, _
Optional lngCompare As VbCompareMethod = vbBinaryCompare) As Long
Dim strChar As String * 1
' If there's no search text, there can't be any tokens.
If Len(strText) = 0 Then
dhCountTokens = 0
ElseIf Len(strDelimiter) = 0 Then
' If there's no delimiters, the output
' is the entire input.
dhCountTokens = 1
Else
strChar = Left$(strDelimiter, 1)
' Flatten all the delimiters to just the first one in
' the list.
If Len(strDelimiter) > 1 Then
strText = dhTranslate(strText, strDelimiter, _
strChar, lngCompare)
End If
' Count the tokens. Actually, count
' delimiters, and add one.
dhCountTokens = dhCountIn(strText, strChar) + 1
End If
End Function
The dhCountTokens function is somewhat tricky—it uses the dhCountIn func-
tion, which can count the occurrence of only a single item. Rather than call 
dhCountIn multiple times, once for each different delimiter, dhCountTokens “flat-
tens” the delimiters in the input text. That is, it first calls the dhTranslate function 
to map all the different delimiters to the first character in your list of delimiters:
strChar = Left$(strDelimiter, 1)
' Flatten all the delimiters to just the first one in
' the list.
If Len(strDelimiter) > 1 Then
strText = dhTranslate(strText, strDelimiter, strChar)
End If
Gathering Information about Strings
57
That is, if you called dhCountTokens as
Debug.Print dhCountTokens("This:!:is:!:a:!:test", ": !")
after the code fragment listed previously, strText would contain
"This:::is:::a:::test"
Now it’s just a matter of counting the number of times the first delimiter appears 
in the string and adding 1. (If there are four delimiters, there must be five tokens.)
dhCountTokens = dhCountIn(strText, strChar) + 1
That’s all there is to it. The next section shows a typical reason to call dhCountTokens.
Counting the Number of Words in a String
Although the dhCountTokens function provides you with total flexibility, you’re 
more often going to want to count specific types of delimited objects. Counting 
words is a typical task, and dhCountWords uses techniques similar to those used 
in dhCountTokens to make the task simple. The code, shown in Listing 1.11, takes 
the following steps:
1. Checks the length of the input text. If it’s 0, there’s not much point in con-
tinuing.
2. Calls dhTranslate to convert all the delimiters to spaces. The function uses a 
standard set of delimiters, declared as follows:
Const dhcDelimiters As String = " ,.!:;<>?"
Counting Vowels Re-Revisited
Now that you’ve got the dhCountTokens function ready to use, you could rewrite the
CountVowels function discussed in the previous section, like this:
Public Function CountVowels2(ByVal strIn As String) As Long
' An alternative way to calculate vowels in a piece of text.
CountVowels2 = _
dhCountTokens(strIn, "aeiou", vbTextCompare) – 1
End Function
For example, if a string breaks down into 16 tokens, it must contain 15 vowels. This simple
function shows the power of the parsing functions included in this chapter.
Chapter 1  Manipulating Strings
58
3. Calls dhTrimAll to remove leading and trailing spaces and converts all 
groups of spaces to a single space within the text.
4. Calls dhCountIn to count the spaces in the string and adds 1 to the result.
For example, calling dhCountWords like this:
dhCountWords("Hi there, my name is Cleo, what’s yours?")
returns 8, the number of words in the string.
Listing 1.11: Count the Number of Words in a String
Public Function dhCountWords(ByVal strText As String) As Long
If Len(strText) = 0 Then
dhCountWords = 0
Else
' Get rid of any extraneous stuff, including delimiters and
' spaces. First convert delimiters to spaces, and then
' remove all extraneous spaces.
strText = dhTrimAll(dhTranslate(strText, dhcDelimiters, " "))
' If there are three spaces, there are
' four words, right?
dhCountWords = dhCountIn(strText, " ") + 1
End If
End Function
Converting Strings
This section presents a series of techniques for performing common tasks involv-
ing the conversion of a string from one form to another. The section includes the 
following topics:
• Converting a number into a string with the correct ordinal suffix
• Converting a number to roman numerals
• Performing a “smart” proper case conversion
• Encrypting/decrypting text using XOR password encryption
• Returning a string left-padded or right-padded to a specified width
• Using Soundex to compare strings
Converting Strings
59
Another common string conversion trick is the conversion from a numeric value
into written text (as you might when writing a check, for example). You’ll find a
procedure that does this work for you in Chapter 2.
Converting a Number into a String with the Correct 
Ordinal Suffix
If you want to be able to represent a numeric value as its ordinal position in a set, 
you’ll need to write a function that, when provided with an integer, returns a 
string containing the value and its suffix as a string. The simple dhOrdinal func-
tion, shown in Listing 1.12, does what you need; it takes in a numeric value and 
returns a string containing the ordinal representation of that value. For example:
dhOrdinal(34)
returns “34th”, and
dhOrdinal(1)
returns “1st”.
The dhOrdinal function counts on standard rules to calculate the suffix (once 
it’s removed all but the final two digits, using the Mod operator:
• All values between 11 and 19, inclusive, use “th”.
Otherwise:
• Numbers that end in 1 use “st”.
• Numbers that end in 2 use “nd”.
• Numbers that end in 3 use “rd”.
• All numbers that haven’t yet been claimed use “th”.
Listing 1.12: Convert a Value to Its Ordinal Suffix
Public Function dhOrdinal(lngItem As Long) As String
Dim intDigit As Integer
Dim strOut As String * 2
Dim intTemp As Integer
Chapter 1  Manipulating Strings
60
' All teens use "th"
intTemp = lngItem Mod 100
If intTemp >= 11 And intTemp <= 19 Then
strOut = "th"
Else
' Get that final digit
intDigit = lngItem Mod 10
Select Case intDigit
Case 1
strOut = "st"
Case 2
strOut = "nd"
Case 3
strOut = "rd"
Case Else
strOut = "th"
End Select
End If
dhOrdinal = lngItem & strOut
End Function
The code first uses the Mod operator to retrieve the final two digits and checks 
for values between 11 and 19—these should all use the “th” suffix. For other val-
ues, the code looks at the “ones” digit because that’s all it takes to determine 
which suffix to use. To find the digit that ends each number, the code uses the 
Mod operator, which returns the remainder when you divide by the second oper-
and. For example:
41 Mod 10
returns 1, the remainder you get when you divide 41 by 10.
The dhOrdinal function would need to be completely overhauled for any language
besides English; it’s not clear that the ordinal suffixes would even group the same
way in any other language. If you intend to distribute applications globally, be
sure to allot time for rewriting this function for each localized language.
Converting a Number into Roman Numerals
If you’re creating legal documents programmatically, or if your job involves copy-
right notifications (well, it is somewhat difficult coming up with compelling sce-
narios for this one), you’re likely to require the capability to convert integers into 
Documents you may be interested
Documents you may be interested