iReport: Uploading Image to JasperServer (fail) - jasper-reports

I am currently using a JasperServer repository to hold reports. I would like to include an image of a logo in the upper-right hand corner of the report. However, every time I attempt to add an image to the resources I get an error that says:
Error:1 - 0
Any guesses?

This is how I did it:
Create a report on Ireport with a picture on it (e.g. logo.jpg)
Edit the .jrxml file using a text editor.
Search for the image file name. You will find the file name (with full path) in a cdata tag
Change it to <![CDATA["repo:logo.jpg"]]>
Save and Upload the report to the JasperServer
Edit the report and choose Controls & Resources.
Add a resource, select the image file (e.g. logo.jpg) and name it exactly as logo.jpg.
Submit and... run... the report :)
When you open the file again on iReport, it will only show an image generic icon...

The most likely reason for the error that you are seeing is that there's a problem with the web services configuration. The most likely problem is that the image is greater than 16Kb, so Axis needs to save the attachment to a temporary directory. A useful test is to make sure that images smaller than 16Kb work with no problems.
Your quickest workaround is to upload the picture via the JasperServer web UI. Then your report should work as expected. If so, it's also validation that the problem is with web services (not with the repository database or some other component).
The most likely permanent solution is to recursively change ownership of the directory .../webapps/jasperserver/. Or you might prefer to only chown .../webapps/jasperserver/WEB-INF/attachments. Or you could change the attachments directory by editing this line in server-config.wsdd:
<parameter name="attachments.Directory" value="attachments"/>

Related

Crystal Reports issue with Dynamic images from a web service

I have a report with two dynamic images defined by database fields.
One is a location on our intranet :
ex: \<folder>\image.JPG
the second is being pulled from a web service :
https:////TraverseImage.ashx?parcel=312531800000010860&card=1
I followed this excellent walkthrough :
http://www.cogniza.com/wordpress/2010/03/15/crystal-reports-dynamic-images/
which suggests "set the formula’s text to the name of the formula or parameter field that will contain the image’s URL"
during design time both images display perfectly. When running the report or when changing parameters, the first one from the hard drive works perfectly, but the second one from the web service does not update. The only way to update it is to delete the image, and start over. I have put a hyperlink on the one from the webservice, and it correctly links to the image I want to display.
I am needing this to stay as a native .rpt and not embedded with VS.
I appreciate any suggestions, or comments.
Mark
Crystal dynamic image paths don't support https. Don't blame me; I'm just the messenger.
But you can solve this by using one of the 3rd-party UFLs listed here.
One of these UFLs allows you to use the graphic location expression for the image in Crystal to on-the-fly download an image from a given url, save it to a local file, and return the path to that file.
As added advantage, it can also resize the image to avoid a known memory consumption issue when Crystal is forced to resize images.
Is the path http or https?
If https you can use a UFL to solve this.

cannot find image of webite header in joomla

Am just beginning with joomla on a site that is already existing and was previously managed by someone else who is not available at the moment. I am trying to troubleshoot a problem why the website is displaying the header differently in different PCs but I am not being able to find the image of that header file. I tried to look for it under "site > media" but cannot find the image among the images in that area. I also tried to look for the path to the image through the template css and found this path ../images/logo.png which I believe must be the path to the header image but I honestly don't really know which path ../images/logo.png is but assuming it is the one under "media" then I still cannot find the image. Could you give me a clue on where the header image files could be found cause I've actually still failed? Or, could you make me understand this path ../images/logo.png or how to find an image on a joomla admin interface like say "logo.png". In fact I discover that on looking at the CSS for the template, the image paths found in it are not found in "Media"? Is there another path for the images in the template and how do I access them? I cannot FTP my host at the moment to view the physical files due to the long procedure needed so am hoping that there is a way to find it. I only have joomla admin access and nothing like Cpanel as yet. The joomla version of the site is 1.5.22 which I know is an old one but I plan to do first things first. Hope I've given enough infor.
Try using FireBug, or Chrome debugger - (press F12) and check "Click an element in the page to inspect" to see where the specific image is located exactly.

How to turn off JasperReports generated image file names for HTML reports?

