Published: 2/19/2026 PDF Viewer PDF Viewer Create a Static Content Region (PDF Viewer)Type: Static ContentStatic ID: pdfVieverSource:<div id="pdfViewer" style="width: 100%; height: 800px"> <iframe src="" style="border: none;" type="application/pdf" width="100%" height="100%"> </iframe> </div>Create a Classic Report (Generated Files)Source:SELECT id , file_name , created , created_by FROM pdf_files Add a “DERIVED” column Type: Link<span class="fa fa-file-pdf-o" aria-hidden="true"></span>Create a Custom DA (PDFViewer)Event: CustomCustom Event: PDFViewerSelection Type: JavaScript Expression → documentTrue Action → Execute JavaScript Code:const origin = window.location.origin; const pathname = window.location.pathname; const parts = pathname.split('/').filter(Boolean); const workspace = pathname.split('/')[4]; const restURL = '' + origin + '/' + parts.slice(0, 2).join('/') + '/' + workspace + '/view/pdf/' ; let id = this.data.id; async function getData(){ let afetch = await fetch ( restURL + id); let blob = await afetch.blob(); let blobUrl = URL.createObjectURL(blob); let pdfContainer = document.getElementById('pdfViever') ; pdfContainer.getElementsByTagName('iframe')[0].src = blobUrl; } getData(); Create A Rest Module (PDFViewer)Base Path: /view/Generate a TemplateURI Template: pdf/{id}Priority: 0HTTP Entity Tag Type: Secure HashCreate HandlerMethod: GetSource Type: Media SourceSource:SELECT file_mime , file_data FROM pdf_files WHERE id = :idDone !