open password protected pdf using c# : How to input text in a pdf SDK application service wpf html windows dnn abs-guide26-part1810

Example 16-27. Using column to format a directory listing
#!/bin/bash
# colms.sh
# A minor modification of the example file in the "column" man page.
(printf "PERMISSIONS LINKS OWNER GROUP SIZE MONTH DAY HH:MM PROG-NAME\n" \
; ls -l | sed 1d) | column -t
        ^^^^^^           ^^
 The "sed 1d" in the pipe deletes the first line of output,
#+ which would be "total        N",
#+ where "N" is the total number of files found by "ls -l".
# The -t option to "column" pretty-prints a table.
exit 0
colrm
Column removal filter. This removes columns (characters) from a file and writes the file, lacking the
range of specified columns, back to stdout. colrm 2 4 <filename removes the second
through fourth characters from each line of the text file filename.
If the file contains tabs or nonprintable characters, this may cause unpredictable
behavior. In such cases, consider using expand and unexpand in a pipe preceding
colrm.
nl
Line numbering filter: nl filename lists filename to stdout, but inserts consecutive numbers
at the beginning of each non-blank line. If filename omitted, operates on stdin.
The output of nl is very similar to cat -b, since, by default nl does not list blank lines.
Example 16-28. nl: A self-numbering script.
#!/bin/bash
# line-number.sh
# This script echoes itself twice to stdout with its lines numbered.
echo "     line number = $LINENO" # 'nl' sees this as line 4
                                  (nl does not number blank lines).
                                  'cat -n' sees it correctly as line #6.
nl `basename $0`
echo; echo  # Now, let's try it with 'cat -n'
cat -n `basename $0`
# The difference is that 'cat -n' numbers the blank lines.
# Note that 'nl -ba' will also do so.
exit 0
# -----------------------------------------------------------------
pr
Print formatting filter. This will paginate files (or stdout) into sections suitable for hard copy
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
255
How to input text in a pdf - 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
adding text fields to pdf; adding a text field to a pdf
How to input text in a pdf - 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
how to enter text in pdf form; add text in pdf file online
printing or viewing on screen. Various options permit row and column manipulation, joining lines,
setting margins, numbering lines, adding page headers, and merging files, among other things. The pr
command combines much of the functionality of nl, paste, fold, column, and expand.
pr -o 5 --width=65 fileZZZ | more gives a nice paginated listing to screen of
fileZZZ with margins set at 5 and 65.
A particularly useful option is -d, forcing double-spacing (same effect as sed -G).
gettext
The GNU gettext package is a set of utilities for localizing and translating the text output of programs
into foreign languages. While originally intended for C programs, it now supports quite a number of
programming and scripting languages.
The gettext program works on shell scripts. See the info page.
msgfmt
A program for generating binary message catalogs. It is used for localization.
iconv
A utility for converting file(s) to a different encoding (character set). Its chief use is for localization.
# Convert a string from UTF-8 to UTF-16 and print to the BookList
function write_utf8_string {
STRING=$1
BOOKLIST=$2
echo -n "$STRING" | iconv -f UTF8 -t UTF16 | \
cut -b 3- | tr -d \\n >> "$BOOKLIST"
}
 From Peter Knowles' "booklistgen.sh" script
