# Report Viewer in Perspective

**URL:** <https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695>\
**Category:** Ignition Early Access\
**Created:** [July 18, 2019, 11:29pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695 "2019-07-18T23:29:57Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![seth.thomas](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/seth.thomas/32/6882_2.png) [@seth.thomas](https://forum.inductiveautomation.com/u/seth.thomas)\
**Post date:** [July 18, 2019, 11:29pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/1 "2019-07-18T23:29:57Z")

</div>

Hi all,

I am currently in the process of upgrading a project made in Ignition 7.9 from Vision to Perspective. On one of the windows for the 7.9 Vision Application, a report viewer component is used to display items created in the reporting module. I noticed there was no report viewer component in the Perspective components palette. Is it still possible to use the reporting module within a perspective window? If so, how would I go about it?

Thanks

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 18, 2019, 11:37pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/2 "2019-07-18T23:37:54Z")

</div>

Yes, it is possible - a more first-class experience (that doesn’t require the webdev module) is definitely planned. For now: [How to include a Report in WebDev in perspective](http://forum.inductiveautomation.com/t/how-to-include-a-report-in-webdev-in-perspective/24454/2?u=pgriffith)

---

<div class="post-metadata">

**Author:** ![fisayoa](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@fisayoa](https://forum.inductiveautomation.com/u/fisayoa)\
**Post date:** [July 22, 2019, 12:18pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/3 "2019-07-22T12:18:08Z")

</div>

Continuing the discussion from [Report Viewer in Perspective](http://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/2):

Hi PGriffith,

Please, can I have an idea how to link the webdev report to the pdfviewer component on perspective?  
Tried using the demo project as a reference but its not working for me.

I have a Report “reportname” that I want to bring into perspective. I have installed the webdev module, created a new python resource(HTTP method: doGet) and change the return to reflect the below.

**return {‘byte’: system.report.executeReport(“reportname”, “projectname”,“pdf”)}**

Your response would be well appreciated thanks.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 22, 2019, 5:35pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/4 "2019-07-22T17:35:44Z")

</div>

![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/4/4147f68c447195011611322a8f7f00445fcf706b.png)  
Make sure your return is using `bytes`, not `byte` - it has to be an exact match. Also, you should supply all arguments, even if your parameters list is empty:  
`return {'bytes': system.report.executeReport("Report", "project", {}, "pdf")}`

---

<div class="post-metadata">

**Author:** ![fisayoa](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@fisayoa](https://forum.inductiveautomation.com/u/fisayoa)\
**Post date:** [July 22, 2019, 6:52pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/5 "2019-07-22T18:52:58Z")

</div>

Many thanks @paul-griffith!!!  
Its working perfectly fine now.

---

<div class="post-metadata">

**Author:** ![fisayoa](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@fisayoa](https://forum.inductiveautomation.com/u/fisayoa)\
**Post date:** [July 26, 2019, 1:23pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/6 "2019-07-26T13:23:41Z")

</div>

Hi Paul,

I have a report with two pages an dI just noticed the linked page viewer only displays the first page.  
No option/button to navigate to the second page.  
Is there any configuration on the pdf viewers property to enable this?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 26, 2019, 5:33pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/7 "2019-07-26T17:33:08Z")

</div>

There’s no configuration on the component itself - but the component has a writeable “page” property and a “pageCount” prop giving you the total number. You could pretty easily use that to drive a dropdown:  
`return [{"value": i, "label": "Page {}".format(i)} for i in range(1, value + 1)]`

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/9/98969ceef57345fc37533907ce6da0e53047081e.png)

Or use some buttons to page back and forth, or whatever other control scheme you want to use.

---

<div class="post-metadata">

**Author:** ![fisayoa](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@fisayoa](https://forum.inductiveautomation.com/u/fisayoa)\
**Post date:** [August 3, 2019, 1:17am UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/8 "2019-08-03T01:17:55Z")

</div>

@paul-griffith,  
I upgraded my gateway from 8.0.2 to 8.0.3RC2. The created dropdown happens to be broken because it cannot be linked to the PDFviewer Pagecount Property binding.  
Any idea how this can be resolved?

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/9/9a96bcc2cee7172cc20687c3003dfaefb9c067c0.png)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [August 5, 2019, 3:15pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/9 "2019-08-05T15:15:01Z")

</div>

8.0.3RC2 has an issue (already fixed for the final release) with binding to properties on components with spaces in the name. You can wait for the final release, or rename your component.

---

<div class="post-metadata">

**Author:** ![fisayoa](https://avatars.discourse-cdn.com/v4/letter/f/5f9b8f/32.png) [@fisayoa](https://forum.inductiveautomation.com/u/fisayoa)\
**Post date:** [August 6, 2019, 6:55am UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/10 "2019-08-06T06:55:57Z")

</div>

Many thanks @paul-griffith  
Issue has been resolved.

I need users to save tables and XYChart component on the page to clients desktop similar to system.dataset.exportExcel() in vision.  
Please, how can this be achieved in perspective?

---

<div class="post-metadata">

**Author:** ![Paul.Scott](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul.scott/32/4578_2.png) [@Paul.Scott](https://forum.inductiveautomation.com/u/Paul.Scott)\
**Post date:** [January 31, 2020, 6:04pm UTC](https://forum.inductiveautomation.com/t/report-viewer-in-perspective/26695/11 "2020-01-31T18:04:28Z")

</div>

For posterity, a report viewer component was introduced in ~~8.0.9.~~ 8.0.10
