Qlik Community

QlikView App Development

Discussion Board for collaboration related to QlikView App Development.

Announcements
If you are a Qlik Insight Bot user, join this collaborative group: JOIN GROUP
Highlighted
New Contributor III

Print all Tabs of dashboard into pdf

Hi All,

Is it possible to create pdf report of all tabs of Qlikview maybe using macro in order to avoid creation via Qlikview reports or NPrinting?

Reason for not opting for Qlikview reports & Nprinting--> too many objects just on one tab and we need it for many dashboards so that will take a lot of time

Thanks!

--Saloni

1 Reply
Partner
Partner

Re: Print all Tabs of dashboard into pdf

Hi!

I made something like what you need but I am not quite proud. This is the logic:

  1. Create as much Image (text) objects as tabs in your document. You have to use tab snapshots as background image o those objects.
  2. Create a document report where you place each image object in each report page (one image per page)
  3. Take and save a snapshot for each document tab.
  4. Reload the app so the image objects refresh with the new snapshots
  5. Print the report

I am not quite proud because the outcome is not quite good. When I have to create such customized reports (for free) I usually use a QlikView macro to build a report in Excel.

I paste the "snapshot take and save" macro I built (where I had "subtabs" in several tabs):

Sub PrintRMDP_0
	Path = "Your path"
	NoOfSheets = 7
	
	For i = 0 to NoOfSheets-1
		Select Case i
			Case 0
				NoOfSubSheets = 1
			Case 1
				NoOfSubSheets = 1
			Case 2
				NoOfSubSheets = 1
			Case 3
				NoOfSubSheets = 6
			Case 4
				NoOfSubSheets = 6
			Case 5
				NoOfSubSheets = 7
			Case 6
				NoOfSubSheets = 4
		End Select
		
		ActiveDocument.Sheets(i).Activate
		ActiveDocument.GetApplication.WaitForIdle
		
		For j = 1 to NoOfSubSheets
			ActiveDocument.Variables("vBotonera").SetContent j, false
			ActiveDocument.GetApplication.WaitForIdle
			ActiveDocument.ActiveSheet.ExportBitmapToFile Path & i & "_" & j & ".png"
		Next
	Next
	
	ActiveDocument.DoReload 1,false,false
	ActiveDocument.GetApplication.WaitForIdle
	ActiveDocument.PrintReport "RP03", "", true

End Sub

 Regards,

Jaime.