itextsharp pdf to image c# example : Adding text field to pdf Library SDK API .net asp.net winforms sharepoint 0782129781.excerpt6-part164

Converting Strings
61
roman numerals. Although this need may not come up often, when it does, it’s 
tricky enough that you’ll want to avoid having to write the code yourself.
The dhRoman function, in Listing 1.13, can accept an integer between 1 and 
3999 (the Romans didn’t have a concept of 0), and it returns the value converted 
into roman numerals. For example:
Debug.Print dhRoman(1997)
displays “MCMXCVII”, and
Debug.Print dhRoman(3999)
displays “MMMCMXCIX”.
Attempting to convert a number greater than 3999 or less than 1 will raise a run-
time error in dhRoman.
Listing 1.13: Convert Numbers to Roman Numerals
Public Function dhRoman(ByVal intValue As Integer) As String
Dim varDigits As Variant
Dim lngPos As Integer
Dim intDigit As Integer
Dim strTemp As String
' Build up the array of roman digits
varDigits = Array("I", "V", "X", "L", "C", "D", "M")
lngPos = LBound(varDigits)
strTemp = ""
Do While intValue > 0
intDigit = intValue Mod 10
intValue = intValue \ 10
Select Case intDigit
Case 1
strTemp = varDigits(lngPos) & strTemp
Case 2
strTemp = varDigits(lngPos) & _
varDigits(lngPos) & strTemp
Adding 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
chrome save pdf form; adding text fields to a pdf
Adding 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
add form fields to pdf; add image field to pdf form
Chapter 1  Manipulating Strings
62
Case 3
strTemp = varDigits(lngPos) & _
varDigits(lngPos) & varDigits(lngPos) & strTemp
Case 4
strTemp = varDigits(lngPos) & _
varDigits(lngPos + 1) & strTemp
Case 5
strTemp = varDigits(lngPos + 1) & strTemp
Case 6
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & strTemp
Case 7
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & varDigits(lngPos) & strTemp
Case 8
strTemp = varDigits(lngPos + 1) & _
varDigits(lngPos) & varDigits(lngPos) & _
varDigits(lngPos) & strTemp
Case 9
strTemp = varDigits(lngPos) & _
varDigits(lngPos + 2) & strTemp
End Select
lngPos = lngPos + 2
Loop
dhRoman = strTemp
End Function
How does dhRoman do its work? As you probably know, all numbers built in 
roman numerals between 1 and 3999 consist of the seven digits I, V, X, L, C, D, and 
M. The I, X, C, and M digits represent 1, 10, 100, and 1000; V, L, and D represent 5, 
50, and 500, respectively. The code loops through all the digits of your input value 
from right to left, using the Mod operator to strip them off one by one:
Do While intValue > 0
intDigit = intValue Mod 10
intValue = intValue \ 10
' (Code removed)
intPos = intPos + 2
Loop
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.
changing font in pdf form; pdf fillable form creator
VB.NET PDF insert text library: insert text into PDF content in vb
Multifunctional Visual Studio .NET PDF SDK library supports adding text content to features, like delete and remove PDF text, add PDF text box and field.
edit pdf form; cannot edit pdf form
Converting Strings
63
At each point in the loop, intDigit contains the right-most digit of the value, and 
intValue keeps getting smaller, one digit at a time. For example, the following 
table shows the values of the two variables while dhRoman tackles the value 1234:
In addition, intPos indicates which array element to use in building the string as 
the code moves through the ones, tens, hundreds, and thousands places in the 
value.
Based on the value in intDigit, the code uses a Select Case construct to choose 
the characters to prepend to the output string. (That’s right—prepend. dhRoman 
constructs the output string from right to left, adding items to the left of the string 
as it works.) For example, for the value 1234, dhRoman finds the digit 4 when int-
Pos is 0. The code says to use
strTemp = varDigits(intPos) & _
varDigits(intPos + 1) & strTemp
in this case. Because intPos is 0, the output is IV (varDigits(0) & varDigits(1)). If 
the 4 had been in the hundreds place (imagine you’re converting 421 to roman 
numerals), then intPos would be 2, the expression would say to use varDigits(4) & 
varDigits(5), and the output would be “CD” for this digit.
You won’t use this function every day. However, when you do need to convert 
a value to roman numerals, it will be waiting.
Performing a “Smart” Proper Case Conversion
Although VBA provides the built-in StrConv function to convert words to proper 
case, it does just what a brute-force hand-coded solution would do: It converts the 
first letter of every word to uppercase and forces the rest of each word to lower-
case. This doesn’t help much for articles (a, the, and so on) or prepositions (of, for, 
and so on) or for handling proper names like MacDonald or Port of Oakland. Writ-
ing code to handle all the special cases would be prohibitively difficult, but if a 
intValue
intDigit
intPos
Character
123
4
0
I
12
3
2
X
1
2
4
C
0
1
6
M
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 fillable fields to pdf; adding form fields to pdf
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Auto Fill-in Field Data. Field: Insert, Delete, Update Field. VB.NET PDF - Add Text Box to PDF Page in VB Provide VB.NET Users with Solution of Adding Text Box to
change tab order in pdf form; pdf form change font size
Chapter 1  Manipulating Strings
64
“smart” proper-casing routine were to look up the exceptions to the rules in a 
table, the routine might work a bit better than through code alone.
One possible solution, dhProperLookup (in Listing 1.14), walks through the text 
you pass it, building up “words” of alphabetic characters. As soon as it finds a 
non-alphabetic character, it checks out the most current word it’s collected and 
looks it up in a table. If it’s there, it uses the text it finds in the table. If not, it per-
forms a direct conversion of the word to proper case. The code then continues the 
process with the rest of the text. Once it hits the end of the string, it handles the 
final word and returns the result.
Listing 1.14: A “Smart” Proper Case Function
Public Function dhProperLookup( _
ByVal strIn As String, _
Optional blnForceToLower As Boolean = True, _
Optional rst As ADODB.Recordset = Nothing, _
Optional strField As String = "") As Variant
Dim strOut As String
Dim strWord As String
Dim lngI As Long
Dim strC As String * 1
On Error GoTo HandleErr
strOut = vbNullString
strWord = vbNullString
If blnForceToLower Then
strIn = LCase$(strIn)
End If
For lngI = 1 To Len(strIn)
strC = Mid$(strIn, lngI, 1)
If dhIsCharAlphaNumeric(strC) Or strC = "'" Then
strWord = strWord & strC
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.
add an image to a pdf form; add jpg to pdf form
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:
change font size pdf form reader; android edit pdf forms
Converting Strings
65
Else
strOut = strOut & dhFixWord(strWord, rst, strField) & strC
' Reset strWord for the next word.
strWord = vbNullString
End If
NextChar:
Next lngI
' Process the final word.
strOut = strOut & dhFixWord(strWord, rst, strField)
ExitHere:
dhProperLookup = strOut
Exit Function
HandleErr:
' If there's an error, just go on to the next character.
' This may mean the output word is missing characters,
' of course. If this bothers you, just change the Resume
' statement to resume at "ExitHere."
Select Case Err
Case Else
' MsgBox "Error: " & Err.Description & _
 " (" & Err.Number & ")"