I have a Jasper report that gets sent out at a scheduled time via Quartz. After JasperReports generates the markup I shove it into an email that goes out to the customer. There are several sub-reports inside this main report with footer images at the bottom of the main report. The images src values point back to the generated image file name (the one's Jasper makes, ie: blah/img_0_0_13). I setup a web server to hold the report's generated HTML files, so they can be accessed anywhere, ie: http://example.com/jasperreport/images/thisreallysucks/SampleReport.html_files/img_0_0_13
So my question is how do I turn off this crazy file name generation and just use something simple ie: http://example.com/jasperreport/images/thisdoesntsuckasbad/SampleReport.html_file/example_logo.gif
I am setting JRHtmlExporterParameter.IMAGES_URI to point to web server with the images.
Another big problem with this is if any of the sub-reports are missing due to lack of data, then the generated files for the images change. I have 4 sub-reports...
"Lazy loaded images are not given a name, because they are supposed to be loaded by the browser from a public URL available at HTML-rendering time."
http://books.google.com/books?id=LWTbssKt6MUC&pg=PA197&lpg=PA197&dq=jasperreport+the+best+way+to+handle+html+images&source=bl&ots=aSG-engMXd&sig=U7XuZWQs8dseDCwW9ZWAbJG_qT4&hl=en&sa=X&ei=by4fT6nHNsbL0QGA3fEG&ved=0CH0Q6AEwCQ#v=onepage&q=jasperreport%20the%20best%20way%20to%20handle%20html%20images&f=false
There is a "Is Lazy" setting in iReport for images, which does what I want.

How to export data from Chrome developer tool?

Network analysis by Chrome when page loads
I would like to export this data to Microsoft Excel so that I will have a list of similar data when loaded at different times. Loading a page one time doesn't really tell me much especially if I want to compare pages.
if you right click on any of the rows you can export the item or the entire data set as HAR which appears to be a JSON format.
It shouldn't be terribly difficult to script up something to transform that to a csv if you really need it in excel, but if you're already scripting you might as well just use the script to ask your questions of the data.
If anyone knows how to drive the "load page, export data" part of the process from the command line I'd be quite interested in hearing how
from Chrome 76, you have Import/Export buttons.
I was trying to copy the size data measured from Chrome Network and stumbled on this post. I just found an easier way to "export" the data out to excel which is to copy the table and paste to excel.
The trick is click Control + A (select all) and once the entire table will be highlighted, paste it to Microsoft Excel. The only issue is if there are too many fields, not all rows are copied and you might have to copy and paste several times.
UPDATED: I found that copying the data only works when I turn off the filter options (the funnel-looking button above the table). – bendur
Right-click and export as HAR, then view it using Jan Odvarko's HAR Viewer
This helps in visualising the already captured HAR logs.
I came across the same problem, and found that easier way is to undock the developer tool's video to a separate window! (Using the right hand top corner toolbar button of developer tools window)
and in the new window , simply say select all and copy and paste to excel!!
In Chrome, in the Developer Tools, under Network, in the Name column, right-click and select "Save as HAR with content". Then open a new tab, go to https://toolbox.googleapps.com/apps/har_analyzer/ and open the saved HAR file.
Note that &Lt;Copy all as HAR&Gt; does not contain response body.
You can get response body via &Lt;Save as HAR with Content&Gt;, but it breaks if you have any more than a trivial amount of logs (I tried once with only 8k requests and it doesn't work.) To solve this, you can script an output yourself using _request.contentData().
When there's too many logs, even _request.contentData() and &Lt;Copy response&Gt; would fail, hopefully they would fix this problem. Until then, inspecting any more than a trivial amount of network logs cannot be properly done with Chrome Network Inspector and its best to use another tool.
You can use fiddler web debugger to import the HAR and then it is very easy from their on... Ctrl+A (select all) then Ctrl+c (copy summary) then paste in excel and have fun
I don't see an export or save as option.
I filtered out all the unwanted requests using -.css -.js -.woff then right clicked on one of the requests then Copy > Copy all as HAR
Then pasted the content into a text editor and saved it.
I had same issue for which I came here. With some trials, I figured out for copying multiple pages of chrome data as in the question I zoomed out till I got all the data in one page, that is, without scroll, with very small font size. Now copy and paste that in excel which copies all the records and in normal font.
This is good for few pages of data I think.
In more modern versions of Chrome you can just drag a .har file into the network tab of Chrome Dev Tools to load it.
To get this in excel or csv format- right click the folder and select "copy response"- paste to excel and use text to columns.
You can try use Haiphen, which is a chrome extension that allows you to analyze network traffic and what API calls a web application is making.

Problem including dynamic image in Eclipse BIRT 2.5.0 report on Windows

I have a BIRT 2.5.0 report design with a dynamic image (URL is specified through report parameter, image formats tried - .png, .bmp). When running the report from our application on Ubuntu, everything renders OK. When doing exactly the same thing on Windows, there's following message instead of the actual image:
Current report item is not supported in this report format.
Same problem occurs when including image with a fixed URL - even though the image is displayed and loaded in the Report Designer, it's not rendered in report generated from our application. Again, this happens only on Windows.
The only way I managed to get the image into a rendered report was through embedding it into the report design file, which is not suitable as the image has to be dynamic.
We ended up using a workaround. We put an embedded image with empty data property into the report design file and then supplied the image data as ilustrated in the following snippet:
ReportDesignHandle reportDesign = ...
byte[] imageData = ...
EmbeddedImage embeddedImage = reportDesign.findImage("embeddedImageName.png");
embeddedImage.setData(imageData);
I had a similar error and didn't quite know how to do the above. But in my case it was a different problem. I found that this error:
Current report item is not supported in this report format.
also shows on a PDF when it can't find the image file. I had a relational path rather than the full path e.g.
"/images/picture.jpg" (didn't work, got error)
rather than
"http://server/images/picture.jpg". (worked, showed my image)
The full path worked and I saw my image. The relational path gave me the error.
I spent hours just to find that out. Hope this helps somebody.