open password protected pdf using c# : How to add a text box in a pdf file application software utility html windows wpf visual studio abs-guide54-part1841

retval=`sum_and_product $first $second`      # Assigns output of function.
sum=`echo "$retval" | awk '{print $1}'`      # Assigns first field.
product=`echo "$retval" | awk '{print $2}'`  # Assigns second field.
echo "$first + $second = $sum"
echo "$first * $second = $product"
echo
exit 0
There can be only one echo statement in the function for this to work. If you alter the
previous example:
sum_and_product ()
{
echo "This is the sum_and_product function." # This messes things up!
echo $(( $1 + $2 )) $(( $1 * $2 ))
}
...
retval=`sum_and_product $first $second`      # Assigns output of function.
# Now, this will not work correctly.
Next in our bag of tricks are techniques for passing an array to a function, then "returning" an array
back to the main body of the script.
Passing an array involves loading the space-separated elements of the array into a variable with
command substitution. Getting an array back as the "return value" from a function uses the previously
mentioned strategem of echoing the array in the function, then invoking command substitution and
the ( ... ) operator to assign it to an array.
Example 36-20. Passing and returning arrays
#!/bin/bash
# array-function.sh: Passing an array to a function and ...
                  "returning" an array from a function
Pass_Array ()
{
local passed_array   # Local variable!
passed_array=( `echo "$1"` )
echo "${passed_array[@]}"
#  List all the elements of the new array
#+ declared and set within the function.
}
original_array=( element1 element2 element3 element4 element5 )
echo
echo "original_array = ${original_array[@]}"
                     List all elements of original array.
# This is the trick that permits passing an array to a function.
# **********************************
argument=`echo ${original_array[@]}`
• 
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
535
How to add a text box in a pdf file - insert text into PDF content in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
XDoc.PDF for .NET, providing C# demo code for inserting text to PDF file
how to insert text box in pdf document; adding text to pdf
How to add a text box in a pdf file - VB.NET PDF insert text library: insert text into PDF content in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program
add text box to pdf; add text to pdf in preview
# **********************************
 Pack a variable
#+ with all the space-separated elements of the original array.
#
# Attempting to just pass the array itself will not work.
# This is the trick that allows grabbing an array as a "return value".
# *****************************************
returned_array=( `Pass_Array "$argument"` )
# *****************************************
# Assign 'echoed' output of function to array variable.
echo "returned_array = ${returned_array[@]}"
echo "============================================================="
 Now, try it again,
#+ attempting to access (list) the array from outside the function.
Pass_Array "$argument"
# The function itself lists the array, but ...
#+ accessing the array from outside the function is forbidden.
echo "Passed array (within function) = ${passed_array[@]}"
# NULL VALUE since the array is a variable local to the function.
echo
############################################
# And here is an even more explicit example:
ret_array ()
{
for element in {11..20}
do
echo "$element "   #  Echo individual elements
done                 #+ of what will be assembled into an array.
}
arr=( $(ret_array) )   #  Assemble into array.
echo "Capturing array \"arr\" from function ret_array () ..."
echo "Third element of array \"arr\" is ${arr[2]}."   # 13  (zero-indexed)
echo -n "Entire array is: "
echo ${arr[@]}                # 11 12 13 14 15 16 17 18 19 20
echo
exit 0
 Nathan Coulter points out that passing arrays with elements containing