End Select
Resume NextChar
End Function
To call dhProperLookup, you can pass the following set of parameters:
• strIn (required) is the text to be converted.
• blnForceToLower (optional; default = True) causes the function to convert all 
the text to lowercase before performing the proper case conversion. If you 
set the parameter to False, dhProperLookup won’t affect any characters 
except the first character of each word.
• rst (optional; default = Nothing) is an open ADO recordset, containing the 
list of special cases. This recordset can come from a database, from an XML 
file, or from any other source of an ADO recordset. The recordset must have 
been opened using some cursor type besides the default, which doesn’t 
allow for random access within the recordset.
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
convert word doc to pdf with editable fields; change font in pdf form
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
Fill-in Field Data. Field: Insert, Delete, Update Field. VB.NET PDF - Annotate Text on PDF Page in Professional VB.NET Solution for Adding Text Annotation to PDF
create a pdf form from excel; acrobat create pdf form
Chapter 1  Manipulating Strings
66
• strField (optional; default = “”) is a string expression containing the name of 
the field to be used for lookups in the recordset referred to by rst. If you 
specify the recordset, you must also specify this field name.
Because of an anomaly in the current version of ADO, the dhFixWord function
(the function that retrieves special cases from the recordset) will fail if your special
case text includes more than one apostrophe.
For example, suppose you have a database named PROPER.MDB containing a 
table named tblSpecialCase. In that table, a field named Lookup contains special 
cases for spelling. The sample code shown in Listing 1.15 opens the database, cre-
ates a recordset, and calls the dhProperLookup function.
Listing 1.15: Test the dhProperLookup Function
Sub TestProperMDB()
' Test procedure for dhProperLookup
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "tblSpecialCase", _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = " & ActiveWorkbook.Path & "\Proper.MDB", _
adOpenKeyset
Debug.Print dhProperLookup( _
"headline: cruella de ville and old macdonald eat dog's food", _
True, rst, "Lookup")
End Sub
The examples in this chapter assume that you’re running them from within the
sample Excel workbook. As you can see, this particular example uses Active-
Workbook.Path, a property of the current Excel workbook that’s only valid for a
saved workbook. If you use this sample code in another application, or in a new
Excel workbook, you’ll need to take this into account. This issue is already handled
in the Access and VB versions of the samples on the CD-ROM.
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.
change font size pdf fillable form; pdf form save
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
adding a text field to a pdf; changing font size in pdf form field
Converting Strings
67
If tblSpecialCase contains at least the words a, and, de, and MacDonald, the out-
put from the call to dhProperLookup would be
Headline: Cruella de Ville and Old MacDonald Eat a Dog’s Food
If you don’t supply recordset and field name parameters for dhProperLookup, 
it performs the same task as would a call to StrConv, although it does its work 
somewhat less efficiently than the built-in function. (In other words, unless you 
intend to supply the recordset, you’re probably better off calling the built-in func-
tion.) To do its work, dhProperLookup starts by checking the blnForceToLower 
parameter and converting the entire input string to lowercase if the parameter’s 
value is True:
If blnForceToLower Then
strIn = LCase$(strIn)
End If
To work its way through the input string, dhProperLookup performs a loop, visit-
ing each character in turn:
For lngI = 1 To Len(strIn)
strC = Mid$(strIn, lngI, 1)
' (Code removed)
Next lngI
The code examines each character. If the character is alphanumeric or an apos-
trophe, it’s appended to strWord. If not, the loop has reached the end of a word, so 
the code calls the dhFixWord procedure to perform the conversion and then tacks the 
word and the current (non-word) character onto the end of the output string.
If dhIsCharAlphaNumeric(strC) Or strC = "’" Then
strWord = strWord & strC
Else
strOut = strOut & dhFixWord(strWord, rst, strField) & strC
' Reset strWord for the next word.
strWord = vbNullString
End If
Rather than setting strWord to be “”, the code uses vbNullString instead. This
optimization allows your code to run a tiny bit faster. Because this code executes
for each character you’re converting, you need all the help you can get! VBA
provides the vbNullString constant, and although this constant’s value is not really
“” (it contains a reference to a known, “null” string pointer), when you assign it
to a string variable, VBA converts it into its value, “”. You can use vbNullString in
any situation where you might otherwise use “” in your code.
Chapter 1  Manipulating Strings
68
Once the loop has concluded, one final step is necessary: Unless the text ends 
with a character that’s not part of a word, the code will never process the final 
word. To make sure that last word ends up in the output string, dhProperLookup 
calls dhFixWord one last time, with the final word:
' Process the final word.
strOut = strOut & dhFixWord(strWord, rst, strField)
The dhFixWord function, shown in Listing 1.16, does its work using a recordset 
containing the special cases for specific words’ spellings passed in from dhProper-
Lookup. Supplying that information is up to you, and the function presented here 
counts on your having created an ADO recordset object filled with the rows of 
special names. If you have not supplied the recordset and field name, dhFixWord 
simply capitalizes the first letter of the word you’ve sent it and then returns.
Listing 1.16: dhFixWord Converts a Single Word to Proper Case
Private Function dhFixWord( _
ByVal strWord As String, _
Optional rst As ADODB.Recordset = Nothing, _
Optional strField As String = "") As String
' "Properize" a single word
Dim strOut As String
On Error GoTo HandleErr
If Len(strWord) > 0 Then
' Many things can go wrong. Just assume you want the
' standard properized version unless you hear otherwise.
strOut = UCase(Left$(strWord, 1)) & Mid$(strWord, 2)
' Did you pass in a recordset? If so, lookup
' the value now.
If Not rst Is Nothing Then
If Len(strField) > 0 Then
rst.MoveFirst
rst.Find strField & " = " & _
"'" & Replace(strWord, "'", "''") & "'"
If Not rst.EOF Then
strOut = rst(strField)
End If
Converting Strings
69
End If
End If
End If
ExitHere:
dhFixWord = strOut
Exit Function
HandleErr:
' If anything goes wrong, anything, just get out.
Select Case Err.Number
Case Else
' MsgBox "Error: " & Err.Description & _
' " (" & Err.Number & ")"
End Select
Resume ExitHere
End Function
The dhFixWord function does the bulk of its work in a few simple lines of code:
rst.MoveFirst
rst.Find strField & " = " & _
"'" & Replace(strWord, "'", "''") & "'"
If Not rst.EOF Then
strOut = rst(strField)
End If
It uses the recordset’s FindFirst method to look up a string in the format
Lookup = 'macdonald'
If it finds a match in the table, it replaces the output string with the word it found. 
In this case, it would replace the value of strOut with the text “MacDonald”. (The 
rest of the code in dhFixWord simply validates input and prepares the lookup 
string.)
What’s missing from this solution? First of all, it’s not terribly smart. It can work 
only with the specific words you’ve added to the list. If you’ve added McGregor 
but not MacGregor, there’s no way for the code to know how to handle the word 
that’s not there. It’s not possible to work with proper names that contain spaces 
(such as de Long, for example), although you could add many of the proper name 
prefixes to the lookup table to avoid their being capitalized incorrectly. The code 
checks only for alphabetic characters and apostrophes as legal characters in words. 
You may find you need to add to the list of acceptable characters. In that case, you 
Chapter 1  Manipulating Strings
70
may want to create a list of acceptable characters as a constant and use the InStr 
function to see whether strC is in the list. For example, to treat apostrophes and 
hyphens as valid word characters, you could declare a constant:
Const conWordChars = "’-"
and modify the check for characters like this:
If dhIsCharAlphaNumeric(strC) Or _
(InStr(conWordChars, strC) > 0) Then
Where Does the Recordset Come From?
In this example (and others throughout this book), you may need to supply an ADO record-
set as a parameter value. In the traditional sense, a recordset normally comes from a table
in some database. However, using ADO, a recordset can come from many different places.
You can read data from a standard database, or from a text file, or from an XML file; or
you can even create the recordset on-the-fly, with no connection to stored data. If you’re
distributing an application, you may find it easiest to distribute your lookups for the
dhProperLookup as a text file rather than as a full MDB file. We actually tried this out, cre-
ating a recordset from tblSpecialCase and then calling the Save method to create an XML
file, like this:
Sub CreateProperXML()
' Create XML file for recordset.
Dim rst As ADODB.Recordset
Dim strPath As String
Dim strFile As String
strPath = ActiveWorkbook.Path
Set rst = New ADODB.Recordset
rst.Open "tblSpecialCase", _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = " & strPath & "\Proper.MDB", _
adOpenKeyset
On Error Resume Next
strFile = strPath & "\Proper.xml"
Kill strFile
Documents you may be interested
Documents you may be interested