view pdf winform c# : Add hyperlink to pdf online SDK application service wpf windows .net dnn workbook_vf5-part1425

}
}
// helper methods to create test data
static Warehouse__c createTestWarehouse(String name, Decimal lat, Decimal lon) {
Warehouse__c w = new Warehouse__c(
Name = name,
Location__Latitude__s = lat,
Location__Longitude__s = lon
);
insert w;
return w;
}
static Warehouse__c createClosestTestWarehouse() {
// Federal Reserve Bank of SF
// Next door to Salesforce HQ
return(createTestWarehouse('Warehouse1', 37.7927731, -122.4010922));
}
static Warehouse__c createCloseTestWarehouse() {
// Moscone Center, home of Dreamforce
return(createTestWarehouse('Warehouse2', 37.783944, -122.401289));
}
static Warehouse__c createTooFarTestWarehouse() {
// Mount Rushmore, South Dakota
return(createTestWarehouse('TooFarWarehouse', 43.879102, -103.459067));
}
}
45
Summary and Code Check
Introduction to Apex
Add hyperlink to pdf online - 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
add hyperlink to pdf acrobat; add page number to pdf hyperlink
Add hyperlink to pdf online - 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 link to pdf; adding a link to a pdf in preview
VISUALFORCE AND APEX IN ACTION
In the previous sections of the workbook you learned about Visualforce and Apex separately. Like two great tastes that taste great
together, Visualforce and Apex are better—more powerful, more flexible, more versatile—when combined. In this section, you’ll put
Visualforce and Apex together to build a real app that you can use in Salesforce1 on a mobile device.
We’ll start by finishing our mobile app that enables mobile technicians to quickly find nearby parts warehouses on their mobile phone.
You’ll build a Visualforce page, write JavaScript that uses Visualforce’s JavaScript remoting to call your Apex method, retrieve the results,
and then put them all on a map. Once that’s done, you’ll package it up and deploy it in Salesforce1. You’re going to be surprised just
how easy that is!
When you’re finished with this section, you will have done the following.
• Link a Visualforce page to back-end Apex code.
• Call Apex methods and use the results on a Visualforce page.
• Write Visualforce controllers and controller extensions using Apex.
• Use Visualforce JavaScript remoting to call Apex code, and convert the results into data for display on the page.
Add an app you created to Salesforce1 for use by mobile users on their phone or tablet.
Creating Location-Aware Visualforce Pages
You wrote an Apex extension that returns warehouses that are close to a specific latitude and longitude. Now you need an interface for
the user to call that query and display the results.
As a reminder, here’s our scenario. You’re going to write a small app to give mobile technicians that work for the Acme Wireless
organization a way to find nearby warehouses. For example, if the technician is out on a call and needs a part, they can use this page to
look for warehouses within a 20-mile radius. For each warehouse, a map should display a pin along with the warehouse name, address,
and phone number.
There a many ways you could build this app, but to make a mobile-friendly and dynamic page we’re going to use the Google Maps API.
The JavaScript required to access the API and render maps has already been included in the Enhanced Warehouse as a static resource.
We just need to create the page that loads the data and displays the map.
Create a Visualforce Page Linked to the 
WarehouseUtils
Class
The first thing to do is create a new Visualforce page and then connect it with the server-side Apex logic. You’ll be connecting the
Standard List Controller and an extension to the page.
Because we want to deploy this page in Salesforce1, we need to edit a setting to mobile enable the page. This setting is only available
in the Setup editor for Visualforce.
1. From Setup, enter Visualforce Pages in the Quick Find box, then select Visualforce Pages.
2. Click New.
3. For the Label and Name enter FindNearbyWarehouses.
4. Select the checkbox for Available for Salesforce mobile apps.
46
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.
add links pdf document; 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.
add hyperlink to pdf; active links in pdf
5. In the code editor, replace the generated code with the following.
<apex:page sidebar="false" showheader="false"
standardController="Warehouse__c" recordSetVar="warehouses"
extensions="WarehouseUtils">
<!-- resources and styles go here -->
<!-- JavaScript custom code goes here -->
<!-- Google Maps target [div] goes here -->
</apex:page>
6. Click Quick Save.
Now that the page is created and enabled for mobile apps, you can switch to the Developer Console or Development Mode footer to
continue editing the page. By now you may have a preference, so use whichever tool works best for you.
Add Static Resources to the Page
You’ve created the page shell, but before you start writing any JavaScript you’ll need to add a reference to several resources the page
will use.
These are stored as static resources in Salesforce, and can be associated with the page using the <apex:includeScript>
component. This component makes sure that JavaScript libraries are included in the rendered HTML’s header properly. You’re also going
to add a small amount of CSS to the page in order to display a full-width version of the map.
1. Inside the <apex:page> component replace the comment line <!-- resources and styles go here --> with
the following code.
<!-- Include in Google's Maps API via JavaScript static resource.
This is for development convenience, not production use.
See next comment. -->
<apex:includeScript value="{!$Resource.GoogleMapsAPI}" />
<!-- Set YOUR_API_KEY to fix JavaScript errors in production. See
https://developers.google.com/maps/documentation/javascript/tutorial
for details of how to obtain a Google Maps API key. -->
<!-- <script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=false">
</script> -->
<!-- Set the map to take up the whole window -->
<style>
html, body { height: 100%; }
.page-map, .ui-content, #map-canvas { width: 100%; height:100%; padding: 0; }
#map-canvas { height: min-height: 100%; }
</style>
2. Click Quick Save.
47
Add Static Resources to the Page
Visualforce and Apex In Action
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract bookmark & outlines. Extract hyperlink inside PDF. PDF Write. Insert images into PDF. Edit, remove images from PDF. Add, edit, delete links. Form Process
adding hyperlinks to pdf files; clickable pdf links
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 url pdf; adding links to pdf
The code you’ve just added references the Google Maps API two different ways. One of them is commented out. The active version is
the one included in the static resource, which will work in development. When you’re ready to develop a mapping app for real, you’ll
want to get a Google Maps API key of your own, and replace the YOUR_API_KEY string with your real key. Then uncomment that
<script> tag, and comment out or delete the <apex:includeScript> component.
More details about the Google Maps API can be found in the Google Maps JavaScript API Getting Started guide.
Add a Place to Display the Map
The Google Maps API needs an HTML <div> tag “target” to know where to render the graphics.
The Google Maps API renders the map and then inserts it into your page at a place you specify. So, you need to create that placeholder.
1. Just before the closing </apex:page> tag, replace the comment line <!-- Google Maps target [div] goes
here --> with the following code.
<!-- All content is rendered by the Google Maps code
This minimal HTML just provides a target for GMaps to write to -->
<body style="font-family: Arial; border: 0 none;">
<div id="map-canvas"></div>
</body>
2. Click Quick Save.
That completes the markup for the page. From here on, it’s JavaScript and JavaScript remoting.
Add JavaScript to Query for Warehouses
Now our page is ready for some JavaScript to make it work. You’ll start with a function that gets called when the page loads. This function
calls the Apex Remote Action method that you created earlier, retrieving a list of warehouses to display.
The code you’re about to add is written in JavaScript, but it’s using the Visualforce framework behind the scenes. This facility is called
JavaScript remoting, and it’s a terrific way to combine Visualforce with dynamic, interactive pages built with JavaScript.
1. After the <style> tag, replace the comment line <!-- JavaScript custom code goes here --> with the
following code.
<script>
function initialize() {
var lat, lon;
// If we can, get the position of the user via device geolocation
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position){
lat = position.coords.latitude;
lon = position.coords.longitude;
// Use Visualforce JS Remoting to query for nearby warehouses
Visualforce.remoting.Manager.invokeAction(
'{!$RemoteAction.WarehouseUtils.findNearbyWarehouses}',
lat, lon,
function(result, event){
if (event.status) {
console.log(result);
48
Add a Place to Display the Map
Visualforce and Apex In Action
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Export PowerPoint hyperlink to PDF. VB.NET Demo Code for Converting PowerPoint to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
pdf link to email; add url link to pdf
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
accessible links in pdf; adding links to pdf in preview
createMap(lat, lon, result);
} else if (event.type === 'exception') {
//exception case code
} else {
}
},
{escape: true}
);
});
} else {
// Set default values for the map if the device
// doesn't have geolocation capabilities.
// This is San Francisco:
lat = 37.77493;
lon = -122.419416;
var result = [];
createMap(lat, lon, result);
}
}
// createMap function goes here
</script>
2. Click Quick Save.
The JavaScript function you added does three things.
• First, it uses the navigator.geolocation feature in JavaScript to ask the hardware device if it can provide geolocation
coordinates. When this code runs, the user will be prompted by their device, requesting permission to share their location.
• Second, if the device query is successful, Visualforce JavaScript remoting is used to call your Remote Action method. You can see it
referenced right there in the code, {!$RemoteAction.WarehouseUtils.findNearbyWarehouses}, followed by
the latitude and longitude parameters the Remote Action expects. How easy—how cool—is that?
• Finally, if the device query fails—perhaps the user denied permission to share their location—a default location is defined instead.
(Once again, it’s San Francisco, home of Salesforce.com.)
Add JavaScript to Build the Map
Now that your code has queried for and retrieved a collection of nearby warehouses, all that’s left is to convert the raw data into a map.
You might have noticed in the code from the previous step that there are a few references to a createMap function. You’ll add that
next.
1. Before the end </script> tag, replace the comment line // createMap function n goes here with the following
code.
function createMap(lat, lon, warehouses){
// Get the map div, and center the map at the proper geolocation
var currentPosition = new google.maps.LatLng(lat,lon);
var mapDiv = document.getElementById('map-canvas');
var map = new google.maps.Map(mapDiv, {
center: currentPosition,
49
Add JavaScript to Build the Map
Visualforce and Apex In Action
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 a link to a pdf file; add a link to a pdf in preview
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Export PowerPoint hyperlink to PDF in .NET console application. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
add hyperlink pdf document; convert doc to pdf with hyperlinks
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
// Set a marker for the current location
var positionMarker = new google.maps.Marker({
map: map,
position: currentPosition,
icon: 'https://maps.google.com/mapfiles/ms/micons/green.png'
});
// Keep track of the map boundary that holds all markers
var mapBoundary = new google.maps.LatLngBounds();
mapBoundary.extend(currentPosition);
// Set markers on the map from the @RemoteAction results
var warehouse;
for(var i=0; i<warehouses.length ; i++) {
warehouse = warehouses[i];
console.log(warehouses[i]);
setupMarker();
}
// Resize map to neatly fit all of the markers
map.fitBounds(mapBoundary);
// setupMarker function goes here
}
2. Click Quick Save.
This function receives a latitude and longitude for the center of the map—the user’s location—and the results of the query. It creates
a new Google Map centered as expected, and then iterates over the results, adding them to the map using the setupMarker function.
If you haven’t already guessed, that’s the next (and final!) step.
Add JavaScript to Add Warehouse Markers to the Map
The page is nearly complete. Your JavaScript is calling into Apex, getting a list of nearby warehouses, and then using Google to create
a map of your current location. Now you just need to put the result markers onto the map.
At the end of the last code snippet you saw a call to the setupMarker function, made while iterating through the found warehouses.
Here’s the code for that function.
1. Under the map.fitBounds() function call and before the end bracket, replace the comment line // setupMarker
function goes here with the following code.
function setupMarker(){
var warehouseNavUrl;
// Determine if we are in Salesforce1 and set navigation
// link appropriately
try{
if(sforce.one){
warehouseNavUrl =
50
Add JavaScript to Add Warehouse Markers to the Map
Visualforce and Apex In Action
'javascript:sforce.one.navigateToSObject(\'' +
warehouse.Id + '\')';
}
} catch(err) {
console.log(err);
warehouseNavUrl = '\\' + warehouse.Id;
}
var warehouseDetails =
'<a href="' + warehouseNavUrl + '">' +
warehouse.Name + '</a><br/>' +
warehouse.Street_Address__c
+ '<br/>' +
warehouse.City__c + '<br/>'
+
warehouse.Phone__c;
// Create a panel that appears when the user clicks on the marker
var infowindow = new google.maps.InfoWindow({
content: warehouseDetails
});
// Add the marker to the map
var marker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(
warehouse.Location__Latitude__s,
warehouse.Location__Longitude__s)
});
mapBoundary.extend(marker.getPosition());
// Add the action to open the panel when its marker is clicked
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map, marker);
});
}
// page initialization goes here
2. Finally, just below that method replace the comment line // page initialization goes here with the following
code.
// Fire the initialize function when the window loads
google.maps.event.addDomListener(window, 'load', initialize);
3. Click Quick Save.
And with that you should have a map!
Note:  The warehouses in the sample data we provided are all located in the San Francisco area. If you’re testing the page from
another location, be sure to add a few warehouses located within 20 miles of your location.
Summary and Code Check
You should be able to test the page now by going to your instance URL in your browser (for example,
https://na15.salesforce.com/) and appending /apex/FindNearbyWarehouses.
51
Summary and Code Check
Visualforce and Apex In Action
The final page is a lot of JavaScript and a bit of HTML. The standard Visualforce is minimal, but all of the data access was performed
through the Visualforce framework using JavaScript remoting.
Here’s the entire page if you’re not seeing a map in your final version.
<apex:page sidebar="false" showheader="false"
standardController="Warehouse__c" recordSetVar="warehouses"
extensions="WarehouseUtils">
<!-- Include in Google's Maps API via JavaScript static resource.
This is for development convenience, not production use.
See next comment. -->
<apex:includeScript value="{!$Resource.GoogleMapsAPI}" />
<!-- Set YOUR_API_KEY to fix JavaScript errors in production. See
https://developers.google.com/maps/documentation/javascript/tutorial
for details of how to obtain a Google Maps API key. -->
<!-- <script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=false">
</script> -->
<!-- Set the map to take up the whole window -->
<style>
html, body { height: 100%; }
.page-map, .ui-content, #map-canvas { width: 100%; height:100%; padding: 0; }
#map-canvas { height: min-height: 100%; }
</style>
<script>
function initialize() {
var lat, lon;
// If we can, get the position of the user via device geolocation
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position){
lat = position.coords.latitude;
lon = position.coords.longitude;
// Use Visualforce JS Remoting to query for nearby warehouses
Visualforce.remoting.Manager.invokeAction(
'{!$RemoteAction.WarehouseUtils.findNearbyWarehouses}',
lat, lon,
function(result, event){
if (event.status) {
console.log(result);
createMap(lat, lon, result);
} else if (event.type === 'exception') {
//exception case code
} else {
}
},
{escape: true}
);
});
52
Summary and Code Check
Visualforce and Apex In Action
} else {
// Set default values for the map if the device
// doesn't have geolocation capabilities.
// This is San Francisco:
lat = 37.77493;
lon = -122.419416;
var result = [];
createMap(lat, lon, result);
}
}
function createMap(lat, lon, warehouses){
// Get the map div, and center the map at the proper geolocation
var currentPosition = new google.maps.LatLng(lat,lon);
var mapDiv = document.getElementById('map-canvas');
var map = new google.maps.Map(mapDiv, {
center: currentPosition,
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
// Set a marker for the current location
var positionMarker = new google.maps.Marker({
map: map,
position: currentPosition,
icon: 'https://maps.google.com/mapfiles/ms/micons/green.png'
});
// Keep track of the map boundary that holds all markers
var mapBoundary = new google.maps.LatLngBounds();
mapBoundary.extend(currentPosition);
// Set markers on the map from the @RemoteAction results
var warehouse;
for(var i=0; i<warehouses.length ; i++) {
warehouse = warehouses[i];
console.log(warehouses[i]);
setupMarker();
}
// Resize map to neatly fit all of the markers
map.fitBounds(mapBoundary);
function setupMarker(){
var warehouseNavUrl;
// Determine if we are in Salesforce1 and set navigation
// link appropriately
try{
if(sforce.one){
warehouseNavUrl =
'javascript:sforce.one.navigateToSObject(\'' +
warehouse.Id + '\')';
53
Summary and Code Check
Visualforce and Apex In Action
}
} catch(err) {
console.log(err);
warehouseNavUrl = '\\' + warehouse.Id;
}
var warehouseDetails =
'<a href="' + warehouseNavUrl + '">' +
warehouse.Name + '</a><br/>' +
warehouse.Street_Address__c
+ '<br/>' +
warehouse.City__c + '<br/>'
+
warehouse.Phone__c;
// Create a panel that appears when the user clicks on the marker
var infowindow = new google.maps.InfoWindow({
content: warehouseDetails
});
// Add the marker to the map
var marker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(
warehouse.Location__Latitude__s,
warehouse.Location__Longitude__s)
});
mapBoundary.extend(marker.getPosition());
// Add the action to open the panel when its marker is clicked
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map, marker);
});
}
}
// Fire the initialize function when the window loads
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<!--
All content is rendered by the Google Maps code
This minimal HTML just provides a target for GMaps to write to -->
<body style="font-family: Arial; border: 0 none;">
<div id="map-canvas"></div>
</body>
</apex:page>
Now that it’s working in development, how about adding it to Salesforce1? Onward!
Add the Nearby Warehouses Page to Salesforce1
Now that you have a working nearby warehouses page, you can add it to the mobile app.
54
Add the Nearby Warehouses Page to Salesforce1
Visualforce and Apex In Action
Documents you may be interested
Documents you may be interested