pdf viewer in asp net c# : Add picture to pdf document software Library dll winforms asp.net html web forms PowerGREP5-part3061

46 
18. Capitalize The First Letter of Each Word 
PowerGREP’s match placeholders make it easy to change the case of the replacement text in a search-and-
replace action, or the text to be collected in a ´collect dataµ action. This example shows how you can 
capitalize the first character in each word. For a more generic example, see ´padding replacementsµ. 
1.
Select the files you want to search through in the File Selector.  
2.
Set the action type to ´search-and-replaceµ. Leave the search type as ´regular expressionµ.  
3.
Enter the regular expression «
\w++
». This regular expression matches a single word.  
4.
Enter  ´
%MATCH:F%
µ as the replacement  text. This match placeholder inserts  the entire regular 
expression match, with the first character converted to upper case and the rest to lower case.  
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 capitalize the words.  
Capitalizing Words in Strings 
In practice, you’ll often want to capitalize only certain words in the file rather than all words. The example 
below shows how to capitalize words inside double-quoted strings only. PowerGREP’s file sectioning feature 
makes this easy. The first five steps are the same as in the previous action. 
6.
Select ´search for sectionsµ in the ´file sectioningµ drop-down list.  
7.
Enter the regular expression «
"[^"\r\n]++"
» or one of the other regexes for matching strings in 
the ´section searchµ box. This regular expression matches a double-quoted string that does not span 
across lines. Double quotes cannot appear inside the string.  
8.
Click the Preview button to run a test.  
9.
If all looks well, click the Replace button to actually capitalize the words.  
That’s all there’s to it. The file sectioning feature simply restricts the main action to the parts of the file 
matched by the file sectioning regular expression. There’s no need to modify the main action. 
Add picture to pdf document - 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 picture to pdf file; add picture pdf
Add picture to pdf document - 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
how to add image to pdf in acrobat; add picture to pdf reader
47 
19. Add Proper HTML <TITLE> Tags 
Many web authors are sloppy at adding proper <TITLE> tags to their HTML files. They are easy to forget 
because they are not clearly visible when viewing a website. However, <TITLE> tags are important because 
they’re used as the default name for bookmarks/favorites. Most search engines will use the titles to list your 
pages in the search results. 
Assuming you have been more careful with adding the title to the HTML body, you can easily fix this 
problem with PowerGREP. Usually, <H1> tags are used to add titles to the body. We will use <H1> tags in 
the example below, but you can easily adapt it to whatever tags you have been using. What we’ll do is tell 
PowerGREP to find the <H1> tag in each file and capture its contents. Then we use the captured text to 
replace the <TITLE> tag. 
The ´filter filesµ feature on the Action panel is what we’ll use to capture the <H1> tag into a named 
capturing group. Then we can set the main action to search for the <TITLE> tag and to replacde it with the 
contents of the named capturing group. This relies on PowerGREP’s special ability to carry over text 
matched by named capturing groups from one part of the action to the next. 
1.
Select the HTML files you want to update in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´search-and-replaceµ.  
4.
Set ´filter filesµ to ´require all search terms to matchµ. Leave the search type as ´regular expressionµ.  
5.
Enter the regular expression «
<h1>(?'h1'.*?)</h1>
» in the Search box in the ´filter filesµ part of 
the action. This regex matches the opening and closing <h1> tags and any text between them. The 
text between them is captured into the named capturing group ´h1µ.  
6.
Enter the regular expression «
<title>.*?</title>
» in the Search box in the main part of the 
action. This regex matches the opening and closing <title> tags and any text between them. This 
regex does not capture anything.  
7.
Enter the replacement text ´
<title>${h1}</title>
µ to insert a new pair of title tags with the text 
matched by the named capturing group ´h1µ between them.  
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 update the TITLE tags.  
Should a file not have an <H1> tag, then it is filtered out and no changes are made to it. If a file has more 
than one <H1> tag, then only the first tag is used. Once all the regular expressions in ´filter filesµ have found 
a match, PowerGREP considers the file to meet the filtering requirement. It won’t look for any further 
matches for the filtering regex. 
If a file does not have an <TITLE> tag, the search-and-replace won’t replace anything. If a file has more 
than one <TITLE> tag, then all of them are replaced with the contents of the first <H1> tag in the file. 
This action is available in the PowerGREP.pgl library as ´Update HTML title tagsµ. 
How to Insert Missing <TITLE> Tags 
If some of your HTML files do not have TITLE tags at all, but they do all have <HEAD> tags, you can use 
the following regular expression «
<head>(?:(.*?)<title>.*?</title>)?
» for the search-and-replace. 
C# TIFF: How to Insert & Burn Picture/Image into TIFF Document
Support adding image or picture to an existing new REImage(@"c:\ logo.png"); // add the image powerful & profession imaging controls, PDF document, tiff files
add image pdf; add image in pdf using java
VB.NET TIFF: How to Draw Picture & Write Text on TIFF Document in
Dim drawing As RaterEdgeDrawing = New RaterEdgeDrawing() drawing.Picture = "RasterEdge" drawing powerful & profession imaging controls, PDF document, tiff files
adding an image to a pdf in acrobat; add jpg to pdf document
48 
This regex matches the <head> tag optionally followed by the group «
(.*?)<title>.*?</title>
». This 
group starts with «
(.*?)
» to skip over any number of characters and capture those into capturing group 
number one. The star is made lazy so this group matches as few characters as possible, expanding only as 
needed to allow «
<title>.*?</title>
» to match the title tag. If there is a title tag, then the first capturing 
group matches the text between the head and title tags. If there’s no title tag, then «
(.*?)
» expands all the 
way to the end of the file before giving up (assuming we turned on ´dot matches newlinesµ). Since the 
question mark and the end of the regex makes the group after the head tag optional, the regex matches only 
<head>
µ in that case. 
The replacement text becomes ´
<head>\1<title>${h1}</title>
µ. In addition to inserting the new title 
tag and the named capturing group, this replacement text also re-inserts the <head> tag that we matched and 
the text between the head and title tags that we may have matched. If there was no title tag in the file, then 
the first capturing group did not participate in the match, and ´
\1
µ inserts nothing. 
You can find this action in the PowerGREP.pgl standard library as ´Update or insert HTML title tagsµ. 
C# Word - Paragraph Processing in C#.NET
Add references: CreateParagraph(); //Create a picture for para IPicture picture = para.CreatePicture(imageSrcPath); //Save the document doc0.Save
how to add an image to a pdf in reader; add an image to a pdf with acrobat
VB.NET Image: Create Code 11 Barcode on Picture & Document Using
file, apart from above mentioned .NET core imaging SDK and .NET barcode creator add-on, you also need to buy .NET PDF document editor add-on, namely, RasterEdge
add picture to pdf preview; add photo to pdf reader
49 
20. Rename Files Based on HTML Title Tags 
The ´rename filesµ action type enables you to rename files by searching and replacing through their file 
names or paths. With the ´filter filesµ feature you can first run a search through the contents of each file and 
then use (part of) the search match in the search-and-replace through the file’s name. This way you can 
extract text from the file’s contents and insert it into the file’s name. 
As an example, we’ll rename a bunch of HTML files. The new name of each file will be whatever is specified 
in the <TITLE> tag inside the file. If a file does not have a <TITLE> tag, we use the contents of the <H1> 
tag instead. If a file has neither tag, it is not renamed. 
1.
Select the HTML files you want to rename in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´rename filesµ.  
4.
Leave ´what to renameµ set to ´file name onlyµ. Our search-and-replace should only change the file’s 
name.  
5.
Set ´filter filesµ to ´require all search terms to matchµ. Leave the search type as ´regular expressionµ.  
6.
Enter the regular expression «
<(TITLE|H1)[^<>]*>(?'title'[^<>]+)</\1>
» in the Search box 
in the ´filter filesµ part of the action. This regex matches the opening and closing <TITLE> or 
<H1> tags (whichever pair comes first) and any text between them. The text between them is 
captured into the named capturing group ´titleµ.  
7.
Enter the regular expression «
^.*\.
» in the Search box in the main part of the action. This regex 
matches everything up to and including the last dot in the file’s name.  
8.
Enter the replacement text ´
${title}.
µ to replace the file’s name with the contents of the tag 
matched by the ´filter filesµ regex. The replacement also puts back the dot that delimits the file’s 
extension. The extension is not matched by the regex and thus remains unchanged.  
9.
Tick the extra processing checkbox. An additional set of controls for entering search terms appears.  
10.
Use  «
[\\/:*?"<>|]
» as  the  regular  expression  for  extra  processing.  This  regex  matches any 
character that is not allowed in file names by the Microsoft Windows operating system.  
11.
Leave the extra processing replacement blank so invalid characters are deleted.  
12.
Set the backup file options as you like them.  
13.
Click the Preview button to run a test.  
14.
If all looks well, click the Rename button to actually rename the files.  
Should a file not have a <TITLE> or <H1> tag, then it is filtered out and not renamed. If a file has both a 
<TITLE> and <H1> tag, or multiple occurrences of the same tag, then only the first tag is used. Once all 
the regular expressions in ´filter filesµ have found a match, PowerGREP considers the file to meet the 
filtering requirement. It won’t look for any further matches for the filtering regex. 
This action is available in the PowerGREP.pgl library as ´Rename files based on HTML title tagsµ. 
VB.NET PowerPoint: Add Image to PowerPoint Document Slide/Page
clip art or screenshot, the picture will be AddPage", "InsertPage" and "DeletePage" to add, insert or & profession imaging controls, PDF document, tiff files
add an image to a pdf; how to add image to pdf file
VB.NET Image: VB.NET Planet Barcode Generator for Image, Picture &
on Overview. VB.NET Planet Barcode Creator Add-on within Generate Planet Barcode on Picture & Image in VB.NET. In for adding Planet barcode image to PDF, TIFF or
acrobat insert image in pdf; add multiple jpg to pdf
50 
21. Replace HTML Tags 
When editing a web site, you may want to update some HTML tags to give the site a more consistent look. 
Let’s say some pages were created by other people, and they used slightly different text and background 
colors. With PowerGREP, you can easily do a search and replace to replace any <body> tag with the one you 
want. 
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 «
<BODY[^>]*>
» and make sure to leave ´case 
sensitive  searchµ off. This  regular  expression  will  match  <BODY,  followed  by  zero  or  more 
characters that aren’t a closing sharp bracket, followed by a single closing sharp bracket.  
5.
Type  the  tag  you  want  to  replace  all  body  tags  with  in the  Replacement  box.  E.g.:  ´
<BODY 
BGCOLOR=white TEXT=black>
µ  
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 replace the tags.  
Maintaining your web site is much easier with the help of PowerGREP. Most (visual) HTML editors cannot 
do a search and replace across all files your web site consists of. Most text editors can only search and replace 
literal strings, which makes it tedious to replace several styles of tags with the same tag. 
You can find this action in the PowerGREP.pgl standard library as ´Replace HTML tagsµ. 
VB.NET Image: Image Cropping SDK to Cut Out Image, Picture and
SDK; VB.NET image cropping method to crop picture / photo; VB.NET image cropping control add-on needs a PC com is professional provider of document, content and
add signature image to pdf acrobat; add picture pdf
VB.NET Image: Image Scaling SDK to Scale Picture / Photo
this VB.NET image scaling control add-on, we API, developer can only scale one image / picture / photo at com is professional provider of document, content and
adding a png to a pdf; adding images to pdf files
51 
22. Replace HTML Attributes 
This was one of the most complicated examples in the documentation that shipped with PowerGREP 1.0. 
Like most grep tools, PowerGREP 1.0 was not able to search through only certain sections of files. Now that 
PowerGREP has this ability, replacing HTML attributes is very straightforward. Makes you wonder why 
PowerGREP is the only Windows grep tool to support file sectioning. 
When editing a web site, you may want to update some HTML tags to give the site a more consistent look. 
Suppose you have some tables on your web site with different background colors, and you want to give all of 
them the same color. However, you only want to update the ´bgcolorµ attribute of the tables. All the other 
attributes should remain unchanged. 
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.
Select ´search for sectionsµ from the File Sectioning drop-down list. Leave the search type as 
´regular expressionµ.  
5.
In the Section Search box, enter the regular expression «
<table[^>]*>
» and make sure to leave 
´case sensitive searchµ off.  
6.
In the search box of the main part of the action, enter the regular expression «
bgcolor=([_a-z0-
9]+|'[^\\']*'|"[^\\"]*")
» and make sure to leave ´case sensitive searchµ off. This regular 
expression matches any bgcolor attribute with an unquoted value, or a single-quoted value, or a 
double-quoted value.  
7.
Enter  ´
bgcolor=blue
µ in the Replacement box. Each bgcolor attribute will be replaced with 
whatever you enter in the Replacement box.  
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 replace ´bgcolorµ attributes in ´tableµ tags.  
You can find this action in the PowerGREP.pgl standard library as ´Replace HTML attributesµ. 
If you’re curious, with a basic grep tool that can only search-and-replace using one regular expression, this is 
the search pattern to use: 
(<table([\s\r\n]+[a-z]+(=([_a-z0-
9]+|'[^\']*'|"[^\"]*"))?)*)([\s\r\n]+bgcolor=([_a-z0-
9]+|'[^\']*'|"[^\"]*"))?(([\s\r\n]+[a-z]+(=([_a-z0-
9]+|'[^\']*'|"[^\"]*"))?)*[\s\r\n]*>)
The replacement text would be 
\1 bgcolor=blue \7
You can see the same regular expression we used to match the bgcolor attribute in the middle of this 
behemoth regex. All the other stuff is for matching the  table tag around the attribute. It  works,  but 
PowerGREP’s sectioning abilities do make life a lot easier. 
52 
23. Put Anchors Around URLs That Are Not Already Inside a 
Tag or Anchor 
Suppose you have an HTML file that has URLs in its body text that are not clickable. You want to make 
them clickable by placing the URLs inside anchor tags. But like any other HTML file, your file also has URLs 
as part of anchors (links), images, and other tags. Those URLs should be left alone. You also want to ignore 
URLs that have already been placed inside anchor tags. 
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.
Select ´split along delimitersµ from the File Sectioning drop-down list.  
5.
Set the ´section search typeµ to ´list of regular expressionsµ.  
6.
Add «
<a\b[^<>]*>.*?</a>
» as the first file sectioning regular expression. It matches any <a> tag 
and its contents.  
7.
Add «
<[^<>]+>
» as the second regex. This regex matches any opening or closing HTML tag. This 
regex assumes all 
<
characters in your HTML file that aren’t part of tags are properly escaped as 
&lt;
.  
8.
Make sure ´non-overlapping searchµ is turned on. The file sectioning should make one pass of the 
file using both regular expressions.  
9.
In the search box of the main part of the action, enter the regular expression «
https?://\S+
» 
which is a quick way of matching any web URL.  
10.
Enter  ´
<a href="\0">\0</a>
µ in the Replacement box. This replaces each  URL with itself 
wrapped inside an anchor using itself as the destination.  
11.
Set the target and backup file options as you like them.  
12.
Click the Preview button to run a test.  
13.
If all looks well, click the Replace button to actually replace the URLs.  
When PowerGREP executes this action, it first uses the file sectioning regex to match all the anchor tags with 
their contents, and all other HTML tags without contents. Because we put the anchor tag regex first in the 
list, it takes precedence over the HTML tag regex. At a position where both regexes can match, only the first 
one will. With ´non-overlapping searchµ turned on, searching for the list of regular expressions «
one
» and 
«
two
» (in that order) is exactly the same as searching for the single regex «
one|two
». A list of multiple short 
regexes is easier to manage than a long regex with many alternatives. But there’s no functional difference. 
Because ´file  sectioningµ is set to ´split along delimitersµ, PowerGREP  treats  the matches of  the  file 
sectioning regexes as delimiters that chop the file into pieces. The action’s search-and-replace separately 
processes each bit of text between two delimiters (and before the first and after the last delimiter). In this 
case, the search-and-replace works on each bit of text between two HTML tags, between two anchor tags 
(with contents), or between an anchor tag and another HTML tag. Essentially, the search-and-replace skips 
over all anchor tags (with contents) and all HTML tags. 
You can find this action in the PowerGREP.pgl standard library as ´Put anchors around URLs that are not 
already inside a tagµ. 
53 
24. Replace in File Names and Contents 
You can search and replace through file names with the ´rename filesµ action type. You can search and 
replace through the contents of files with the ´search-and-replaceµ action type. PowerGREP does not have 
an action type that does both at the same time. Fortunately, we can use the Sequence panel to execute two 
actions as one operation. 
Let’s say you have a set of files that need to be updated annually. The files that need updating have the year in 
their file name. You have to create a copy of those files with the new year in the file name. You also have to 
replace the year in the contents of those files. 
1.
Select the files you want to update in the File Selector.  
2.
Start with a fresh action.  
3.
Set the action type to ´rename filesµ.  
4.
Set ´what to renameµ to ´full pathµ if the folders containing the files also have year numbers in 
them, and you want to create new folders for the new year.  
5.
In the Search box, enter the old year (e.g. 2010).  
6.
In the Replace box, enter the new year (e.g. 2011).  
7.
Set ´target file creationµ to ´copy filesµ.  
8.
Set the backup file options as you like them.  
9.
Click the New Step button on the Sequence panel to add the contents of the Action panel as the first 
step in the sequence.  
10.
On the Action panel, change the action type to ´search-and-replaceµ.  
11.
Set ´target file creationµ to ´modify original filesµ. In this case, the original files will be the files that 
were copied by the first step in the sequence.  
12.
Click the New Step button on the Sequence panel to add the contents of the Action panel as the 
second step in the sequence.  
13.
With the second step still selected on the Sequence panel, select ´target files from other stepµ in the 
´file selectionµ drop down list.  
14.
Select step 1 in the ´stepµ drop-down list. The second step is now configured to process the target 
files created by the first step.  
15.
Click the Execute button on the Sequence panel to execute both steps. The first step copies the files, 
changing 2010 in their paths into 2011. When that’s done, the second step searches through the 
contents of the copied files, replacing 2010 with 2011.  
This sequence is available in the PowerGREP.pgl library as ´Replace in file names and contentsµ. 
54 
25. Replacing Named XML Entities 
PowerGREP’s ability to search and replace using a delimited list of search terms makes it very easy to search-
and-replace  all reserved XML  character  with  their named XML  entities. Simply set the search type to 
´delimited literal textµ, set the extra item delimiter to a line break, the extra pair delimiter to an equals sign, 
and paste in the following search text: 
&=&amp; 
<=&lt; 
>=&gt; 
’=&apos; 
"=&quot; 
When extracting text from an XML file, you can easily turn things around to replace the named XML entities 
with the characters they represent: 
&amp;=& 
&lt;=< 
&gt;=> 
&apos;=' 
&quot;=" 
Collect XML Data with Entities Replaced 
PowerGREP’s extra processing feature makes it very straightforward to collect text from an XML file with all 
entities replaced with their corresponding characters. 
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 ´collect dataµ. Leave the search type as ´regular expressionµ.  
4.
In the search box, enter the regular expression that matches the XML data you want to extract. E.g. 
«
<tag[^>]+>([^<>]+)</tag>
» matches any text (but no XML) between <tag> and </tag>.  
5.
Type 
\1
in the Collect box. This will collect just the text between the tags matched by our regular 
expression.  
6.
Tick the extra processing checkbox. An additional set of controls for entering search terms appears.  
7.
Set the extra processing search type to ´delimited literal textµ.  
8.
Leave the ´extra item delimiterµ field set to ´Line breakµ. Type a single equals sign in the ´extra pair 
delimiterµ field.  
9.
Copy the second list of search-and-replace pairs in the first section of this help topic. Paste it into the 
´extra processing searchµ box in PowerGREP.  
10.
Set the target and backup file options as you like them.  
11.
Click the Preview button to run a test.  
12.
If all looks well, click the Collect button to actually collect the text.  
PowerGREP will now collect all the text between <tag> and </tag> tags in your XML files. If any of the 
text contains named entities, they will be replaced before the text is collected. The replacements are only 
made to the text being collected. They’re not made to the original XML files. 
You can find this action in the PowerGREP.pgl standard library as "XML: Collect search matches with 
named entities replaced". 
55 
The example ´replace reserved characters in XML filesµ in the PowerGREP library shows how you might use 
the ´extra processingµ feature for doing the opposite: replacing reserved characters with entities. 
Documents you may be interested
Documents you may be interested