Pallav

Export to JPEG

Recommended Posts

I have been working on a site that is using FusionCharts.  The value it adds to the project in the clients eye's are invaluable.  That being said.  I need to be able to generate PDF's of the dynamic reports.  XSL:FO doesn't support using SWF as an image file so I need to be able to pull a jpeg(or at worst bmp) out of your chart.

This feature will put FC over the top for me and I'll be able to use it in all my projects.

Thanks for your time,

Dan

Share this post


Link to post
Share on other sites

FusionCharts is rendered on the client side using Adobe Flash Player. Essentially, FusionCharts is a set of .swf files, which when requested by the users, downloads on his/her machine, reads the XML data and then plots the chart.

Owing to limitation of Flash Player itself, which doesnt allow saving the end output of the chart as image, FusionCharts too is bounded by the same limitations. As such, you cannot directly save the charts as bitmap/image/PDF.

Indirect ways of saving chart image are:

- You can third party tools like www.flashcapture.com to take one-click screenshots of the generated charts and then use it.

- You can use PDF Print drivers like www.pdf995.com to save the chart as PDF (by capturing it from Print Stream of your Operating System).

Share this post


Link to post
Share on other sites

Hi All,

would it be possible to copy a image to clipboard? Our customers would like to create Management Reports, and sometimes they would like to make an extract of the reports in powerpoint. For that case inserting an image would be enough. Can you provide such a feature?

best regards,

kai Wachter

Share this post


Link to post
Share on other sites

It's not directly possible, as it's not exposed by the Flash Player itself. However, there are third party browser tools that allow so.

Share this post


Link to post
Share on other sites

I also think this feature would be huge. Could you write a server-based plugin that somehow renders the report, captures an image, and displays it as png?

Share this post


Link to post
Share on other sites

Hi,

 

I have one problem : I want to generate a pdf dashboard with fusionchart. My problem is : I use the pdfhtml library which converts html to pdf but with no graph !.

 

How can I convert the html report to pdf report but with a script ( php, java or another type of script)?

 

Thank you

Share this post


Link to post
Share on other sites

I think you could possibly do this within the flash itself.  creating a right click option to save as image.  I looking through the posts this seems like a request that would help many many of us out.

Share this post


Link to post
Share on other sites

>>> I think you could possibly do this within the flash itself.  creating a right click option to save as image.  I looking through the posts this seems like a request that would help many many of us out.

This is something which we'll be implementing in future release - we're currently working on the technicalities of the same.

Share this post


Link to post
Share on other sites

Is there any estimated time when this release will be out?  I am using 3.0 and have been asked to get some sort of save as image going as soon as possible.  If you are going to have this relatively soon it will free up my developers to work on other parts of our site.

Share this post


Link to post
Share on other sites

That sounds great for the client side. Does anybody know of any server side tools available for converting a swf to gif/jpeg/png? I'd like to be able to serve my fusioncharts as either swf or an image file.

Share this post


Link to post
Share on other sites

It's a little tricky to do it with Flash, but it can be done. It would, however, require some server side support. With the many advancements in Flash it's now possible to create a bitmap image within flash, render a flash drawing to that and then capture the bitmap data. You could then send that data to an external script which could re-render that bitmap data into an image for saving or viewing on a web browser. There are other techniques out there to compress the data (which is essentially a raw bitmap, so you can imagine how big those can get) so that it saves on bandwith.

 

 

 

Here's just one solution:

 

 

 

http://sephiroth.it/tutorials/flashPHP/print_screen/

 

 

 

:)

 

Steven

Share this post


Link to post
Share on other sites

... sorry to ask the same question in an other way: why don't you offer a serverbased solution to generate an static image like a JPEG or GIF? The problem is that we could use FusionCharts in a lot of projects but there mostly is a need to produce a print-layout. That means we have to have a image-solution ... It would be great if a (server based) solution produces the images just in time when they're requested (only to have then in a special printlayout).

 

 

 

At the moment FusionCharts is a nice "gimmick"". But in our case it's useless until it can produce printable pictures in addition (so we have to use a solution without visual effects and eye-candy just to realize an printable layout

Share this post


Link to post
Share on other sites

Hi,

Since FusionCharts entirely depends upon Flash, we cannot shift the solution to server side. In that case, we'll have to create a .NET/Java/COM based component to do the entire thing in a different way at server side.

Share this post


Link to post
Share on other sites

Hi Pallav

we are planning to buy the FusionChart , But we have a requirement of exporting the chart to a pdf/excel sheet/clipart .So if we go ahead buy the software, will you be able to provide us a patch to have these functionalities after you come with a solution sooner.

thanks

Shailen

Share this post


Link to post
Share on other sites

Hehe... that Sephiroth... I've been visiting his website for a long time now, and he always find the way to surprise me with a new "oh, I was toying with this and that, and look what came of it...".

Anyway, I was looking for the same functionality for a dashboard I was developing and came across the solution provided by Sephiroth, I analyzed and implemented, but no matter how I tried to optimize the solution I always ended up with either long times of processing (which given the client-side nature of Flash is not to be relied on) or long times of transfer resulting in a bandwidth problem.