#+ whitespace breaks this example.
For a more elaborate example of passing arrays to functions, see Example A-10.
Using the double-parentheses construct, it is possible to use C-style syntax for setting and
incrementing/decrementing variables and in for and while loops. See Example 11-13 and Example
11-18.
• 
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
536
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Document Protect. Password: Set File Permissions. Password: Open Document. Edit Highlight Text. Add Text. Add Text Box. Drawing Markups. PDF Print. Work with
how to add text box to pdf document; how to add text to a pdf file in preview
C# PDF Text Box Edit Library: add, delete, update PDF text box in
with .NET PDF Library. A best PDF annotator for Visual Studio .NET supports to add text box to PDF file in Visual C#.NET project.
adding a text field to a pdf; how to insert text box in pdf
Setting the path and umask at the beginning of a script makes it more portable -- more likely to run on
a "foreign" machine whose user may have bollixed up the $PATH and umask.
#!/bin/bash
PATH=/bin:/usr/bin:/usr/local/bin ; export PATH
umask 022   # Files that the script creates will have 755 permission.
# Thanks to Ian D. Allen, for this tip.
• 
A useful scripting technique is to repeatedly feed the output of a filter (by piping) back to the same
filter, but with a different set of arguments and/or options. Especially suitable for this are tr and grep.
# From "wstrings.sh" example.
wlist=`strings "$1" | tr A-Z a-z | tr '[:space:]' Z | \
tr -cs '[:alpha:]' Z | tr -s '\173-\377' Z | tr Z ' '`
Example 36-21. Fun with anagrams
#!/bin/bash
# agram.sh: Playing games with anagrams.
# Find anagrams of...
LETTERSET=etaoinshrdlu
FILTER='.......'       # How many letters minimum?
      1234567
anagram "$LETTERSET" | # Find all anagrams of the letterset...
grep "$FILTER" |       # With at least 7 letters,
grep '^is' |           # starting with 'is'
grep -v 's$' |         # no plurals
grep -v 'ed$'          # no past tense verbs
# Possible to add many combinations of conditions and filters.
 Uses "anagram" utility
#+ that is part of the author's "yawl" word list package.
 http://ibiblio.org/pub/Linux/libs/yawl-0.3.2.tar.gz
 http://bash.deta.in/yawl-0.3.2.tar.gz
exit 0                 # End of code.
bash$ sh agram.sh
islander
isolate
isolead
isotheral
 Exercises:
 ---------
 Modify this script to take the LETTERSET as a command-line parameter.
 Parameterize the filters in lines 11 - 13 (as with $FILTER),
#+ so that they can be specified by passing arguments to a function.
 For a slightly different approach to anagramming,
#+ see the agram2.sh script.
See also Example 29-4, Example 16-25, and Example A-9.
• 
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
537
VB.NET PDF Password Library: add, remove, edit PDF file password
This VB.NET example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = True ' Add password to PDF file.
adding text pdf files; how to insert text box in pdf file
VB.NET PDF Text Extract Library: extract text content from PDF
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 through VB
how to insert text in pdf reader; add text to pdf
Use "anonymous here documents" to comment out blocks of code, to save having to individually
comment out each line with a #. See Example 19-11.
• 
Running a script on a machine that relies on a command that might not be installed is dangerous. Use
whatis to avoid potential problems with this.
CMD=command1                 # First choice.
PlanB=command2               # Fallback option.
command_test=$(whatis "$CMD" | grep 'nothing appropriate')
 If 'command1' not found on system , 'whatis' will return
#+ "command1: nothing appropriate."
#
 A safer alternative is:
    command_test=$(whereis "$CMD" | grep \/)
 But then the sense of the following test would have to be reversed,
#+ since the $command_test variable holds content only if
#+ the $CMD exists on the system.
    (Thanks, bojster.)
if [[ -z "$command_test" ]]  # Check whether command present.
then
$CMD option1 option2       #  Run command1 with options.
else                         #  Otherwise,
$PlanB                     #+ run command2. 
fi
• 
An if-grep test may not return expected results in an error case, when text is output to stderr, rather
that stdout.
if ls -l nonexistent_filename | grep -q 'No such file or directory'
then echo "File \"nonexistent_filename\" does not exist."
fi
Redirecting stderr to stdout fixes this.
if ls -l nonexistent_filename 2>&1 | grep -q 'No such file or directory'
                            ^^^^
then echo "File \"nonexistent_filename\" does not exist."
fi
# Thanks, Chris Martin, for pointing this out.
• 
If you absolutely must access a subshell variable outside the subshell, here's a way to do it.
TMPFILE=tmpfile                  # Create a temp file to store the variable.
  # Inside the subshell ...
