10

Extracting images from QlikView documents

Today I want to share a pretty cool trick with you – about extracting images from QlikView documents. Last week I struggled at work with extracting one of the images used in a QlikView document by previous developers. It was essential to get it, edit a little bit and finally use again. Problem – source file was gone… Or was it? Hopefully it is possible to retrieve any image from QlikView document, as those are there in the document layout, Base64 encoded.

From Wikipedia: Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation 

My example QV sheet looks like that (ain’t Mona Lisa, I know):

Screen Shot 12-20-15 at 08.17 PM

What we can see here is basically a sheet with background image (set by document settings) and a text object with Qlik Community logo set as its background.

First step for retrieving both of them is Exporting Document Layout. To to this, go to File -> Export -> Export Document Layout (you will be asked to provide folder name, to which all structure will be created)

Screen Shot 12-20-15 at 08.23 PM

This is how exported data looks like inside the folder: (in bigger QV documents, there will be much more files of course)
Screen Shot 12-20-15 at 08.24 PM

In line with other files (like your load script), you will find here XML files for objects used in the document.

We are interested in two files:

  1. DocProperties.xml (as this is where document background file is specified)
  2. TX04.xml (as this is the object ID of Text object with Qlik Community background)
If background is set in Sheet properties, you must look for an XML file named as Sheets ID. 

We will use TX04.xml as an example, as method works exactly the same for any XML…

Steps to follow:

  1. Open XML file in any text aditor (even Notepad is fine)
  2. We are looking for a block of characters between <Bmp enctype=”base64″> and </Bmp> tags
  3. It will look like that:Screen Shot 12-20-15 at 08.32 PM
  4. Copy every single character between tags
  5. You can google any Base64 encoder, for this example we will use http://codebeautify.org/base64-to-image-converter
  6. Simply paste the string and click Generate Image button
  7. Voila! Image is shown on your screen and you can download it:Screen Shot 12-20-15 at 08.39 PM

 

I hope you will find this small tutorial useful and you will now hand extracting images from QlikView documents easily!

If you have any questions or comments, do not hesitate to use comments section!

Jakub Szurogajło

Self-motivated, certified QlikView developer and designer, currently working as Business Intelligence workgroup manager at Harman – Connected Services division.

10 Comments

  1. Thanks a lot for sharing this. Had been trying to extract background image for quite some time. This was really helpful.

  2. What about viewing the document in WebView (maybe on Access Point), right-click, save-as?

Leave a Reply

Your email address will not be published. Required fields are marked *