Embed interactive PDFs into OutSystems Reactive Web and Mobile apps using the free client-side Adobe PDF Embed API. Supports rendering from both URLs (ViewPDFByLocation) and OutSystems Binary Data (ViewPDFBinary).
ViewPDFByLocation
ViewPDFBinary
Adobe PDF Embed API is free with unlimited usage, but requires a domain-registered Client ID:
https://
my-env.outsystemscloud.com
personal-xyz.outsystems.app
outsystemscloud.com
In Service Center (Factory > Modules > AdobePDFEmbedAPI > Site Properties), configure:
Factory > Modules > AdobePDFEmbedAPI > Site Properties
AdobeClientID
Text
""
ConfigurationException
AdobeScriptURL
https://acrobatservices.adobe.com/view-sdk/viewer.js
viewer.js
CSP / Network Note: The component automatically injects and awaits AdobeScriptURL once per page. If your environment enforces Content Security Policy (CSP), allow https://acrobatservices.adobe.com and https://*.adobe.io in script-src, frame-src, and connect-src.
https://acrobatservices.adobe.com
https://*.adobe.io
script-src
frame-src
connect-src
Both Web Blocks (UI Flows > PDFViewer) automatically re-render on the client when input parameters change (OnParametersChanged) and clean up listeners on unmount (OnDestroy).
UI Flows > PDFViewer
OnParametersChanged
OnDestroy
LocationURL
BinaryData
PDFBinary
Access-Control-Allow-Origin
Binary Data
ArrayBuffer
FileName
.pdf
"Invoice.pdf"
EmbedMode
EmbedMode Identifier
Entities.EmbedMode.SizedContainer
FullWindow
SizedContainer
InLine
Lightbox
LightboxTrigger
.Id
MyButton.Id
EmbedMode = Entities.EmbedMode.Lightbox
DefaultViewMode
ViewMode Identifier
Entities.ViewMode.FIT_WIDTH
FIT_WIDTH
FIT_PAGE
TWO_COLUMN
TWO_COLUMN_FIT_PAGE
DocumentId
metaData.id
ShowAnnotation
Boolean
False
EnableFormFilling
True
ShowLeftPane
ShowThumbnails
ShowLeftPane = True
ShowBookmarks
ShowPageControls
DockPageControls
ShowZoomControl
+
-
ShowFullScreen
ShowDownloadPDF
ShowPrintPDF
EnableLinearization
206 Partial Content
Adobe’s SDK behaves differently depending on the selected Entities.EmbedMode (Adobe Embed Modes Documentation):
Entities.EmbedMode
Entities.EmbedMode.FullWindow
FULL_WINDOW
min-height: 500px
Thumbnails
Bookmarks
SIZED_CONTAINER
Download
Print
Entities.EmbedMode.InLine
IN_LINE
Entities.EmbedMode.Lightbox
LIGHT_BOX
BtnPreview.Id
Entities.ViewMode
Passed to DefaultViewMode (applies to FullWindow, SizedContainer, and Lightbox):
Entities.ViewMode.FIT_PAGE
Entities.ViewMode.TWO_COLUMN
Entities.ViewMode.TWO_COLUMN_FIT_PAGE
https://developer.adobe.com/document-services/docs/overview/pdf-embed-api/modernviewer/
To use this component, you must register your environment for an API key with Adobe here:
https://www.adobe.io/apis/documentcloud/dcsdk/gettingstarted.html
When registering, select the PDF Embed API (Unlimited for free)
In the Adobe console:
once you have registered your API, Copy the Key and head over to Service Center