inner_variable=Inner
echo $inner_variable
echo $inner_variable >>$TMPFILE  # Append to temp file.
)
# Outside the subshell ...
echo; echo "-----"; echo
echo $inner_variable             # Null, as expected.
echo "-----"; echo
# Now ...
• 
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
538
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Document Protect. Password: Set File Permissions. Password: Open Document. Edit Highlight Text. Add Text. Add Text Box. Drawing Markups. PDF Print. Work with
adding text fields to pdf; add text to a pdf document
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.
adding text to a pdf in reader; add text to pdf file
read inner_variable <$TMPFILE    # Read back shell variable.
rm -f "$TMPFILE"                 # Get rid of temp file.
echo "$inner_variable"           # It's an ugly kludge, but it works.
The run-parts command is handy for running a set of command scripts in a particular sequence,
especially in combination with cron or at.
• 
For doing multiple revisions on a complex script, use the rcs Revision Control System package.
Among other benefits of this is automatically updated ID header tags. The co command in rcs does a
parameter replacement of certain reserved key words, for example, replacing # $Id$ in a script with
something like:
# $Id: hello-world.sh,v 1.1 2004/10/16 02:43:05 bozo Exp $
• 
36.7.2. Widgets
It would be nice to be able to invoke X-Windows widgets from a shell script. There happen to exist several
packages that purport to do so, namely Xscript, Xmenu, and widtools. The first two of these no longer seem to
be maintained. Fortunately, it is still possible to obtain widtools here.
The widtools (widget tools) package requires the XForms library to be installed. Additionally, the
Makefile needs some judicious editing before the package will build on a typical Linux system. Finally,
three of the six widgets offered do not work (and, in fact, segfault).
The dialog family of tools offers a method of calling "dialog" widgets from a shell script. The original dialog
utility works in a text console, but its successors, gdialog, Xdialog, and kdialog use X-Windows-based widget
sets.
Example 36-22. Widgets invoked from a shell script
#!/bin/bash
# dialog.sh: Using 'gdialog' widgets.
# Must have 'gdialog' installed on your system to run this script.
# Or, you can replace all instance of 'gdialog' below with 'kdialog' ...
# Version 1.1 (corrected 04/05/05)
# This script was inspired by the following article.
    "Scripting for X Productivity," by Marco Fioretti,
     LINUX JOURNAL, Issue 113, September 2003, pp. 86-9.
