using pdfdocument c# : Add links to pdf in preview application Library tool html .net wpf online WATUsageGuide3-part872

Notes for Users of Earlier Versions
29
When step D is executed, it may report an error. If the step is reached on an execution path that goes via
step B1, the error will be sent back to B1 and will be reported there. However, if step D is reached via step
B2, it will not be reported. Rather, it will cause execution to proceed at step F.
When opened in version 8.0, the robot is automatically modified as follows:
We see that step D has been duplicated and that the two copies have been configured differently. The
one associated with step B1 (in green) has "API Exception" and "Log as Error" turned on and uses "Skip
Following Steps", while the one for B2 does no logging, but uses "Try Next Alternative". Step C has been
duplicated also, in order to make it possible to connect the steps correctly.
Small Changes to the Order of Error Reports
It should be noted that in earlier Kapow Katalyst versions, "Send Backwards" made it possible to delay
reporting an error as an API exception. In version 8.0, however, if an error is reported, it is reported as
soon as it occurs. For some robots, this means that errors are reported back to the caller in a different order
than previously, and they may be grouped into API exceptions in a different way, too.
New Storage System in 7.2
With version 7.2 of Kapow Katalyst storing data in databases has become easier than with previous
versions. The new storage mechanism lowers the learning curve and eliminates tedious tasks, allowing
you to spend more time writing robots.
This guide describes the differences between the old and new storage systems, and the upgrade path
required to move to from the old to the new storage system.
The Old Storage System
Since the first release of Kapow Katalyst it has been possible to store data in databases. Although the
system has proven its worth, a number of problems have become visible over time.
Problems with the old storage system
• Storing data in a database required a special DatabaseOutputObject.
• The DatabaseOutputObject had a refindKey field; few understood the importance of the refindKey at
the time the object was constructed, and once data had been stored, changing the refindKey was a
cumbersome process.
• You had to register each robot with the RoboManager database, so the robot would have a robotId.
• At  run-time  you  had  to  provide  3  environments,  a  DatabaseStorageEnvironment,  a
DatabaseRobotInfoEnvironment and a DatabaseMessageEnvironment.
Add links to pdf in preview - 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
adding a link to a pdf in preview; add links to pdf document
Add links to pdf in preview - 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
add links to pdf; add hyperlink to pdf in
Notes for Users of Earlier Versions
30
• The Refind Object action was confusing, and error prone to use.
These issues introduced a number of pitfalls, which even experienced users fell into. Most common is
probably the duplicate robotId, where an already registered robot was used as a template, but the copy was
never re-registered with RoboManager, and suddenly two robots had the same RobotId.
The New Storage System
The new storage system, introduced with version 7.2 of Kapow Katalyst, intends to fix the shortcomings
of the old storage system.
Benefits of the new system
• No dedicated OutputObject for databases, just use regular output objects.
• No registration of robots.
• Data is stored using the Store in Database step action.
• No environments, logging is optional and configured using the Settings application.
• No RoboManager, the log is viewable through a web interface.
• New Find in Databases, and Delete in Database step actions.
The new system has completely removed the use of RoboManager and environments, which greatly
simplifies the process of running a robot that collects data into a database.
Instead of the refindKey, you now have an ObjectKey, but in addition to configuring it when you build the
model, it can also be specified inside the robot (also no fields are selected for the ObjectKey by default,
forcing you to consider which fields define object identity).
When an object is stored using Store in Database, 7 additional (household) fields are stored. These are
similar to the 6 hidden fields contained in the old DatabaseOutputObject, except for the following changes:
• ObjectKey replaces refindKey.
• ExecutionId replaces RobotRunId (allows you to correlate with API executions).
• RobotName replaces RobotId (so make sure the robot names are unique).
• LastUpdated is added, this allows you to see the last time this record was updated (similar to the
functionality added by the old ChangeDate plug-in).
Legacy Options
After a fresh install of 7.2 the old storage system is completely hidden, this is done to prevent confusion
for new users. If you need to build old Database Output Objects, or run a robot with environments in the
Debugger, you have to enable Legacy Properties in Settings; this is done on the Legacy tab.
Backwards Compatibility
Since the two storage systems required different table layouts, they are not compatible. However, in most
scenarios the two systems can coexist without problems, allowing you to migrate your robots over time.
You should not mix the usage of the new and the old system within a single robot.
C# Create PDF Library SDK to convert PDF from other file formats
PDF with a blank page, bookmarks, links, signatures, etc. PDF document in C#.NET using this PDF document creating toolkit, if you need to add some text
convert a word document to pdf with hyperlinks; chrome pdf from link
C# Image: Tutorial for Document Management Using C#.NET Imaging
navigate viewing document by generating a thumbnail preview. on each part by following the links respectively & profession imaging controls, PDF document, image
clickable links in pdf from word; add a link to a pdf in preview
Notes for Users of Earlier Versions
31
In most cases you can execute robots using both storage systems on the same RoboServer, as long as
you don't provide a DatabaseRobotInfo Environment to robots which use the new storage system. This
means that if you use a deployment descriptor or API code to configure the environments, you will have
to make a distinction in your code between robots using the new and the old system. Alternatively you can
temporarily give new robots a RobotId allowing them to be run with the RobotInfo/Message environments,
and then remove the environments once all robots have been migrated.
If a new robot is executed with a Database Storage Environment, it will be ignored, as long as the robot
doesn't contain any old Database Output Objects or Return Object steps.
If you execute a robot with both a Database message environment and database logging enabled for
RoboServer, you will get two different logs: One you access through RoboManager, and another one you
access via the Log View in the Management Console.
Migration
Migrating from the old to the new storage system usually requires four distinct migration steps. Migration
of the models, the robots, the data, and any SQL scripts interacting with the data tables.
Migration of Models
Change the model type from DatabaseOutputObject (Legacy) to OutputObject and remove the 6 hidden
fields (robotId, robotRunId, refindKey, firstExtractionDate, latestExtractionDate, extractedInLatestRun).
Consider which fields should be part of the ObjectKey.
Migration of Robots
The following steps must be completed to migrate your robots.
• Replace Return Object with Store in Database, and configure it appropriately.
• Replace Refind Object with Find in Database. Since Refind Object will update the object and stop if
the object was found, the structure of the robot has to be changed a little.
Here is a classic scenario using Refind Object. The object Id is extracted (the only attribute used for
refindKey in this example), then the price is extracted (not part of refindKey), then the object is refound.
If the object exists, the price is updated (and the rest of the branch is skipped), if the object doesn't exist,
the details page is loaded and the details are extracted and the object is then returned.
Refind Object Example
This should be converted to:
Using Find in Database
C# Word - Convert Word to PDF in C#.NET
of original Word file and maintains the original text style (including font, size, color, links and boldness C# Demo: Convert Word to PDF Document. Add references
add hyperlink in pdf; add hyperlink pdf file
C# powerpoint - Convert PowerPoint to PDF in C#.NET
PowerPoint file and maintains the original text style (including font, size, color, links and boldness C# Demo: Convert PowerPoint to PDF Document. Add references
add link to pdf acrobat; add links to pdf file
Notes for Users of Earlier Versions
32
First we extract the id (Object Key attribute) then we use Find in Database to check if the object already
exists. If the object exists the current record is loaded into our output object, and we now extract the price
on-top of the previous value, and then we store the object again. If the object was not found by Find in
Database an error is generated, and "Try Next Alternative" error handling sends the execution into the
lower branch where we extract the price, load and extract the details, and then store the object.
The new method may require an extra Extract Price step, but it is much easier to see what happens, and
there is no refind-object-magic.
If your robot has any Query Database or Execute SQL steps which query the storage tables, these may
need to be updated as well.
Migrating Existing Data and Tables
If you have small amounts of data, or you collect all the data every time your robots run, the easiest is
simply to delete (drop) the existing tables, and create new tables using the updated model objects.
If you have large amounts of data, or need the historic data from previous runs, you have to convert your
existing data tables into the new table layout. It is possible to use tools from your database vendor to
add/remove and rename the fields, but it is not recommended. The best solution is to use a robot to load
the old data and store it using the new format.
To do this, create a table from you updated output object; you will have to rename the original data table
unless you have given the new version of the object a different name. Then create a robot which loads the
existing data using the Query Database step action, and stores the objects using Store in Database.
If you require the data history, like first and last Extracted date, you can extract these from the old row,
and use the Execute SQL step to update the object after it has been stored.
If you have exposed the refindKey outside of your Kapow environment, you probably need to track which
ObjectKey maps to an existing refindKey, and then provide the outside world with a mapping table,
allowing them to convert existing refindKeys into the new ObjectKeys. This is important since you can't
always generate an ObjectKey identical to the previous refindKey, since the robotId was often part of the
refindKey calculation.
Migrating SQL Scripts
It is not possible to give a generic rule for how to migrate external SQL scripts, since the possibilities and
complexity of such scripts are virtually endless. Instead we will try to give some guidelines.
Moving production data out of the harvest database
It is not a good idea to run user queries against the harvest tables (the tables the robots collect into),
instead you should have a separate set of tables for the production data. These tables will contain the
refindKey/ObjectKey, but not necessarily any of the other household fields. The production tables usually
should be updated each time a robot has executed successfully.
Previously, the rows to move was often identified by using the robotRunId column to find the most recent
run, but this column no longer exists. Instead we now have a column named LastUpdated, which contains
a timestamp of when this row was last updated. This way all you need to do is find all rows which have
been updated since you last moved data out of the harvest tables. If you have multiple robots harvesting
data into the same table, you now need to use the robotName and not the robotId to distinguish data from
different robots.
Scripts against RoboManager tables
C# PDF: C# Code to Create Mobile PDF Viewer; C#.NET Mobile PDF
In Default.aspx, add a reference to the path in for Windows Forms application, please follow above links respectively. More Tutorials on .NET PDF Document SDK.
add a link to a pdf; clickable links in pdf files
C# powerpoint - Convert PowerPoint to HTML in C#.NET
The HTML document file, converted by C#.NET PowerPoint to HTML converter toolkit SDK, preserves all the original anchors, links, bookmarks and Add references:
clickable links in pdf; add links to pdf in preview
Notes for Users of Earlier Versions
33
The new database log offers superior information compared to the old RoboManager logs, some of these
(like logging of Input Objects) are for internal use, but the rest are viewable in log view of the Management
Console. If you have scripts containing queries against the RobotRun or Message tables in RoboManager,
these will need to be rewritten to match the new logging layout.
Most significantly the robotId and robotRunId have been replaced with RobotName and ExecutionId. The
advent of the executionId allows you to trace a specific run or message to an execution created using the
API, something which was not previously possible. The new ROBOT_RUN table also contains a number
of extra statistics, such as queue time, execution time and total runtime.
C# Word - Convert Word to HTML in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB to HTML converter toolkit SDK, preserves all the original anchors, links, bookmarks and Add references:
change link in pdf file; adding an email link to a pdf
How to C#: Basic SDK Concept of XDoc.PowerPoint
Conversely, conversion from PDF to PowerPoint (.PPTX) is also split PowerPoint file(s), and add, create, insert including editing PowerPoint url links and quick
add hyperlink to pdf in preview; pdf hyperlink
34
Beginner Tutorials
This section contains an overview of Kapow Katalyst followed by three tutorials that will guide you
through your first project in Kapow Katalyst. Make sure to install and set up Kapow Katalyst correctly
before proceeding with these videos. Click the videos, like the one below, to play them. Click the link in
the bottom right corner of the page when you are ready to go to the next tutorial video.
On each page you will also find a transcript of the video.
Videos are not included in the PDF. Please visit open this url http://player.vimeo.com/video/62084944 in
a browser to see the video.
This is the first of four beginner tutorials which will guide you safely through your first project with Kapow
Katalyst. In this first video, you will get an overview of the workflow involved when working with Kapow
Katalyst along with an introduction to the main program called Design Studio. Before watching these
tutorials, make sure you have installed and set up Kapow Katalyst correctly. Please follow the relevant parts
of the Installation Guide in the Getting Started section of the documentation at help.kapowsoftware.com.
Kapow Katalyst is very simply stated a platform which enables you to fully automate any process that you
would be able to perform in a browser via your mouse and keyboard.
Please sit back and watch as you are taken through the general procedure from idea to automated process.
It all starts with an idea of a process you want to automate. In these Beginner Tutorials we want to
automatically extract the most recent stories from a website called News Magazine.
Our first step will be to check out the website. What exactly do we want?
When we feel confident about what we want to achieve, we will open Design Studio, the program used
to create the automated processes. The first time you open Design Studio you will get a welcome screen
which links to this Beginner Tutorial, along with the rest of the documentation. Click OK and you will be
able to see the main window of Design Studio.
On the left side we have the projects view. Right now it contains only the default project which includes
a collection of example files and a Tutorials folder where samples of the files we will be creating in these
Beginner Tutorials can be found.
Double clicking the file called Post.type in the projects view, opens it in the type editor, which is used to
edit and create this kind of file. A type defines what kind of data can be stored in a variable of that type. If
you are unfamiliar with types and variables, you can think of a variable as a bucket which can hold objects,
like text or images, and the type can be thought of as the mold which produces that type of bucket.
This particular type is designed to contain the information we will be extracting from the News Magazine
website. In the very last tutorial we will get into the process of creating a type.
The extraction of stories from News Magazine is performed by an automated process called a robot. Think
of a robot as an automation of any process you would perform in a web browser.
Double clicking the file called NewsMagazine.robot, also from the Tutorials folder, opens up the robot
editor, which is used to edit and create robot files.
The Robot View at the top of the editor displays the structure of the robot. Each step corresponds to an
action performed by the robot. Going through the steps in the Robot View the robot loads News Magazine,
navigates to the most recent articles and extracts a title and a preview of each story by using a loop. The
robot then finally returns the collected values
How to C#: Basic SDK Concept of XDoc.Word
Conversely, conversion from PDF to Word (.docx) is also and split Word file(s), and add, create, insert document, including editing Word url links and quick
add hyperlinks to pdf; pdf links
Beginner Tutorials
35
Clicking the second step in the Robot View executes the Load Page action and we see that News Magazine
loads in the Browser View below. As we will see later, the Browser View makes it really intuitive to build
a robot.
The next tutorial will show you how to build this robot yourself.
Once we have automated the process of extraction with the robot, we will upload that robot to the
Management Console. The Management Console is a web-based application for managing the operational
aspects of Kapow Katalyst. From the robot we can create a Kapplet, which publishes the robot as an app
for yourself and others to use.
The final product will be a Kapplet which automatically extracts the most recent stories from News
Magazine and returns them for the user to view and download.
You are now ready to start building your first robot. Start the Beginner Tutorials by watching the Robot
Beginner’s Tutorial.
Robot Beginner's Tutorial
What follows is a robot beginner's tutorial video, along with a transcript of the video.
Videos are not included in the PDF. Please visit open this url http://player.vimeo.com/video/61707847 in
a browser to see the video.
General Introduction
This is the second of four beginner tutorials which will guide you all the way through your first project
with Kapow Katalyst. It is advised to start with the Overview video before starting this tutorial.
You are about to learn how to build a robot in Kapow’s Design Studio. Please feel free to follow along
on your computer.
Specific Introduction
In Kapow Katalyst, robots are used to automate processes that can be performed in a web browser. Robots
can mimic and automate any set of mouse and keyboard instructions that you would otherwise have to
perform manually.
In these beginner tutorials it is the goal to automate the process of extracting the most recent stories from
News Magazine which is a site built specifically for these tutorials. There is a link to the site in the text
associated with this video. (http://kapowsoftware.com/tutorial/news-magazine/index.html.) Under the tab
Most Recent News, we find the three most recent articles on News Magazine. From these we want to
extract their title and the short article preview that is given. We will design our robot to do all this.
Creating a New Robot
With Design Studio running, create a new robot by right-clicking the  default project and choosing
New>>Robot... A window opens, asking for the name of our new robot. Since this is our first robot we
will call it MyFirstRobot.robot. Click next. Now direct the robot to the front page of News Magazine
(http://kapowsoftware.com/tutorial/news-magazine/index.html) and click finish.
The robot editor opens and News Magazine loads. Notice that the new robot file has automatically been
selected in the projects view on the left.
The Robot Editor
In the robot editor we have five different main views.
Beginner Tutorials
36
There's the browser view which shows us the loaded page exactly like we'd expect to see it in a browser.
Under the browser view, the html view shows the html of the loaded page.
At the very top there's the robot view where you can see the actions performed by the robot. Actions can
be anything from clicking a link to storing data in a database. The active step is highlighted in green and
steps to the left of the active step have been executed. Right now the End-step, which is the small round
step, is the active step and the load page step has been executed. We will get back to the meaning of the
End-step later on.
The step view on the right is used to configure the action performed by the active step. Since our
current active step, the End-step, does not have any properties to configure, the step view contains only
a description of the step.
Finally the variables view specifies any variables used by the robot for input, output or for storing data
during execution.
The Browser View
Use the browser view to navigate to the page we want to extract from. A double click in the browser view
corresponds to a single click in a regular browser. Double click the Most Recent News tab to get to the
stories we want to extract.
Notice that a new step is created and executed in the robot view and the Most Recent News page is loaded
in the browser view.
Scroll down the page and see the three news articles that we want to extract from.
If we single-click within the browser view, a green box appears around the HTML tag in which we have
clicked. This green box marks the selected tag in the browser view. By selecting a tag and right clicking
it, a menu appears which presents some actions that can be applied to the selected tag. We will use this
in a moment.
Looping Through Tags
The next step is to make a loop which iterates through the three most recent articles. To do this we simply
select any tag within the tag of the first article. Select for example the picture. Now, right-click in the
selected tag and choose Loop>>For Each Tag. A For Each Tag step appears in the robot view, and in the
browser view a blue box appears around the first article in our loop.
The For Each Tag step has arrows which can be used to iterate through the loop. Use these to iterate
through the three articles and confirm that they are selected properly by the blue box. Clicking the arrows
will not alter the robot in any way, but they can help us ensure that the loop has the expected iterations.
Use the left-most arrow to return to the first article.
The function of the end step now becomes apparent. The loop will loop over every step bounded by the
For Each Tag step and the End step. Note that we cannot add any steps after the End step.
Adding a Variable
Now, before we can extract anything we need to add a variable to contain the text we are going to extract.
As mentioned in the Introduction tutorial I have already prepared a type called post to use with this robot.
Right click the white box in the variables view in the lower right corner and select Add Variable of Complex
Type>>post. A window opens in which we may configure the variable. Let us keep the default settings
and click OK.
Beginner Tutorials
37
A variable of the selected type now appears in the variables view. It contains the two attributes title and
preview, which correspond to what we want to extract.
Extracting
Looking at the browser view again we are now ready to make the extractions. Click then right-click the
title of the post marked with the blue box and choose Extract>>Extract Text>> title. Extracting within the
blue box, called the named tag, ensures that the other iterations of the loop will extract the corresponding
titles and previews from the other posts.
Now  do  the  same  for  the  article  preview.  Click  and  right-click  the  preview  text  and  choose
Extract>>Extract Text>> preview. Notice that the extracted text is now shown in the variables view. Also
notice that two extraction steps have been added and executed in the robot view. Use the arrows on the
For Each Tag step, while looking at the variables view, to observe that the text is extracted properly from
the other posts as well.
The Return Value Step
To output the collected data we now need to insert a return value step into our robot. Right-click the end
step and choose "Insert Step Before". This inserts a new step before the end step. Click the new step to
ensure that it is the active step. The step action view has now changed to that of an empty step for which
we can select an action.
Notice the warning symbol which appears over the step and over the step action tab. This is a warning that
no action has yet been chosen for this step.
Click “Select an Action”, under the Action tab of the Step View, and choose the action Return Value. The
Step View changes again to show the properties of the Return Value action. We see that the variable we
added earlier has been chosen by default. The robot is now ready to be tested in the debugger.
The Debugger
Switch to Debug mode by clicking the Debug button above the Robot View.
The bottom part of the robot editor is now replaced with panels containing various tools to monitor the
execution of the robot. The default tab in the main panel shows Input and Output. Run the robot by choosing
Run from the Debug menu. The robot should now successfully execute and the output should be shown
in the main panel. We have now successfully built a robot that extracts the three most recent articles from
the News Magazine website.
If the execution fails for some reason, you can either redo the tutorial and check all the steps or check the
NewsMagazine.robot, which is a robot identical to the one we have just built. The News Magazine robot
can be found in the Tutorials folder in the default project.
Next step is to upload the robot to the Management Console and create a Kapplet. Move on to the
Management Console tutorial or if you need help on specific topics go to help.kapowsoftware.com.
Management Console Beginner's Tutorial
What follows is the Management Console Beginner's Tutorial video, along with a transcript of the video.
Videos are not included in the PDF. Please visit open this url http://player.vimeo.com/video/62068023 in
a browser to see the video.
This is the third of four beginner tutorials which will guide you safely through your first project with
Kapow Katalyst. It is advised to watch the overview video and complete the robot tutorial before following
this tutorial.
Beginner Tutorials
38
You are about to learn how to use the Management Console to run robots as Kapplets. Please feel free
to follow along on your computer.
The Management Console is a web-based application for managing the operational aspects of Kapow
Katalyst. First of all, the Management Console acts as a repository for robots and types. It also enables
you to create and manage Kapplets, which are robots that have been published as apps, easy to distribute
and run.
This tutorial will show you how to upload the News Magazine robot to the Management Console, and
publish it as a Kapplet.
Open Design Studio and MyFirstRobot, the robot we created in the Beginner Tutorial on Robots. Then
ensure that the robot editor is in Design Mode by clicking the Design Button at the top left corner of the
robot editor.
To upload the robot to the Management Console, select Upload to Remote Management Console from
the Tools menu. Everything should already be correctly configured so just press Upload. The robot, along
with any types associated with it will now be uploaded to the Management Console.
Click the link that appears to the Management Console. This should open your browser in the Repository
of the Management Console.
The Repository contains any robots, types and other files uploaded to the Management Console. Observe
that the News Magazine robot has been listed. Similarly click the Types tab to check that the associated
type has been uploaded correctly.
To create a Kapplet from the robot, go to the Kapplets tab at the top of the page. This opens the Kapplet
Repository, which is so far empty. There are also two other sub-tabs called My KappZone and KappZone.
The repository is where you can add, remove and edit Master Kapplets and is only visible to administrators.
The two other tabs are visible to all users and are available for you to test the user experience. My
KappZone contains all Kapplets installed by the user and the KappZone the place from which the user
installs Kapplets. My KappZone is therefore individual for each user.
To create a Kapplet click the plus at the top left of the repository. Call the new Kapplet MyFirstKapplet
and click OK. The new Kapplet now appears in the repository.
We have now created an empty Kapplet which has been added to the list. Click the KappZone tab to view
the Kapplet in the KappZone.
The new Kapplet is so far disabled, which is indicated by the diagonal lines. This means the Kapplet is
only visible to administrators and needs configuration before it can be installed by users. Hover over the
Kapplet and click the Design Kapplet icon.
A setup screen now opens for the Kapplet. It contains four sections which can be expanded one at a time.
Branding is expanded by default. Here you can edit the name of the Kapplet, upload an icon for the Kapplet,
and add a description.
Beneath the Branding section is the Robots section where robots can be added to the Kapplet. Click on
the Robots section to expand it and click the plus. Now start typing “MyFirstRobot”. When MyFirstRobot
appears in the dropdown, click it and click Add. Our robot has now been added to the Kapplet.
The Kapplet Input section is empty since our robot takes no input.
The Kapplet Output section, on the other hand, contains our post variable as expected.
Now close the Kapplet configuration window by clicking the “X” at the top left. This takes us back to the
KappZone where our Kapplet now has the icon we assigned to it. The Kapplet is however still disabled,
but as an administrator it is possible to test the Kapplet before enabling it to users.
Documents you may be interested
Documents you may be interested