view pdf winform c# : Add link to pdf file software application cloud windows winforms html class wopi4-part1330

Office Online Integration Documentation, Release 2016.01.27
4. Zip the resulting HAR file,since they can be quite large and generally compress well.
Tip: Other browsers’ developer tools have similar capabilities to Chrome to save session HTTP requests as an HTTP
Archive.
1.13.4 Session IDs
WheneveranactionURL is navigated to, Office Online creates a unique session ID.This session ID allows Microsoft
engineers to quickly retrieve all server logs related to that session, including information about the WOPI calls that
weremade tothe host. The session IDis passedback in the WOPIactionURL HTTPresponse in the X-UserSessionId
response header. It is also passed on every subsequent request made by the browser to Office Online in the X-
UserSessionId request header, and it is included in all PostMessagessentfromOfficeOnlinetothehostpage in the
wdUserSessionvalue.
The easiest way to retrieve the session ID is to use Fiddler, as described previously. However, you can also use the
requesttracking features inthe Chrome andInternet Explorerdeveloper tools to capture HTTPrequests and determine
the value of the X-UserSessionId response header.
Full Fiddler traces are always preferred, but in cases where they’re not available, session IDs can still be used by
Microsoft engineers to retrieve Office Online server logs.
Getting session IDs after an error has occurred
In some cases, you may not be running Fiddler or browser developer tools when your session encounters an error. In
these cases,the Office Online application will display an error eitherin a modal dialog or in a yellow bar at the top of
the document below the ribbon.
Sometimes the error dialog will include the session ID in the dialog itself:
In such cases, you can copy the session ID fromthe error dialog.
Tip: Please do notsimply send a screen shot of the error dialog. Copy the session ID as text and send the session
ID itself to Microsoft engineers. If you send a screen shot, the Microsoft engineer will be forced to transcribe the
session ID fromthe image, which is error-prone and tedious. Always provide the session ID as text.
In other cases, the session ID might not be available in the UI.
At this point, it is still often possible to get the session IDby using the following steps:
1. Before closing the browser, refreshing the page, or clicking any buttons in the dialog or notification bar, start
Fiddler oropen the browser developer tools.
2. Navigate away fromthe Office Online application orclick a button in the dialog or notification bar.
3. You should see a request to either WsaUpload.ashx or RemoteUls.ashx. The response to those requests should
include the X-UserSessionId header with the session ID.
1.13.5 Correlation IDs
Every WOPI request Office Online makes to a host will have a unique ID, called the correlation ID. This ID will be
included in the WOPI request using the X-WOPI-CorrelationId request header. Hosts should log this ID for each
incoming WOPI request; doing so will allow hosts to easily correlate theirown logs with Office Online’s server logs.
1.13. Troubleshooting interactions with Office Online
37
Add link to pdf file - 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 url to pdf; adding hyperlinks to pdf
Add link to pdf file - 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 hyperlinks to pdf online; clickable pdf links
Office Online Integration Documentation, Release 2016.01.27
Figure 1.12: The Chrome developer tools can be used to retrieve a session ID.
38
Chapter 1. How to read this documentation
C# PDF Library SDK to view, edit, convert, process PDF file for C#
and quick navigation link in PDF bookmark. C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update, and delete PDF file metadata, like
pdf links; add hyperlink to pdf in
VB.NET PDF Password Library: add, remove, edit PDF file password
This VB.NET example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = True ' Add password to PDF file.
pdf link to specific page; add hyperlink pdf
Office Online Integration Documentation, Release 2016.01.27
Figure 1.13: As can the Internet Explorer developer tools.
1.13. Troubleshooting interactions with Office Online
39
C# PDF Password Library: add, remove, edit PDF file password in C#
This example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = true; // Add password to PDF file.
adding links to pdf in preview; add hyperlinks pdf file
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Insert Image to PDF. Image: Remove Image from PDF Page. Copy, Paste, Cut Image in Page. Link: Edit URL. Images. Redact Pages. Annotation & Drawing. Add Sticky Note
add link to pdf; chrome pdf from link
Office Online Integration Documentation, Release 2016.01.27
There are other WOPIrequestheadersthatmay be usefulforhosts tolog. SeetheStandardWOPIrequestandresponse
headersformoreinformation.
Tip: In many cases, a single correlation ID is all that’s needed in order for a Microsoft engineer to retrieve complete
serverlogs foranOfficeOnline sessionforanalysis. Whilehosts shouldprovide Fiddlertraces orsessionIDs whenever
possible,a correlation ID will often suffice if necessary.
1.14 Customizing Office Online using CheckFileInfo properties
You can customize the user interface and experience of Office Online by using a combination ofCheckFileInfoprop-
erties as well as by implementing thePostMessageAPI.
1.14.1 CheckFileInfo properties
CloseUrl If provided, when the Close UI is activated, Office Online will navigate the outer page
(window.top.location) tothe URI provided.
Hosts can also use theClosePostMessageproperty to indicate a PostMessage should be sent when the Close UI
is activated rather than navigate to a URL, or set theCloseButtonClosesWindow property to indicate that the
Close UI should close the browser tab or window (window.top.close).
IftheCloseUrl,ClosePostMessage, andCloseButtonClosesWindow properties are all omitted,the CloseUIwill
be hidden in Office Online.
Note: The Close UIwill never be displayed when using theembedview action.
See also:
CloseUrlintheWOPIRESTdocumentation.
DownloadUrl Ifa DownloadUrl is not provided, Office Online will hide all UI to download the file.
If provided, Word and PowerPoint Online will display UI to download the file. When a user attempts to down-
load the file, Word and PowerPoint will ensure that the latest document content is saved back to the WOPI host
before navigating the user to the DownloadUrl to download the file.
Excel Online Note
ExcelOnline does notusetheDownloadUrlwhen users clickthe Downloada Copybutton. ExcelOnlinealways
downloads the file directly from the Office Online server. This has the following side effects:
1. Any content that Excel Online does not currently support, such as diagrams, are stripped from the down-
loaded file.
2. Excel Online does not guarantee that the latest document content is saved back to the WOPI host before
downloading the file.
3. Downloada Copycontains all themostrecentdocumentedits,evenwhentheDownloadUrlis implemented
incorrectly and does not point to the latest version of the document.
See also:
DownloadUrlintheWOPIRESTdocumentation.
40
Chapter 1. How to read this documentation
C# PDF insert image Library: insert images into PDF in C#.net, ASP
using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; Have a try with this sample C#.NET code to add an image to the first page of PDF file.
convert doc to pdf with hyperlinks; add a link to a pdf in acrobat
VB.NET PDF insert image library: insert images into PDF in vb.net
using RasterEdge.XDoc.PDF; Have a try with this sample VB.NET code to add an image to the first page of PDF file. ' Open a document.
clickable links in pdf files; convert excel to pdf with hyperlinks
Office Online Integration Documentation, Release 2016.01.27
FileSharingUrl If provided, when the Share UI is activated, Office Online will open a new browser window to the
URIprovided.
Hosts can also use theFileSharingPostMessageproperty to indicate a PostMessage should be sent when the
Share UIis activated ratherthan navigate to a URL.
If neither theFileSharingUrlnor theFileSharingPostMessageproperties are set, the Share UI will be hidden in
Office Online.
See also:
FileSharingUrlintheWOPIRESTdocumentation.
HostEditUrl This URL is used by Office Online to navigate between view and edit mode.
See also:
HostEditUrlintheWOPIRESTdocumentation.
HostViewUrl This URL is used by Office Online to navigate between view and edit mode.
See also:
HostViewUrlintheWOPIRESTdocumentation.
SignoutUrl
If this property is not provided, no sign out UIwill be shown in Office Online.
See also:
SignoutUrlintheWOPIRESTdocumentation.
CloseButtonClosesWindow If set to true, Office Online will close the browser window or tab
(window.top.close) when the Close UIin Office Online is activated.
IfOffice Online displays an error dialog when booting, dismissing the dialog is treated as a close button activa-
tion with respect to this property.
Hosts can also use the CloseUrl property to indicate that the outer frame should be navigated
(window.top.location) when the Close UI is activated rather than closing the browser tab or window,
or set theClosePostMessageproperty to indicate a PostMessage should be sent when the Close UI is activated.
IftheCloseUrl,ClosePostMessage, andCloseButtonClosesWindow properties are all omitted,the CloseUIwill
be hidden in Office Online.
Note: The Close UIwill never be displayed when using theembedview action.
See also:
CloseButtonClosesWindowintheWOPIRESTdocumentation.
Breadcrumbproperties Office Online displays all of theBreadcrumbpropertiesif they are provided.
1.14.2 PostMessage properties
The PostMessage properties controlthebehavior ofOffice Online with respecttoincoming PostMessages. Note that if
you are using the PostMessage extensibilityfeatures ofOffice Online,youmust set thePostMessageOriginproperty to
ensure that Office Online accepts messages from yourouter frame. You can read more about PostMessage integration
atUsingPostMessagetointeractwiththeOfficeOnlineapplicationiframe.
1.14. Customizing Office Online using CheckFileInfo properties
41
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# of PDF document, including editing PDF url links and quick navigation link in bookmark
add hyperlink to pdf online; add url pdf
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Add necessary references: using RasterEdge.XDoc.PDF; Note: When you get the error "Could not load file or assembly 'RasterEdge.Imaging.Basic' or any other
pdf link to attached file; adding hyperlinks to pdf documents
Office Online Integration Documentation, Release 2016.01.27
In cases where a PostMessage is triggered by the user activating some Office Online UI,such asFileSharingPostMes-
sageorEditModePostMessage,OfficeOnlinewilldonothingwhentherelevantUIisactivatedexceptsendtheappro-
priate PostMessage. Thus,hosts must accept andhandle the relevantmessages whenthe Office Online UI is triggered.
Otherwise the Office Online UIwill appear to do nothing when activated.
If the PostMessage API is not supported (e.g. the user’s browser does not support it, or the browser security settings
prohibit it,etc.),Office Online UIthat triggers a PostMessage will be hidden.
ClosePostMessage A Boolean value that, when set to true, indicates the host expects to receive theUI_Close
PostMessage when the Close UIin Office Online is activated.
Hosts can also use the CloseUrl property to indicate that the outer frame should be navigated
(window.top.location) when the Close UI is activated rather than sending a PostMessage, or set the
CloseButtonClosesWindowpropertytoindicatethatthe CloseUIshouldclosethe browsertaborwindow
(window.top.close).
IftheCloseUrl,ClosePostMessage, andCloseButtonClosesWindow properties are all omitted,the CloseUIwill
be hidden in Office Online.
Note: The Close UIwill never be displayed when using theembedview action.
EditModePostMessage A Boolean value that,when set to true,indicates thehostexpects toreceive theUI_Edit
PostMessage when the Edit UI in Office Online is activated.
Ifthis property is not set to true,Office Online will navigate the inner iframe URL to aneditaction URL when
the Edit UI is activated.
EditNotificationPostMessage A Boolean value that, when set to true, indicates the host expects to receive the
Edit_NotificationPostMessage.
FileSharingPostMessage A Boolean value that, when set to true, indicates the host expects to receive the
UI_SharingPostMessagewhentheShareUIinOfficeOnlineisactivated.
Hosts can also use theFileSharingUrlproperty to indicate that a new browser window should be opened when
the Share UI is activated rather than sending a PostMessage. Note that theFileSharingUrlproperty will be
ignored completelyif the FileSharingPostMessage property is set to true.
If neither theFileSharingUrlnor theFileSharingPostMessageproperties are set, the Share UI will be hidden in
Office Online.
PostMessageOrigin A string value indicating the domain thehostpage will be sending/receiving PostMessages
to/from. Office Online will only send outgoing PostMessages to this domain, and will only listen to PostMes-
sages fromthis domain.
Office Online Tip
This value will be used as the targetOrigin when Office Online uses theHTML5WebMessagingprotocol.
Therefore,it must include the scheme and host name. Ifyouare serving your pages on a non-standard port,you
must include the port as well. The literal string
*
,while supported in the PostMessage protocol, is not allowed
by Office Online.
1.14.3 Customizing the Office Online viewer UI using CheckFileInfo
The following table describes all available buttons and UI in the Office Online viewer and whatCheckFileInfoprop-
erties can be used to remove them.
42
Chapter 1. How to read this documentation
Office Online Integration Documentation, Release 2016.01.27
Button
How to disable
Edit in Browser
Two options:
1. (preferred) SetUserCanWriteto false in the
CheckFileInfo response (or omit it since the de-
fault for all boolean properties in CheckFileInfo
is false)
2. Omit theHostEditUrlandEditModePostMessage
properties fromthe CheckFileInfo response
Share
Omit theFileSharingUrlandFileSharingPostMessage
properties from the CheckFileInfo response
Download / Download as PDF
OmittheDownloadUrlproperty fromthe CheckFileInfo
response
Print
SettheDisablePrintproperty totrue in the CheckFile-
Info response
Exit / Close
Omit the CloseUrl and ClosePostMessage properties
from the CheckFileInfo response
Comments
For Word only, set the UserCanWrite property to
false in the CheckFileInfo response (or omit it since
the defaultfor all boolean properties inCheckFileInfo is
false)
Can’t be hidden in PowerPoint
Find
Can’t be hidden
Translate
Can’t be hidden
Help
Can’t be hidden
Give Feedback
Can’t be hidden
Terms of Use
Can’t be hidden
Privacy and Cookies
Can’t be hidden
Accessibility Mode
Can’t be hidden
Start Slide Show
Can’t be hidden
Embed
Omit the HostEmbeddedViewUrl  and HostEmbed-
dedEditUrlpropertiesfromtheCheckFileInforesponse
Refresh Selected Connection
Can’t be hidden
Refresh All Connections
Can’t be hidden
Calculate Workbook
Can’t be hidden
Save a Copy
Set theUserCanNotWriteRelativeproperty to true in
the CheckFileInfo response
1.15 Using PostMessage to interact with the Office Online application
iframe
You can integrate your own UI into Office Online applications. This way, you can use your UI for actions on Office
documents,such as sharing.
To integrate with Office Online in this way, implement theHTML5WebMessagingprotocol. The Web Messaging
protocol, also known as PostMessage, allows the Office Online frame to communicate with its parenthostpage, and
vice-versa. The following example shows the general syntax for PostMessage. In this example, otherWindow is a
reference to another window that msg will be posted to.
otherWindow.postMessage(msg,targetOrigin)
Arguments
1.15. Using PostMessage to interact with the Office Online application iframe
43
Office Online Integration Documentation, Release 2016.01.27
• msg (string) – A string (or JSON object)that contains the message data.
• targetOrigin(string) –Specifies what the origin ofotherWindow must be for the
event to be dispatched. This value will be set to thePostMessageOriginproperty provided
inCheckFileInfo. The literal string
*
,while supported in the PostMessage protocol, is not
allowed by Office Online.
1.15.1 Message format
All messages postedtoandfromthe OfficeOnlineapplicationframe are postedusingthepostMessage()function.
Each message (the msg parameter inthepostMessage() function) is a JSON-formatted object of the form:
message
MessageId (string) The name of the message being posted.
SendTime (long) The time the message was sent, expressed as milliseconds since midnight 1 January 1970
UTC.
Tip: You can get this value in most modern browsers using the Date.now() method in JavaScript.
Values (JSON-formatted object) The data associated with the message. This varies per message.
The following example shows the msg parameterfor theHost_PerfTiming message.
{
"MessageId""Host_PerfTiming",
"SendTime"1329014075000,
"Values": {
"Click"1329014074800,
"Iframe"1329014074950,
"HostFrameFetchStart"1329014074970,
"RedirectCount"1
}
}
1.15.2 Sending messages to the Office Online iframe
To send messages to the Office Online iframe, you must set the PostMessageOrigin property in your WOPI Check-
FileInfo response to the URL of your host page. If you do not do this, Office Online will ignore any messages you
send to its iframe.
You cansend the following messages; all others are ignored:
• Blur_Focus
• Grab_Focus
• Host_PerfTiming
• Host_PostmessageReady
Blur_Focus
The Blur_Focus message signals theOffice Online applicationtostopaggressively grabbing focus. Hosts should
send this message whenever the host application UI is drawn over the Office Online frame, so that the Office
application does not interfere with the UI behavior of the host.
This message only affects Office Online edit modes; it does not affect view modes.
44
Chapter 1. How to read this documentation
Office Online Integration Documentation, Release 2016.01.27
Tip: When the host application displays UI overOffice Online,it should put a full-screen dimming effect over
the Office Online UI, so that it is clearthat the Office application is not interactive.
Values
Empty.
Example Message:
{
"MessageId""Blur_Focus",
"SendTime"1329014075000,
"Values": { { }
}
Grab_Focus
The Grab_Focus message signals the Office Online application to resume aggressively grabbing focus. Hosts
should send this message wheneverthe host application UIthat is drawn over the Office Online frame is closing.
This allows the Office application to resume functioning.
This message only affects Office Online edit modes; it does not affect view modes.
Values
Empty.
Example Message:
{
"MessageId""Grab_Focus",
"SendTime"1329014075000,
"Values": { { }
}
Host_PerfTiming
Provides performance related timestamps from the host page. Hosts should send this message when the Office
Online frame is created so load performance can be more accurately tracked.
Values
Click (integer) The timestamp, inticks,when the user selected a link that launched the Office Online ap-
plication. For example,if the host exposed a link in its UI that launches an Office Online application,
this timestamp is the time the user originally selected that link.
Iframe (integer) The timestamp, in ticks, when the host created the Office Online iframe when the user
selected the link.
HostFrameFetchStart (integer) The result ofthePerformanceTiming.fetchStartattribute,if the browser
supports the W3C NavigationTiming API. If the NavigationTiming API is not supported by the
browser, this is 0.
RedirectCount (integer) The result ofthePerformanceNavigation.redirectCountattribute, if the browser
supports the W3C NavigationTiming API. If the NavigationTiming API is not supported by the
browser, this is 0.
1.15. Using PostMessage to interact with the Office Online application iframe
45
Office Online Integration Documentation, Release 2016.01.27
Example Message:
{
"MessageId""Host_PerfTiming",
"SendTime"1329014075000,
"Values": {
"Click"1329014074800,
"Iframe"1329014074950,
"HostFrameFetchStart"1329014074970,
"RedirectCount"1
}
}
Host_PostmessageReady
Office Online delay-loads much ofits JavaScript code, including most of its PostMessage senders andlisteners.
You might choose to follow this pattern in your WOPI host page. This means that your outer host page and the
Office Online iframe must coordinate to ensure that each is ready to receive and respond to messages.
To enable this coordination, Office Online sends theApp_LoadingStatus message onlyafter allof its mes-
sagesenders andlisteners are available. Inaddition, OfficeOnline listensfortheHost_PostmessageReady
message from the outer frame. Until it receives this message, some UI, such as the Share button,is disabled.
Until your host page receives the App_LoadingStatus message, the Office Online frame cannot re-
spond to any incoming messages exceptHost_PostmessageReady. Office Online does not delay-load
itsHost_PostmessageReady listener; it is available almost immediately upon iframe load.
If you are delay-loading your PostMessage code, you must ensure that yourApp_LoadingStatus listener
is not delay-loaded. This will ensure that you can receive theApp_LoadingStatus message even if your
other PostMessage code has not yet loaded.
The following is the typical flow:
1.Host page begins loading.
2.Office Online frame begins loading.
Some UI elements are disabled, because
Host_PostmessageReadyhasnotyetbeensentbythehostpage.
3.Host page finishes loading andsendsHost_PostmessageReady. No othermessages are sent because
the host page hasn’t received theApp_LoadingStatus message from the Office Online frame.
4.Office Online frame receivesHost_PostmessageReady.
5.Office Online frame finishes loadingand sendsApp_LoadingStatus to host page.
6.Host page and Office Online communicate by using other PostMessage messages.
Values
Empty.
Example Message:
{
"MessageId""Host_PostmessageReady",
"SendTime"1329014075000,
"Values": { { }
}
46
Chapter 1. How to read this documentation
Documents you may be interested
Documents you may be interested