# Thank you, all you good people at LJ.
# Input error in dialog box.
E_INPUT=85
# Dimensions of display, input widgets.
HEIGHT=50
WIDTH=60
# Output file name (constructed out of script name).
OUTFILE=$0.output
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
539
C# PDF insert image Library: insert images into PDF in C#.net, ASP
using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; Have a try with this sample C#.NET code to add an image to the first page of PDF file.
add text boxes to pdf document; adding text to a pdf
VB.NET PDF insert image library: insert images into PDF in vb.net
try with this sample VB.NET code to add an image As String = Program.RootPath + "\\" 1.pdf" Dim doc New PDFDocument(inputFilePath) ' Get a text manager from
add text boxes to a pdf; adding text to a pdf file
# Display this script in a text widget.
gdialog --title "Displaying: $0" --textbox $0 $HEIGHT $WIDTH
# Now, we'll try saving input in a file.
echo -n "VARIABLE=" > $OUTFILE
gdialog --title "User Input" --inputbox "Enter variable, please:" \
$HEIGHT $WIDTH 2>> $OUTFILE
if [ "$?" -eq 0 ]
# It's good practice to check exit status.
then
echo "Executed \"dialog box\" without errors."
else
echo "Error(s) in \"dialog box\" execution."
# Or, clicked on "Cancel", instead of "OK" button.
rm $OUTFILE
exit $E_INPUT
fi
# Now, we'll retrieve and display the saved variable.
. $OUTFILE   # 'Source' the saved file.
echo "The variable input in the \"input box\" was: "$VARIABLE""
rm $OUTFILE  # Clean up by removing the temp file.
# Some applications may need to retain this file.
exit $?
# Exercise: Rewrite this script using the 'zenity' widget set.
The xmessage command is a simple method of popping up a message/query window. For example:
xmessage Fatal error in script! -button exit
The latest entry in the widget sweepstakes is zenity. This utility pops up GTK+ dialog widgets-and-windows,
and it works very nicely within a script.
get_info ()
{
zenity --entry       #  Pops up query window . . .
#+ and prints user entry to stdout.
#  Also try the --calendar and --scale options.
}
answer=$( get_info )   #  Capture stdout in $answer variable.
echo "User entered: "$answer""
For other methods of scripting with widgets, try Tk or wish (Tcl derivatives), PerlTk (Perl with Tk
extensions), tksh (ksh with Tk extensions), XForms4Perl (Perl with XForms extensions), Gtk-Perl (Perl with
Gtk extensions), or PyQt (Python with Qt extensions).
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
540
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Also able to uncompress PDF file in VB.NET programs. Offer flexible and royalty-free developing library license for VB.NET programmers to compress PDF file.
how to insert text into a pdf using reader; adding text pdf
C# PDF File Split Library: Split, seperate PDF into multiple files
page of your defined page number which starts from 0. For example, your original PDF file contains 4 pages. C# DLLs: Split PDF Document. Add necessary references
add text box in pdf document; how to add text to pdf file with reader
36.8. Security Issues
36.8.1. Infected Shell Scripts
A brief warning about script security is indicated. A shell script may contain a worm, trojan, or even a virus.
For that reason, never run as root a script (or permit it to be inserted into the system startup scripts in
/etc/rc.d) unless you have obtained said script from a trusted source or you have carefully analyzed it to
make certain it does nothing harmful.
Various researchers at Bell Labs and other sites, including M. Douglas McIlroy, Tom Duff, and Fred Cohen
have investigated the implications of shell script viruses. They conclude that it is all too easy for even a
novice, a "script kiddie," to write one. [128]
Here is yet another reason to learn scripting. Being able to look at and understand scripts may protect your
system from being compromised by a rogue script.
36.8.2. Hiding Shell Script Source
For security purposes, it may be necessary to render a script unreadable. If only there were a utility to create a
stripped binary executable from a script. Francisco Rosales' shc -- generic shell script compiler does exactly
that.
Unfortunately, according to an article in the October, 2005 Linux Journal, the binary can, in at least some
cases, be decrypted to recover the original script source. Still, this could be a useful method of keeping scripts
secure from all but the most skilled hackers.
36.8.3. Writing Secure Shell Scripts
Dan Stromberg suggests the following guidelines for writing (relatively) secure shell scripts.
Don't put secret data in environment variables.
• 
Don't pass secret data in an external command's arguments (pass them in via a pipe or redirection
instead).
• 
Set your $PATH carefully. Don't just trust whatever path you inherit from the caller if your script is
running as root. In fact, whenever you use an environment variable inherited from the caller, think
about what could happen if the caller put something misleading in the variable, e.g., if the caller set
$HOME to /etc.
• 
36.9. Portability Issues
It is easier to port a shell than a shell script.
--Larry Wall
This book deals specifically with Bash scripting on a GNU/Linux system. All the same, users of sh and ksh
will find much of value here.
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
541
As it happens, many of the various shells and scripting languages seem to be converging toward the POSIX
1003.2 standard. Invoking Bash with the --posix option or inserting a set -o posix at the head of a script
causes Bash to conform very closely to this standard. Another alternative is to use a #!/bin/sh sha-bang header
in the script, rather than #!/bin/bash. [129] Note that /bin/sh is a link to /bin/bash in Linux and certain
other flavors of UNIX, and a script invoked this way disables extended Bash functionality.
Most Bash scripts will run as-is under ksh, and vice-versa, since Chet Ramey has been busily porting ksh
features to the latest versions of Bash.
On a commercial UNIX machine, scripts using GNU-specific features of standard commands may not work.
This has become less of a problem in the last few years, as the GNU utilities have pretty much displaced their
proprietary counterparts even on "big-iron" UNIX. Caldera's release of the source to many of the original
UNIX utilities has accelerated the trend.
Bash has certain features that the traditional Bourne shell lacks. Among these are:
Certain extended invocation options
• 
Command substitution using $( ) notation
• 
Brace expansion
• 
Certain array operations, and associative arrays
• 
The double brackets extended test construct
• 
The double-parentheses arithmetic-evaluation construct
• 
Certain string manipulation operations
• 
Process substitution
• 
A Regular Expression matching operator
• 
Bash-specific builtins
• 
Coprocesses
• 
See the Bash F.A.Q. for a complete listing.
36.9.1. A Test Suite
Let us illustrate some of the incompatibilities between Bash and the classic Bourne shell. Download and
install the "Heirloom Bourne Shell" and run the following script, first using Bash, then the classic sh.
Example 36-23. Test Suite
#!/bin/bash
# test-suite.sh
# A partial Bash compatibility test suite.
# Run this on your version of Bash, or some other shell.
default_option=FAIL         # Tests below will fail unless . . .
echo
echo -n "Testing "
sleep 1; echo -n ". "
sleep 1; echo -n ". "
sleep 1; echo ". "
echo
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
542
# Double brackets
String="Double brackets supported?"
echo -n "Double brackets test: "
if [[ "$String" = "Double brackets supported?" ]]
then
echo "PASS"
else
echo "FAIL"
fi
# Double brackets and regex matching
String="Regex matching supported?"
echo -n "Regex matching: "
if [[ "$String" =~ R.....matching* ]]
then
echo "PASS"
else
echo "FAIL"
fi
# Arrays
test_arr=$default_option     # FAIL
Array=( If supports arrays will print PASS )
test_arr=${Array[5]}
echo "Array test: $test_arr"
# Command Substitution
csub_test ()
{
echo "PASS"
}
test_csub=$default_option    # FAIL
test_csub=$(csub_test)
echo "Command substitution test: $test_csub"
echo
 Completing this script is an exercise for the reader.
 Add to the above similar tests for double parentheses,