#+ for converting files to Sony Librie/PRS-50X format.
 (http://booklistgensh.peterknowles.com)
recode
Consider this a fancier version of iconv, above. This very versatile utility for converting a file to a
different encoding scheme. Note that recode is not part of the standard Linux installation.
TeX, gs
TeX and Postscript are text markup languages used for preparing copy for printing or formatted
video display.
TeX is Donald Knuth's elaborate typsetting system. It is often convenient to write a shell script
encapsulating all the options and arguments passed to one of these markup languages.
Ghostscript (gs) is a GPL-ed Postscript interpreter.
texexec
Utility for processing TeX and pdf files. Found in /usr/bin on many Linux distros, it is actually a
shell wrapper that calls Perl to invoke Tex.
texexec --pdfarrange --result=Concatenated.pdf *pdf
 Concatenates all the pdf files in the current working directory
#+ into the merged file, Concatenated.pdf . . .
 (The --pdfarrange option repaginates a pdf file. See also --pdfcombine.)
 The above command-line could be parameterized and put into a shell script.
enscript
Utility for converting plain text file to PostScript
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
256
VB.NET PDF Password Library: add, remove, edit PDF file password
Dim intputFilePath As String = Program.RootPath + "\\" 1.pdf" ' Input password. Dim userPassword As String = "you" ' Open an encrypted PDF document.
adding text to pdf reader; how to insert text into a pdf file
C# PDF Password Library: add, remove, edit PDF file password in C#
String intputFilePath = Program.RootPath + "\\" 1.pdf"; // Input password. String userPassword = @"you"; // Open an encrypted PDF document.
adding text field to pdf; how to insert text box in pdf document
For example, enscript filename.txt -p filename.ps produces the PostScript output file
filename.ps.
groff, tbl, eqn
Yet another text markup and display formatting language is groff. This is the enhanced GNU version
of the venerable UNIX roff/troff display and typesetting package. Manpages use groff.
The tbl table processing utility is considered part of groff, as its function is to convert table markup
into groff commands.
The eqn equation processing utility is likewise part of groff, and its function is to convert equation
markup into groff commands.
Example 16-29. manview: Viewing formatted manpages
#!/bin/bash
# manview.sh: Formats the source of a man page for viewing.
 This script is useful when writing man page source.
 It lets you look at the intermediate results on the fly
#+ while working on it.
E_WRONGARGS=85
if [ -z "$1" ]
then
echo "Usage: `basename $0` filename"
exit $E_WRONGARGS
fi
# ---------------------------
groff -Tascii -man $1 | less
# From the man page for groff.
# ---------------------------
 If the man page includes tables and/or equations,
#+ then the above code will barf.
 The following line can handle such cases.
#
  gtbl < "$1" | geqn -Tlatin1 | groff -Tlatin1 -mtty-char -man
#
  Thanks, S.C.
exit $?   # See also the "maned.sh" script.
See also Example A-39.
lex, yacc
The lex lexical analyzer produces programs for pattern matching. This has been replaced by the
nonproprietary flex on Linux systems.
The yacc utility creates a parser based on a set of specifications. This has been replaced by the
nonproprietary bison on Linux systems.
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
257
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Description: Delete specified page from the input PDF file. Description: Delete consecutive pages from the input PDF file starting at specified position.
adding text to pdf document; how to add text fields to pdf
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
inputFilePath, Input file path, Valid pdf file path. pageIndex, The page index of the page that will be rotated. inputFilePath, Input file path, Valid pdf file path
how to enter text in pdf file; add text boxes to pdf
16.5. File and Archiving Commands
Archiving
tar
The standard UNIX archiving utility. [75] Originally a Tape ARchiving program, it has developed into
a general purpose package that can handle all manner of archiving with all types of destination
devices, ranging from tape drives to regular files to even stdout (see Example 3-4). GNU tar has
been patched to accept various compression filters, for example: tar czvf archive_name.tar.gz *,
which recursively archives and gzips all files in a directory tree except dotfiles in the current working
directory ($PWD). [76]
Some useful tar options:
-c create (a new archive)
1. 
-x extract (files from existing archive)
2. 
--delete delete (files from existing archive)
This option will not work on magnetic tape devices.
3. 
-r append (files to existing archive)
4. 
-A append (tar files to existing archive)
5. 
-t list (contents of existing archive)
6. 
-u update archive
7. 
-d compare archive with specified filesystem
8. 
--after-date only process files with a date stamp after specified date
9. 
-z gzip the archive
(compress or uncompress, depending on whether combined with the -c or -x) option
10. 
-j bzip2 the archive
11. 
It may be difficult to recover data from a corrupted gzipped tar archive. When
archiving important files, make multiple backups.
shar
Shell archiving utility. The text and/or binary files in a shell archive are concatenated without
compression, and the resultant archive is essentially a shell script, complete with #!/bin/sh header,
containing all the necessary unarchiving commands, as well as the files themselves. Unprintable
binary characters in the target file(s) are converted to printable ASCII characters in the output shar
file. Shar archives still show up in Usenet newsgroups, but otherwise shar has been replaced by
tar/gzip. The unshar command unpacks shar archives.
The mailshar command is a Bash script that uses shar to concatenate multiple files into a single one
for e-mailing. This script supports compression and uuencoding.
ar
Creation and manipulation utility for archives, mainly used for binary object file libraries.
rpm
The Red Hat Package Manager, or rpm utility provides a wrapper for source or binary archives. It
includes commands for installing and checking the integrity of packages, among other things.
A simple rpm -i package_name.rpm usually suffices to install a package, though there are many
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
258
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data
rotate PDF pages, C#.NET search text in PDF As String = Program.RootPath + "\\" output.pdf" Dim fields As field, set state to ON Dim input As AFCheckBoxInput
adding text to a pdf document acrobat; how to insert text into a pdf with acrobat
C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#
input = new AFCheckBoxInput(true); PDFFormHandler.FillFormField(inputFilePath, "AF_RadioButton_01", input, outputFilePath + "1.pdf"); } { fill a RadioButton
adding text to a pdf form; adding text to pdf in reader
more options available.
rpm -qf identifies which package a file originates from.
bash$ rpm -qf /bin/ls
coreutils-5.2.1-31
rpm -qa gives a complete list of all installed rpm packages on a given system. An
rpm -qa package_name lists only the package(s) corresponding to
package_name.
bash$ rpm -qa
redhat-logos-1.1.3-1
glibc-2.2.4-13
cracklib-2.7-12
dosfstools-2.7-1
gdbm-1.8.0-10
ksymoops-2.4.1-1
mktemp-1.5-11
perl-5.6.0-17
reiserfs-utils-3.x.0j-2
...
bash$ rpm -qa docbook-utils
docbook-utils-0.6.9-2
bash$ rpm -qa docbook | grep docbook
docbook-dtd31-sgml-1.0-10
docbook-style-dsssl-1.64-3
docbook-dtd30-sgml-1.0-10
docbook-dtd40-sgml-1.0-11
docbook-utils-pdf-0.6.9-2
docbook-dtd41-sgml-1.0-10
docbook-utils-0.6.9-2
cpio
This specialized archiving copy command (copy input and output) is rarely seen any more, having
been supplanted by tar/gzip. It still has its uses, such as moving a directory tree. With an appropriate
block size (for copying) specified, it can be appreciably faster than tar.
Example 16-30. Using cpio to move a directory tree
#!/bin/bash
# Copying a directory tree using cpio.
# Advantages of using 'cpio':
  Speed of copying. It's faster than 'tar' with pipes.
  Well suited for copying special files (named pipes, etc.)
#+  that 'cp' may choke on.
ARGS=2
E_BADARGS=65
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
259
C# Image Convert: How to Convert Adobe PDF to Jpeg, Png, Bmp, &
This demo code just converts first page to jpeg image. String inputFilePath = @"C:\input.pdf"; String outputFilePath = @"C:\output.jpg"; // Convert PDF to jpg.
how to add text to a pdf in preview; how to insert text in pdf file
C# PDF Convert: How to Convert Jpeg, Png, Bmp, & Gif Raster Images
Console.WriteLine("Fail: can not convert to PDF, file type unsupport"); break; case ConvertResult.FILE_TYPE_UNMATCH: Console.WriteLine("Fail: input file is not
adding text to pdf in acrobat; add text fields to pdf
if [ $# -ne "$ARGS" ]
then
echo "Usage: `basename $0` source destination"
exit $E_BADARGS
fi  
source="$1"
destination="$2"
###################################################################
find "$source" -depth | cpio -admvp "$destination"
              ^^^^^         ^^^^^
 Read the 'find' and 'cpio' info pages to decipher these options.
 The above works only relative to $PWD (current directory) . . .
#+ full pathnames are specified.
###################################################################
# Exercise:
# --------
 Add code to check the exit status ($?) of the 'find | cpio' pipe
#+ and output appropriate error messages if anything went wrong.
exit $?
rpm2cpio
This command extracts a cpio archive from an rpm one.
Example 16-31. Unpacking an rpm archive
#!/bin/bash
# de-rpm.sh: Unpack an 'rpm' archive
: ${1?"Usage: `basename $0` target-file"}
# Must specify 'rpm' archive name as an argument.
TEMPFILE=$$.cpio                         #  Tempfile with "unique" name.
 $$ is process ID of script.
rpm2cpio < $1 > $TEMPFILE                #  Converts rpm archive into
#+ cpio archive.
cpio --make-directories -F $TEMPFILE -i  #  Unpacks cpio archive.
rm -f $TEMPFILE                          #  Deletes cpio archive.
exit 0
 Exercise:
 Add check for whether 1) "target-file" exists and
#+                       2) it is an rpm archive.
 Hint:                    Parse output of 'file' command.
pax
The pax portable archive exchange toolkit facilitates periodic file backups and is designed to be
cross-compatible between various flavors of UNIX. It was designed to replace tar and cpio.
pax -wf daily_backup.pax ~/linux-server/files 
 Creates a tar archive of all files in the target directory.
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
260
How to C#: Cleanup Images
body of the image, the Shear method can adjust the text body of RasterImage img = new RasterImage(@"F:\input.png"); ImageProcess process = new ImageProcess(img
how to insert text box in pdf file; add text box to pdf file
C# PDF File Split Library: Split, seperate PDF into multiple files
Program.RootPath+ @"\part_1.pdf"; String secondFile = SplitDocument + @"\part_2. pdf"; String thirdFile = SplitDocument + @"\part_3.pdf"; //Split input file to
adding text to pdf file; add text to pdf file
 Note that the options to pax must be in the correct order --
#+ pax -fw     has an entirely different effect.
pax -f daily_backup.pax
 Lists the files in the archive.
pax -rf daily_backup.pax ~/bsd-server/files
 Restores the backed-up files from the Linux machine
#+ onto a BSD one.
Note that pax handles many of the standard archiving and compression commands.
Compression
gzip
The standard GNU/UNIX compression utility, replacing the inferior and proprietary compress. The
corresponding decompression command is gunzip, which is the equivalent of gzip -d.
The -c option sends the output of gzip to stdout. This is useful when piping to
other commands.
The zcat filter decompresses a gzipped file to stdout, as possible input to a pipe or redirection. This
is, in effect, a cat command that works on compressed files (including files processed with the older
compress utility). The zcat command is equivalent to gzip -dc.
On some commercial UNIX systems, zcat is a synonym for uncompress -c, and will
not work on gzipped files.
See also Example 7-7.
bzip2
An alternate compression utility, usually more efficient (but slower) than gzip, especially on large
files. The corresponding decompression command is bunzip2.
Similar to the zcat command, bzcat decompresses a bzipped2-ed file to stdout.
Newer versions of tar have been patched with bzip2 support.
compress, uncompress
This is an older, proprietary compression utility found in commercial UNIX distributions. The more
efficient gzip has largely replaced it. Linux distributions generally include a compress workalike for
compatibility, although gunzip can unarchive files treated with compress.
The znew command transforms compressed files into gzipped ones.
sq
Yet another compression (squeeze) utility, a filter that works only on sorted ASCII word lists. It uses
the standard invocation syntax for a filter, sq < input-file > output-file. Fast, but not nearly as
efficient as gzip. The corresponding uncompression filter is unsq, invoked like sq.
The output of sq may be piped to gzip for further compression.
zip, unzip
Cross-platform file archiving and compression utility compatible with DOS pkzip.exe. "Zipped"
archives seem to be a more common medium of file exchange on the Internet than "tarballs."
unarc, unarj, unrar
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
261
These Linux utilities permit unpacking archives compressed with the DOS arc.exe, arj.exe, and
rar.exe programs.
lzma, unlzma, lzcat
Highly efficient Lempel-Ziv-Markov compression. The syntax of lzma is similar to that of gzip. The
7-zip Website has more information.
xz, unxz, xzcat
A new high-efficiency compression tool, backward compatible with lzma, and with an invocation
syntax similar to gzip. For more information, see the Wikipedia entry.
File Information
file
A utility for identifying file types. The command file file-name will return a file specification
for file-name, such as ascii text or data. It references the magic numbers found in
/usr/share/magic, /etc/magic, or /usr/lib/magic, depending on the Linux/UNIX
distribution.
The -f option causes file to run in batch mode, to read from a designated file a list of filenames to
analyze. The -z option, when used on a compressed target file, forces an attempt to analyze the
uncompressed file type.
bash$ file test.tar.gz
test.tar.gz: gzip compressed data, deflated,
last modified: Sun Sep 16 13:34:51 2001, os: Unix
bash file -z test.tar.gz
test.tar.gz: GNU tar archive (gzip compressed data, deflated,
last modified: Sun Sep 16 13:34:51 2001, os: Unix)
# Find sh and Bash scripts in a given directory:
DIRECTORY=/usr/local/bin
KEYWORD=Bourne
# Bourne and Bourne-Again shell scripts
file $DIRECTORY/* | fgrep $KEYWORD
# Output:
# /usr/local/bin/burn-cd:          Bourne-Again shell script text executable
# /usr/local/bin/burnit:           Bourne-Again shell script text executable
# /usr/local/bin/cassette.sh:      Bourne shell script text executable
# /usr/local/bin/copy-cd:          Bourne-Again shell script text executable
# . . .
Example 16-32. Stripping comments from C program files
#!/bin/bash
# strip-comment.sh: Strips out the comments (/* COMMENT */) in a C program.
E_NOARGS=0
E_ARGERROR=66
E_WRONG_FILE_TYPE=67
if [ $# -eq "$E_NOARGS" ]
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
262
then
echo "Usage: `basename $0` C-program-file" >&2 # Error message to stderr.
exit $E_ARGERROR
fi  
# Test for correct file type.
type=`file $1 | awk '{ print $2, $3, $4, $5 }'`
# "file $1" echoes file type . . .
# Then awk removes the first field, the filename . . .
# Then the result is fed into the variable "type."
correct_type="ASCII C program text"
if [ "$type" != "$correct_type" ]
then
echo
echo "This script works on C program files only."
echo
exit $E_WRONG_FILE_TYPE
fi  
# Rather cryptic sed script:
#--------
sed '
/^\/\*/d
/.*\*\//d
' $1
#--------
# Easy to understand if you take several hours to learn sed fundamentals.
 Need to add one more line to the sed script to deal with
#+ case where line of code has a comment following it on same line.
 This is left as a non-trivial exercise.
 Also, the above code deletes non-comment lines with a "*/" . . .
#+ not a desirable result.
exit 0
# ----------------------------------------------------------------
# Code below this line will not execute because of 'exit 0' above.
# Stephane Chazelas suggests the following alternative:
usage() {
echo "Usage: `basename $0` C-program-file" >&2
exit 1
}
WEIRD=`echo -n -e '\377'`   # or WEIRD=$'\377'
[[ $# -eq 1 ]] || usage
case `file "$1"` in
*"C program text"*) sed -e "s%/\*%${WEIRD}%g;s%\*/%${WEIRD}%g" "$1" \
| tr '\377\n' '\n\377' \
| sed -ne 'p;n' \
| tr -d '\n' | tr '\377' '\n';;
*) usage;;
esac
 This is still fooled by things like:
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
263
 printf("/*");
 or
 /*  /* buggy embedded comment */
#
 To handle all special cases (comments in strings, comments in string
#+ where there is a \", \\" ...),
#+ the only way is to write a C parser (using lex or yacc perhaps?).
exit 0
which
which command gives the full path to "command." This is useful for finding out whether a particular
command or utility is installed on the system.
$bash which rm
/usr/bin/rm
For an interesting use of this command, see Example 36-16.
whereis
Similar to which, above, whereis command gives the full path to "command," but also to its
manpage.
$bash whereis rm
rm: /bin/rm /usr/share/man/man1/rm.1.bz2
whatis
whatis command looks up "command" in the whatis database. This is useful for identifying system
commands and important configuration files. Consider it a simplified man command.
$bash whatis whatis
whatis               (1)  - search the whatis database for complete words
Example 16-33. Exploring /usr/X11R6/bin
#!/bin/bash
# What are all those mysterious binaries in /usr/X11R6/bin?
DIRECTORY="/usr/X11R6/bin"
# Try also "/bin", "/usr/bin", "/usr/local/bin", etc.
for file in $DIRECTORY/*
do
whatis `basename $file`   # Echoes info about the binary.
done
exit 0
 Note: For this to work, you must create a "whatis" database
#+ with /usr/sbin/makewhatis.
 You may wish to redirect output of this script, like so:
   ./what.sh >>whatis.db
 or view it a page at a time on stdout,
   ./what.sh | less
See also Example 11-3.
Advanced Bash-Scripting Guide
Chapter 16. External Filters, Programs and Commands
264
Documents you may be interested
Documents you may be interested