pdf viewer in asp net c# : How to add an image to a pdf in reader Library software component asp.net winforms windows mvc PowerGREP4-part3060

36 
If you do a search-and-replace, it’s important to make sure that the replacement text consists of a valid piece 
of XML. One way to do this is to use file sectioning as described above, and to make sure that your search-
and-replace does not touch the XML tags (codes between sharp brackets) in the sections that are found. 
How to add an image to a pdf in reader - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
add png to pdf acrobat; adding an image to a pdf in acrobat
How to add an image to a pdf in reader - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
adding an image to a pdf form; add jpg to pdf online
37 
11. Extract or Delete Lines Matching One or More Strings or 
Regexes 
PowerGREP’s file sectioning feature makes it trivial to extract and delete lines, or any other kind of file 
section. Follow these steps to extract all lines matching at least one of the search terms: 
1.
Select the files you want to search through in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´searchµ.  
4.
In the ´file sectioningµ list, select ´line by lineµ.  
5.
Turn on the option "collect/replace whole sections". This makes sure lines will be extracted as a 
whole.  
6.
Enter one or more search terms.  
7.
Click the Preview button to run the action.  
To extract the lines into new files, set the target type to ´save one file for each searched fileµ. Set ´between 
collected textµ to ´Line breakµ. Then click the Collect button. 
To delete the lines from the original files instead, set the action type to ´search-and-deleteµ in step 3 above. If 
you set the file sectioning type to ´line by lineµ, matching lines will be blanked out, but the number of lines in 
the file will remain the same. If you set it to "line by line (including line breaks), then the lines will be 
completely deleted, and the number of lines in the file will shrink. 
Extract or Delete Lines Matching All Search Terms 
The above steps will extract or delete any line that contains at least one of the search terms. If a line must 
contain all search terms in order to be extracted or deleted, turn on the option ´list only sections matching all 
itemsµ. This option becomes visible after you set the file sectioning type to ´line by lineµ. 
For more complex combinations of search terms, see the example about boolean operators. 
Extract or Delete Lines Matching None of The Search Terms 
To extract or delete those lines that do not contain any of the search terms, turn on the ´invert search 
resultsµ option in the file sectioning. When using a list of search terms, make sure ´list only sections matching 
all termsµ is off. 
Extract or Delete Lines Not Matching All of The Search Terms 
If you turn on both ´invert search resultsµ and ´list only sections matching all termsµ then you will extract or 
delete all lines that contain none of the search terms as well as all lines that contain some but not all of the 
search terms. 
C# Imaging - Scan Barcode Image in C#.NET
RasterEdge Barcode Reader DLL add-in enables developers to add barcode image recognition & types, such as Code 128, EAN-13, QR Code, PDF-417, etc.
adding an image to a pdf file; add jpg to pdf document
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Get image information, such as its location, zonal information, metadata, and so on. Able to edit, add, delete, move, and output PDF document image.
adding an image to a pdf; how to add an image to a pdf in acrobat
38 
12. How to Delete Repeated Words 
Repeated words, such as ´the theµ, are a common error that’s easy to overlook when editing text documents. 
PowerGREP makes such mistakes easy to find and correct. 
1.
Select the files you want to search through in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´search-and-replaceµ. Leave the search type as ´regular expressionµ.  
4.
In the Search box, enter the regular expression «
\b(\w+)(\s+\1\b)+
» and make sure to leave ´case 
sensitive searchµ off. This regex matches a word and its repetitions. The word is stored into a 
capturing group. The word boundaries make sure we don’t match partial words, such as ´
he
µ in 
´
the helmet
µ.  
5.
Enter ´
\1
µ as the replacement text. This backreference will be substituted with the contents of the 
first capturing group, in this case the repeated word.  
6.
Set the target and backup file options as you like them.  
7.
Click the Preview button to run the action. PowerGREP will find all repeated words, but will not 
actually replace them.  
8.
On the Results panel, see if ´per fileµ is selected in ´group search matchesµ. If not, select it and click 
the Update button.  
9.
Double-click on one of the files in the results to open it in PowerGREP’s editor.  
10.
In the editor, use Next Match and Make Replacement to delete repeated words. The editor is a full-
featured text editor. You can edit the file in any way you want. PowerGREP automatically keeps 
track of the search matches (i.e. repeated words) while you edit.  
11.
Save the file in the editor, and repeat from step 9 to edit all other files.  
PowerGREP’s full-featured built-in editor makes it very easy to decide for each individual search match 
whether to replace it. You don’t have to click Yes/No for each search match in the order that PowerGREP 
finds them, like most other search-and-replace tools force you to. 
You can also work the other way around. In step 7, click the Replace button to delete all repeated words. In 
step 12, use the Revert button to undo individual search matches. 
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
DLLs for PDF Image Extraction in VB.NET. In order to run the sample code, the following steps would be necessary. Add necessary references:
add image pdf; add photo to pdf reader
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.
add image to pdf java; how to add jpg to pdf file
39 
13. Add a Header and Footer to Files 
With a search-and-replace action, you can just as easily insert new information into files as you can replace 
information. The difference is that rather than specifying a search term to be replaced, you use a regular 
expression that matches a position in the file. Anchor and lookaround tokens are two ways of matching a 
position rather than actual text with a regular expression. Another way is to simply use the backreference 
\0
to reinsert the search match into the replacement text. 
This example uses the anchor method. The navigation bar example uses the backreference method. 
1.
Select the files you want to add the header and/or footer to in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´search-and-replaceµ. Set the search type to ´list of regular expressionsµ.  
4.
In the Search box, enter the regular expression «
\A
». This regular expression matches the position at 
the very start of the file.  
5.
In the Replacement box, enter the header text you want to insert.  
6.
Click the green plus button to the left of the Search box to add a second step to the action.  
7.
Enter «
\z
» in the Search box to make the second step match at the very end of the file.  
8.
Enter the footer text in the Replacement box.  
9.
Set the target and backup file options as you like them.  
10.
Click the Preview button to run a test.  
11.
If all looks well, click the Replace button to actually add the header and footer.  
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.
add image to pdf reader; add picture to pdf preview
XImage.Barcode Scanner for .NET, Read, Scan and Recognize barcode
VB.NET Write: Add Image to PDF; VB.NET Protect: Add Password to VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for C#; XDoc.Excel for C#; XDoc.PowerPoint for
acrobat insert image into pdf; add image pdf acrobat
40 
14. Add Line Numbers 
With a search-and-replace action, you can just as easily insert new information into files as you can replace 
information. The difference is that rather than specifying a search term to be replaced, you use a regular 
expression that matches a position in the file. Anchor and lookaround tokens are two ways of matching a 
position rather than actual text with a regular expression. Another way is to simply use the backreference 
\0
to reinsert the search match into the replacement text. 
This example uses an anchor to match the start of the line, and the %MATCHFILEN% placeholder to insert 
the line numbers. 
1.
Select the files you want to add line numbers to in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´search-and-replaceµ. Set the search type to ´regular expressionµ.  
4.
Enter «
^
» as the search term. This regular expression matches the start of any line in the file, 
including blank lines.  
5.
Enter ´
%MATCHFILEN%. 
µ as the replacement text. %MATCHFILEN% is a placeholder for the 
sequence number of the match being replaced in the current file. Since the regular expression we’re 
using matches each line, %MATCHFILEN% is essentially the line number.  
6.
Set the target and backup file options as you like them.  
7.
Click the Preview button to run a test.  
8.
If all looks well, click the Replace button to actually add the line numbers.  
Add Line Numbers to Non-Blank Lines 
If you only want to add numbers to lines that aren’t blank, you can follow the same steps as above, using the 
regular expression «
^(?=[ \t]*+\S)
». This regular expression uses positive lookaround to check if the line 
the caret matched at isn’t blank. It does this by skipping leading whitespace with a possessive character class, 
followed by «
\S
» to check if there are any further characters on the line. 
Since blank lines are not matched at all, they are not included in the %MATCHFILEN% count. The non-
blank lines will be numbered without gaps in the numbering. The numbering will restart at 1 for each file. To 
give all lines a unique number throughout the file, use %MATCHN% instead of %MATCHFILEN%. 
Add Numbers to Lists in a File 
Making the numbering restart at one for each block of non-blank lines is also possible, if slightly more 
complicated. This can be useful if you have files containing several lists with one item on each line, and the 
lists are separated by one or more blank lines. This action effectively turns all of the lists into independently 
numbered lists. The first 4 steps are the same as in the first example. 
5.
Enter ´
%MATCHSECTIONN%. 
µ as the replacement text. %MATCHSECTIONN% is a placeholder 
for the sequence number of the match being replaced in the current section. In this case, a section is 
one list of items, as we’ll define in the following steps.  
6.
Select ´split along delimitersµ in the ´file sectioningµ list. We will split up the file so we can number 
each of the lists in the file independently.  
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
Evaluation library and components enable users to annotate PDF without adobe PDF reader control installed. Able to add notes to PDF using C# source code in
how to add an image to a pdf in preview; add image in pdf using java
C# Create PDF from images Library to convert Jpeg, png images to
List<Bitmap> images = new List<Bitmap>(); images.Add(new Bitmap(Program.RootPath + "\\" 1.gif")); / Build a PDF document with GIF image.
add image to pdf form; how to add an image to a pdf file
41 
7.
In the ´section searchµ box, enter the regular expression «
\r\n(?:[ \t]*+\r\n)++
». This regular 
expression matches a line break, followed by one or more line breaks. Each of the following line 
breaks can optionally be preceded by some whitespace. Effectively, this regular expression matches 
one or more blank lines, including the leading and trailing line breaks. Since we’re using the ´split 
along delmitersµ sectioning type, the files will be split up along blank lines. The main action will only 
search through the non-blank lines.  
8.
Set the target and backup file options as you like them.  
9.
Click the Preview button to run a test.  
10.
If all looks well, click the Replace button to actually create the numbered lists.  
42 
15. Collect Page Numbers 
PowerGREP deals with plain text files. Plain text files consist of unformatted text, so there’s no real concept 
of a page. Still, plain text files can contain page breaks represented by ASCII character 12 decimal. Some text 
editors, such as EditPad Pro and PowerGREP’s built-in editor, allow page breaks to be inserted by pressing 
Ctrl+Enter and show them as horizontal lines. 
PowerGREP’s built-in decoder that converts PDF files into plain text (so PowerGREP can search through 
them)  also  inserts  page  breaks  that  match  the  page  transitions  in  the  original  PDF.  You  can  make 
PowerGREP search for these page breaks to determine the page numbers. In this example we’ll do this to get 
search results that indicate on which page each search match was found. We’ll use the ´file sectioningµ 
feature to split the file into one section per page. The main search then processed the PDF one page at a 
time, with the section number being the page number. 
1.
Select the PDF files you want to search through in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´collect dataµ.  
4.
Set ´file sectioningµ to ´split along delimitersµ.  
5.
To use each page break as the delimiter to divide the file into sections (pages), we need to set the 
search term for the file sectioning to a page break. There are two ways to do this. Choose whichever 
way you find more comfortable.  
o
Set the ´search typeµ to ´literal textµ. Click on the ´section searchµ box and then press 
Ctrl+Enter. A horizontal line representing the page break appears.  
o
Set the ´search typeµ to ´regular expressionµ and type in the regex «
\x0C
» into the ´section 
searchµ box. This regular expression amtches ASCII character 12 which is the page break 
character.  
6.
Specify your search term(s) in the main part of the action.  
7.
In the collect box, use the match placeholder ´
%SECTIONN%
µ as a placeholder for the page number. 
E.g. ´
%MATCH% on page %SECTIONN%
µ collects ´
found me on page 7
µ when the main part of 
the action finds ´found meµ in the 7th section (page).  
8.
Click the Search button to run the search.  
You can find this action in the PowerGREP.pgl standard library as ´Collect page numbersµ. 
43 
16. Update Copyright Years 
At the start of every year, you have to update the year in the copyrightstatements on your web site and other 
published materials. If you forget this, your web site will look outdated. 
There are several reasons why this seemingly trivial task can be quite tedious: 
1.
You probably have a lot of files to update, with copyright statements in different places. So you want 
to automate it.  
2.
You cannot just search and replace the year number, because historic dates should not be updated.  
3.
Different files may have a different style of copyright statement, such as a &copy; HTML element 
rather than the © character.  
4.
You may have forgotten to update some statements in the past. You want to make sure to update 
those now.  
5.
The first year in the copyright statement will be different for different projects. This year should not 
be changed.  
In PowerGREP, you can solve this problem easily: 
1.
Select the files you want to search through in the File Selector.  
2.
Open the PowerGREP.pgl library file included with PowerGREP. You can find it in the folder 
where PowerGREP is installed, c:\Program Files\JGsoft\PowerGREP4 by default.  
3.
Select ´Update copyright statementsµ in the library, and click the Use Action button.  
4.
Set the replacement to ´
\1-
µ (backslash, one, dash) followed by the current year.  
5.
Set the target and backup file options as you like them.  
6.
Click the Preview button to run a test.  
7.
If all looks well, click the Replace button to actually update the copyright statements.  
This was all so easy, because the regular expression we used had already been created. Writing the regular 
expression to take into account the problems mentioned above is the hard part. 
How The Regular Expression Works 
The regular expression we used is «
(copyright +(©|\(c\)|&copy;) +\d{4})( *[-,] *\d{4})*
». 
We take care of problem 2 by not just searching for the year, but for the complete copyright statement. We 
solve problem 3 by having the regex search for different styles, and by putting the actual copyright statement 
in a backreference. Problem numbers 4 and 5 are solved by only putting the first year in the backreference 
that we use in the replacement. 
In the replacement we used ´
\1
µ which is replaced by the text matched by the part between the first set of 
parenthesis in the regular expression. In our case: «
copyright +(©|\(c\)|&copy;) +\d{4}
». This 
regular expression matches the literal text ´copyrightµ followed by one or more spaces, followed by either the 
real copyright symbol ©, the textual representation (c), or the HTML character &copy;. The symbol must be 
followed by one or more spaces, and 4 digits. 
The first part  of the  regular expression will  successfully match a  copyright  statement  in the  form  of 
"Copyright (c) 1999". 
44 
However, some statements may have the form "Copyright (c) 1999, 2000, 2001´ or µCopyright (c) 1999-
2002". In either case, the first part of the regular expression will match "Copyright (c) 1999". So we need to 
add a second part to the regular expression to match the additional years. We will put this part outside of the 
first parenthesis so it will be excluded from the replacement text. 
We match the additional years with: «
( *[-,] *\d)*
». This will match zero or more spaces, followed by a 
dash or a comma, followed by zero or more spaces, followed by 4 digits. All of this can appear zero or more 
times. 
If we use ´
\1-2005
µ as the replacement, we will replace the entire copyright statement with all the years by 
the same copyright statement with only the first year, followed by -2005. So both statements mentioned two 
paragraphs earlier will be replaced by "Copyright (c) 1999-2005". We maintained the style and the first year, 
and updated the year even if the first copyright statement wasn’t updated the past few years. 
Here is a visual representation of how the original text is matched by the regular expression and turned into 
the final text by the replacement text with the backreference \1. 
45 
17. Padding Replacements 
PowerGREP’s match placeholders make it easy to pad the replacement text in a search-and-replace action, or 
the text to be collected in a ´collect dataµ action. If the text to be collected is simply a regular expression 
match or a single capturing group, you can use the padding specifiers directly in the main action. If the 
replacement text is more complex, you can use PowerGREP’s extra processing feature to pad it. 
1.
Select the files you want to process in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´search-and-replaceµ or ´collect dataµ. Leave the search type as ´regular 
expressionµ.  
4.
Enter the regular expression that matches the items you want to collect or replace. Use capturing 
groups to extract specific parts of each record.  
For the replacement text or text to be collected, you have two options: the whole regex match or a single 
capturing group, or something more complex. For the whole match or a single group, you can use a match 
placeholder with padding specifier directly: 
5.
As  the  replacement  text  or  text  to  be  collected,  enter  ´
%MATCH:6L%
µ  or  ´
%GROUP1:6L%
µ. 
Use  %MATCH%  for  the  whole  match,  or  %GROUP1%  for  the capturing group  with index 
1, %GROUP2% for group #2, etc. 
:6L
is the padding specifier. This one pads up to 6 spaces at the 
left. Use R instead of L to pad at the right, C for center, Z for zero-padding at the left, and A for a-
padding at the left. Enter any number instead of 6 to set the length the final replacement should 
have.  
6.
Set the target and backup options as you want.  
7.
Click the Preview button to check the results.  
If the replacement text is a combination of multiple capturing groups and/or literal text, you’ll need to use 
extra processing: 
5.
As the replacement text or text to be collected, without regard to padding.  
6.
Turn on the ´extra processingµ option.  
7.
Leave the extra processing search type as ´regular expressionµ, and turn on the option ´dot matches 
newlinesµ.  
8.
In the ´extra processing searchµ box, enter the regular expression «
.++
». This regular expression 
matches the entire replacement text from step 5.  
9.
As the ´extra processing replacementµ, enter %MATCH:12L% to pad the replacement up to 12 
spaces at the left. Use R instead of L to pad at the right, C for center, Z for zero-padding at the left, 
and A  for  a-padding at  the left.  Enter  any  number  instead of 12 to  set the  length  the final 
replacement should have.  
10.
Set the target and backup options as you want.  
11.
Click the Preview button to check the results.  
Documents you may be interested
Documents you may be interested