using pdfdocument c# : Add hyperlink pdf application software tool html windows .net online WATUsageGuide13-part854

Design Studio User's Guide
129
Example of extracted HTML
How to Test Cell Types in Excel
If you want to test the content of a cell in an Excel page this can be done by first extracting the content
of the cell and then use a Test Values step to perform the actual test. This is essentially not different from
what you would do in other page types, e.g. HTML, but what if you wanted to determine the cell type
of a cell that would not be straightforward or even possible by just extracting the content of a cell and
subsequently performing a test on this, e.g. there is no way to determine whether a cell is blank or contains
an empty text. Fortunately Design Studio contains a step to perform such a test: the Test Cell Type step.
There are six different cell types that you can test for and these correspond directly to what you in Excel
can test for with functions ISTEXT , ISNUMBER , etc.:
Blank:
This corresponds to the Excel function ISBLANK  .
Text:
This corresponds to the Excel function ISTEXT .
Number:
This corresponds to the Excel function ISNUMBER  . This type also includes dates since
these are represented as numbers in Excel.
Logical:
This corresponds to the Excel function ISLOGICAL . This corresponds to the type Boolean
in Design Studio .
Error:
This corresponds to the Excel function ISERROR  .
Formula:
This corresponds to the Excel function ISFORMULA  .
Add hyperlink pdf - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
convert doc to pdf with hyperlinks; add links to pdf
Add hyperlink pdf - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
pdf edit hyperlink; convert a word document to pdf with hyperlinks
Design Studio User's Guide
130
The Test Cell Type works like any other test step. It tests that the cell type in the found range matches a
specified type and based on the result of this determines whether to continue along the branch or skip the
following steps. The step is described in further details in the reference documentation on the  Test Cell
Type [../ref/robomaker/reference/stepaction/TestCellTypeStepAction.html] step.
An important property of the Test Cell Type step is that it can test the type of many steps simultaneously.
As an example of this let us look at how one may test that an entire row is empty. This could be useful
when looping over a document containing several structurally identical tables separated by blank lines.
The figure below shows how to configure the step for this. In this example the branch following the step
will be skipped, if the cells in the found range are all blank.
Example of Testing for Blank Cells
The figure below shows how to configure the Range Finder such that it finds an entire row. In this case we
have a named range called "row" that has been set by a Loop in Excel step looping over rows and occurring
before the Test Cell Type step. We have specified that the result should the entire row, by selecting "Whole
of Range" for the Use property.
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# program. Hyperlink Edit. XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document
add links to pdf in acrobat; convert excel to pdf with hyperlinks
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You may add PDF document protection functionality into your VB.NET program. Hyperlink Edit. XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF
add page number to pdf hyperlink; add hyperlinks pdf file
Design Studio User's Guide
131
Range Finder Selecting an Entire Row
How to Loop in Excel
Looping in Excel is in many ways similar to looping in HTML, but where the possible ways of looping
in HTML are very diverse, it is much simpler in Excel due to the simpler structure of Excel. Essentially
you may loop over all the sheets in a document or you may loop over the cells of a sheet either by looping
over the rows, columns or cells of a found range. To loop in Excel you use the Loop in Excel step.
This step has many options in common with steps that loop in HTML, e.g. First index, Increment, etc.
and these are described in detail in the reference documentation [../ref/robomaker/reference/stepaction/
LoopInExcelStepAction.html].
Below is a video explaining how to loop over a table in a single sheet, extract the cells of each row into a
variable of complex type and return these with a Return Value step.
Videos are not included in the PDF. Please visit open this url http://player.vimeo.com/video/61006912 in
a browser to see the video.
Video Tutorial on Looping in Excel
Looping over Sheets and Rows
Generally looping in Excel is a bit more complex than show in the video above. An often occurring scenario
for looping in an Excel document is when the document contains a number of sheets containing tables
with data of the same type, e.g. one sheet with account information for each month of the year. In this
case you would like to have you robot first loops over the sheets and then over say the rows of each sheet.
We would probably also like to be able the handle the situation where the document contains a sheet that
does not contain data of the same type as the other sheets, e.g. maybe where a sheet is blank. The image
below shows the structure of such a robot.
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
pdf links; clickable links in pdf files
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
adding links to pdf document; adding an email link to a pdf
Design Studio User's Guide
132
Looping over Sheets and Rows in Excel
The first step in this robot is a Load Page step that loads the Excel document from some URL, the robot
then contains a Loop in Excel step that loops over all the sheets of the document. For each iteration of this
first loop step the robot executes another Loop in Excel step that loops over each row of the sheet much in
the same way as was demonstrated in the video above. The step looping over rows has its Error Handling
property Then set to "Next Iteration", which means that if the range finder of the step fails to match a range
the size of the table it will go the the next iteration. This simplified error handling will handle the simple
situation where a sheet is blank, but not situations where a sheet contains a table with entirely different
type of data. In the general case one would have to insert a step to extract part of the sheet followed by a
step to test the structure of this. One example of this could be extracting the column headers and testing
that these have some given structure. The image below shows the robot extended with this. In this the
Extract Cell step named Extract Headers extracts the first row of the sheet into a variable and the Test
Value step has a condition that tests the value of this. If the value matches then the robot will execute the
next step (the Loop Rows step), if not the robot will skip the following steps, that is, the Do property of
the Test Value step has been set to "Skip Following Steps".
Looping over Sheets and Rows in Excel with Test
Looping and Merged Cells
The next scenario that we will look at is when an Excel Page that you want to loop over has merged cells.
merged cell in Excel is two or more adjacent cells that have been merged into one cell and shown as
one. The content of a merged cell is stored in the upper left cell of the cells and all other cells are blank.
In some case this can give problem when looping over a table that contains such merged cells. Let us
look at a simple example that illustrates this. If you look at the sheet below that shows test results for
students you will notice that some student have missed their test and and in some case two test shown
using a merged cell.
C# PDF Library SDK to view, edit, convert, process PDF file for C#
editing PDF document hyperlink (url) and quick navigation link in PDF bookmark. C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update
pdf link to specific page; adding links to pdf in preview
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Please click to see details. PDF Hyperlink Edit. RasterEdge PDF SDK for .NET package offers robust APIs for editing PDF document
pdf hyperlink; add hyperlink pdf
Design Studio User's Guide
133
Looping over Sheet with Merged Cells
If we want to extract the students' test results by looping over the rows of the sheet, we might fail to extract
the results correctly when a student has missed a test since the text "Missed" is not a number. We could
solve this by inserting a test for this and then store the value 0 for a failed result. This would work fine
for the cell B4 since this contains the value "Missed", but it would fail to work for C4 since the content of
this would be a blank value. Instead of having yet another test for whether the content of the cell is blank,
there is a simple option on all Range Finders that ensures that if it finds a single cell inside a merged cell,
then it will instead return the upper left cell of the merged cell. The image below show how to configure
a range finder in this way.
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
add hyperlink to pdf; add email link to pdf
.NET PDF SDK - Description of All PDF Processing Control Feastures
Create signatures in existing PDF signature fields; Create signatures in new fields which hold the signature; Add signature image to PDF file. PDF Hyperlink Edit
add hyperlinks to pdf online; change link in pdf
Design Studio User's Guide
134
The Range Finder
Now all the Extract cell has to do is to test for the text "Missed" and use 0 for the result and otherwise use
the extracted value. This may be done with an If Then data converter as shown below.
Design Studio User's Guide
135
The Extract Cells Action
How to Handle Errors
A step in a robot may generate an error when it is executed. For example, this will happen if the tag finders
cannot find the tag to work on, or if the step action generates an error. Test steps may also be configured
to act as if an error occurred if the test fails. The default behavior of a robot is to report and log the error
immediately, and to omit execution of the steps beyond the one that failed. However, by configuring the
error handling properties of the steps in the robot, you can change this behavior. For example, you can
make the robot skip a step that generates an error, or you can make it try alternative branches. In this
section, you will learn how to do this.
Before we start, note that the error handling behavior that we describe here applies to runtime execution
of a robot (i.e. execution in RoboServer or in debug mode), not to the execution in design mode in Design
Studio. In design mode, an error is normally reported immediately, and the execution of the subsequent
steps is aborted. One exception to this is when the step is configured to "Ignore and Continue" in case
of errors, in which case Design Studio does ignore the error and executes the next step, just as it would
during runtime execution.
Design Studio User's Guide
136
API Exceptions and Logging
The "Error Handling" tab in the Step View has two checkboxes for selecting how (and whether) to report
the error.
The "API Exception" checkbox specifies whether to report the error back to the caller of the robot. This
is most useful when the robot is executed by a client via one of the APIs and runs in RoboServer. In
this case the error is sent back to the caller via the API as a RobotErrorResponse, which causes an
exception at the caller side, at least when using the default RQLHandler. See the reference documentation
[../ref/robomaker/reference/errorhandling/ErrorHandling.html] for the details when the robot is executed
in other ways.
The "Log as Error" checkbox specifies whether to log the error. Logging happens in different ways
depending on whether the robot is run in the Design Studio or in RoboServer, as described in the reference
documentation [../ref/robomaker/reference/errorhandling/ErrorHandling.html].
Note that the checkboxes may be unchecked or checked, but may also be marked with an asterisk * meaning
that they have been explicitly set to a non-default value. This is explained in Show Changes from Default,
where it is also shown how to remove the asterisk and revert to the default value. When the default value
applies (that is, when no asterisk is present), be aware that the default varies according to how the error
is handled.
How Execution Continues After an Error
The "Then" property defines how and where robot execution continues after an error has been encountered.
The possible options are described with examples in the following sections. Detailed descriptions are found
in the reference documentation [../ref/robomaker/reference/errorhandling/ErrorHandling.html].
Trying Several Alternatives
In this example we will show how error handling can be used to select among several different alternative
ways to achieve some goal. This relates to the discussion in Conditions and Error Handling, which also
includes a tutorial video on the topic.
Suppose that some part of a web page has varying structure and layout, but always comes down to one of
three cases. In each case there is some information we want to extract. This can be done by simply trying
to do the extraction for one case at a time. If it fails, the next case is tried, until the third one, which we
assume will succeed:
Design Studio User's Guide
137
Note the  ("Try Next Alternative") icons on the Extract steps, which mean that if extraction fails, the next
branch from the Try step will be executed (if a branch coming out of a Try step succeeds, the next branch
will not be executed). Thus the Extract steps do two things at the same time: They do some extraction from
the web page, and if that cannot be done, they ensure that the next approach is tried. Please note that if
any of the two steps on the first branch fails, the second branch is executed; this is an example of how the
"success condition" for a branch may be expressed by a combination of steps.
This approach works best if the "third way" of extracting is bullet-proof (for example, by applying a fixed
set of default values rather than actually extracting data from the web page). If the third branch accesses
the web page like the first two branches do, it may not be wise to just assume that it will succeed. The
next time the robot is run, the web site may have changed so much that none of the three strategies will
succeed, and the robot should be able to respond to this in a reasonable manner.
This easiest way to respond is just report the problem back to the caller and log it, giving up on doing the
extraction and whatever would follow it. This can be achieved simply by making the third branch inform
the Try step if it fails to do its work, just like the first two branches:
Now if all three branches fail, the Try step will report and log the incident. This comes from the default
configuration of error handling on the Try step:
(For a Try step, "Skip Following Steps" means that no additional action will be taken beyond reporting
and logging.)
Alternatively, it is possible to make the Try step propagate the problem back to an earlier Try step for
handling. We will explore this idea in the section on Try-Catch.
Design Studio User's Guide
138
Shortcuts for Common Cases
Try steps and "Try Next Alternative" error handling (as described in the previous section) are very flexible
tools. Used in the proper way, they support many different ways to handle errors, and in this section, we
will show a couple of simple and common cases. In fact, these cases are so common that they are also
supported by specialized error handling options, which we will also show.
Skip Following Steps
In many cases, a robot must be able to handle optional elements on a web page. That is, if the elements are
present, they must be handled (for example, data must be extracted), but if they are absent, the handling of
these elements can simply be skipped. Their absence is not an error, but an expected situation. This can be
expressed as follows in a robot. Step A tests if the elements are present (for example by trying to extract
something), while steps B and C do further processing that depends on the success of step A:
If step A is not successful (because elements are missing on the web page), its "Try Next Alternative" ()
error handling will send notice to the Try step (which is unnamed in this example). This will cause the
second and empty branch to be executed, after which execution of that whole branch that starts in the Try
step is done. Thus steps B and C are not executed if step A is not successful.
This situation happens so often that a specific error handling option "Skip Following Steps" has been
introduced as a shortcut. It makes it possible to simplify the example as follows:
The error handling for step A is configured as follows. This is the default configuration for all new steps:
Strictly speaking, you need to uncheck the "API Exception" and "Log as Error" checkboxes to get exactly
the same behavior as shown above with the Try step. This is because the default values for these checkboxes
are different for these two ways to do error handling.
Note that if step B had been similar to step A (that is, if step B had also had "Try Next Alternative" error
handling), this same shortcut could still be used.
Documents you may be interested
Documents you may be interested