#+ brace expansion, process substitution, etc.
exit $?
36.10. Shell Scripting Under Windows
Even users running that other OS can run UNIX-like shell scripts, and therefore benefit from many of the
lessons of this book. The  Cygwin package from Cygnus and the MKS utilities from Mortice Kern Associates
add shell scripting capabilities to Windows.
Another alternative is  UWIN, written by David Korn of AT&T, of Korn Shell fame.
In 2006, Microsoft released the Windows Powershell®, which contains limited Bash-like command-line
scripting capabilities.
Advanced Bash-Scripting Guide
Chapter 36. Miscellany
543
Chapter 37. Bash, versions 2, 3, and 4
37.1. Bash, version 2
The current version of Bash, the one you have running on your machine, is most likely version 2.xx.yy,
3.xx.yy, or 4.xx.yy.
bash$ echo $BASH_VERSION
3.2.25(1)-release
The version 2 update of the classic Bash scripting language added array variables, string and parameter
expansion, and a better method of indirect variable references, among other features.
Example 37-1. String expansion
#!/bin/bash
# String expansion.
# Introduced with version 2 of Bash.
 Strings of the form $'xxx'
#+ have the standard escaped characters interpreted. 
echo $'Ringing bell 3 times \a \a \a'
# May only ring once with certain terminals.
# Or ...
# May not ring at all, depending on terminal settings.
echo $'Three form feeds \f \f \f'
echo $'10 newlines \n\n\n\n\n\n\n\n\n\n'
echo $'\102\141\163\150'
  B   a   s   h
# Octal equivalent of characters.
exit
Example 37-2. Indirect variable references - the new way
#!/bin/bash
# Indirect variable referencing.
# This has a few of the attributes of references in C++.
a=letter_of_alphabet
letter_of_alphabet=z
echo "a = $a"           # Direct reference.
echo "Now a = ${!a}"    # Indirect reference.
 The ${!variable} notation is more intuitive than the old
#+ eval var1=\$$var2
echo
Chapter 37. Bash, versions 2, 3, and 4
544
Documents you may be interested
Documents you may be interested