I think there are ways to serialize images in order to send them to server-side scripts that can process it and store it or do whatever you need with them, but that only solves the cross-platform end of the problem not the heavy process/bandwidth end, but I'm no web developer, I'm more into Actionscript that anything else.

I finally decided to redraw the chart in a smaller container before processing and sending it to the server-side script but that was only a work-around more than a solution.

Sincerely:

Cmassieu

Share this post


Link to post
Share on other sites

I recently had to create a web reporting tool for a client that used Fusion charts on the web-side, but produced Word/Excel/PowerPoint and PDF outputs as well.  The reports are produced server-side and I used a simple library called F-In-A-Box (http://www.f-in-box.com/) to capture the FusionCharts to JPGs as needed.  (Actually it captured the image to a bitmap which I converted to a JPG.)  I just wrote a simple server-side .NET component that responded to a URL request by using the F-In-A-Box software to capture the chart and then streaming the JPG back to the end-user.  It took a few hundred lines of code, but it works quite well.

Share this post


Link to post
Share on other sites

Hi,

Thanks a lot for this info. Would it be possible for you to share code on this forum so that our other users can also utilize this technology?

Share this post


Link to post
Share on other sites

We found a solution to get JPGs / Gifs / PNGs / Tiffs

We use a Microsoft Windows Server and bought "HTML Snapshot ActiveX Component"

from http://www.guangmingsoft.net/htmlsnapshot/help.htm (180$)

This component makes a Snapshot from a Webpage, using a given URL (URLs of the Charts).

We test it since yesterday and it works fine and without any problems.

They also deliver code examples for different Languages like, ASP, ASP.net, Coldfusion, Python...

For Unix and Linux Users it might help to search for simalar tools (url to image).

Best regards

Kersten

Edited by Guest

Share this post


Link to post
Share on other sites

Team,

 

 

 

There is a free HTML capture tool .. no need to spend money on a solution. It can be run from the command line. We use it successfully, to generated JPEGs of our flash charts.

 

 

 

http://iecapt.sourceforge.net/

 

 

 

Now if we could only get true printing capability out of Fusion we would be all set!

 

 

 

RD

Share this post


Link to post
Share on other sites

Starting FusionCharts v3.0.5, you can now export your charts as images. You may read more on it at:

 

 

 

http://www.fusioncharts.com/docs/Contents/SAIOverview.html

 

http://www.fusioncharts.com/docs/Contents/SAISetting.html

 

 

 

A live demo is at http://www.fusioncharts.com/GalleryChart.asp?id=1 - just right click on the chart and select "Save as Image".

Share this post


Link to post
Share on other sites

Starting FusionCharts v3.0.5, you can now export your charts as images. You may read more on it at:

 

 

 

http://www.fusioncharts.com/docs/Contents/SAIOverview.html

 

http://www.fusioncharts.com/docs/Contents/SAISetting.html

 

 

 

A live demo is at http://www.fusioncharts.com/GalleryChart.asp?id=1 - just right click on the chart and select "Save as Image".

Share this post


Link to post
Share on other sites

As it currently stands an export of an average chart causes the user's browser to send 180-300kb of text over the stream, which makes image generation quite flow for people with weak uplink.

 

 

 

Could you consider implementing LZW (optionally, based on a parameter) compression of the data, which substantially reduces the time needed to generate a JPEG image. For example your sample chart at http://www.fusioncharts.com/GalleryChart.asp?id=1 requires the client to send 190kb of text. LZW compression lowers that number to mere 31kb, making the export that much more practical.

 

 

 

The LZW compression is already implemented in ActionScript (http://www.razorberry.com/blog/content/LZW.as) and would be trivial to add on top of the existing code. Could you please consider implementing this functionality for the next version, we'd be happy to help test this functionality and revise the PHP rendering script to accommodate the change, not to mention provide a substantially faster PHP image rendering code.

Share this post


Link to post
Share on other sites

Hi,

 

 

 

Thanks for your suggestion.

 

 

 

We had prototyped with LZW compression too. However, since Flash 8 doesn't support byte data type natively, we had to send bytes as chr(byte's decimal value) characters, which tend to be UTF-8 characters after the initial ASCII 256 characters. Now, at server side, this was getting platform specific, as PHP and ASP.NET didn't convert it back to the original format.

 

 

 

As such, we had to resort to RLE encoding, which does provide a lot of compression (from 2MB of data to 300KB), is more processor efficient than LZW (at least in case of Flash), but the compression factor is higher.

 

 

 

In Flash 9, this can be easily done, as ByteArray is supported and GZip compression is natively supported. As such, we expect to provide a better way to do this in FusionCharts v4.

Share this post


Link to post
Share on other sites

>>> This is great! Nice work. Is there a way to call that "save to image" function from javascript?

 

 

 

I'm afraid you cannot do this as of now.

Share this post


Link to post
Share on other sites

If you don't mind me asking, what is the timeline for FusionCharts v4? At the present time the export function is just too bandwidth intensive for people with less then a broadband connection or connections with limited upstream.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now