Jump to content

stelek

Members
  • Posts

    14
  • Joined

  • Last visited

stelek's Achievements

Apprentice

Apprentice (3/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post Rare
  • Collaborator Rare

Recent Badges

0

Reputation

  1. The way I do it, is that I print "something" on every page in the background and cover it later. I did not find a way to parametrize it and I gave up. Instead, I'm using additional elements in the "normal" bands to either cover or not cover "something" from the background when the page is/is not the last one. That's a very dirty solution but it's one that works. You can for example print "something" on the bottom of the background and then add a white, opaque rectangle in the "page footer" section. Set up "print when" expression for the rectangle and it works...
  2. Hi, I have just created my first report with possibility of choosing values of input parameters based on an SQL query. To do that, I added java.util.Collection parameters and then used the $X syntax in the main query. I configured it on the Jasper Server and it works just fine there. Everything is just as I expected... ...but not in iReport. When I try to run the report from iReport, the editor asks me for the parameter values. Since my parameters are compared to integer values in the database I enter: 1, 2 in the window that pops up. I confirm and a moment later I get a SQL error: "operator does not exist: integer = character varying". I analyzed the problem and it seems that iReport is always producing a collection of strings instead of my expected collection of integers. So when I enter: 1,2 and expect to have [1,2] I actually get ["1","2"]. Is there anything I can do about it? The problem is really non-existant on the Jasper Server where a proper collection of integers is created. It just does not work in iReport. iReport 3.5.3
  3. I did have some luck with this issue recently but it worked only in this one particular case: I created a band ("title") and put a subreport into it. The subreport was taking the whole band. I then set the "print when expression" for the subreport and enabled "remove when blank" also for the subreport. In this case, when the subreport is not printed, it will also be removed by Jasper and the band that contains the subreport will disappear completely. You might want to try it in your case. It did not solve my original problem though where I do not have a subreport. I really think we desperately need "remove when blank" for a band.
  4. OK, I managed to solve it myself. The issue was not with the "subreport structure" but with the fact that I was using java.awt.Image as the image source. Unfortunately the Image object was not static - instead a new instance was created each time. JR was not able to recognize that the Image objects were actually identical and was not caching it. I changed the scriptlet to contain a static object and now the caching works :)
  5. Hi, I have the following configuration of reports/subreports" main subreport subsubreport A subsubreport B "subsubreport A" contains an image. Since A appears thousands of times in the main report, the image also appears thousands of times. Because of that, the PDF file size grows a lot (from 5MB without image to 330 MB with image). I wanted to try to have the image only once in the final PDF, so I turned on the "isUsingCache" option for the image in subsubreport A. The result is that: the file size was not reduced at all the memory usage during report generation went up a lot (to a point where I had to limit my source data or I was running out of memory even though I'm using a virtualizer)So my question is: is the "image caching" mechanism supposed to work across subreports and if so, how can I achieve that? Or maybe there's some other way to remove duplicate images (eg. during exporting to PDF)? Thanx in advance for any help.
  6. Seems the problem is with the "evaluation time". If I change it from "now" to "page" it starts working but of course in this way you can only affect the content of the field and not its visiblity. I'll appreciate any other ideas...
  7. Hi, I'm facing the same problem now and I tried your solution and it works... but not in my case. I need to check for the last page in the "background" band and in this case it does not work anymore. Even if I modify your example by moving the TextFields to the "background" band, it stops working. Any idea why is that and how I could fix it? Or how I could detect the last page in a different way? And please don't tell me not to use "background" band. I have a really complicated case of reports with subreports and now I have to add a common information on all pages (no matter which subreport they come from) but the last one. "Background" seems perfect for this... except the detection of the last page. Please help...
  8. The original message in this post is very old and the solution link leads to a forum that is "private". But since I'm at this problem now, I need to know the way to do it. Can anyone help me please? How do I print something only on the last page? And I mean the "background" band, not the "last page footer"...
  9. Hi. Thank you for the answer. Yes, the pagination was ignored in iReport and the report was identical to the one on the server. I know about the number of pages because "during development" I had the option disabled, and I switched it on only after we decided to use export to XLS. So we're definitely experiencing a big difference in memory usage between iReport and JasperServer... By the way - it's also possible to crash iReport with "ignore pagination". If you have one long page and press "show full page" button, the program hangs for a long time (well, longer than I was ready to wait anyway :) ) I have changed my report so it does not use "ignore pagination" anymore. I removed the margins, put the column header elements to the title band (so it does not repeat itself) and I made sure that all elements have a height which is a multiply of 17 (this way they always fill the A4 page and there's no additional margin left). So for this moment my problem is solved, but I believe there's still something wrong in the server. And for me it looks like it's somewhere in the "presentation layer", because the server seems to run out of memory just before the "intermediate" version of the report should show up to the user... (and the "presentation layer" is the big difference between iReport and server, isn't it?)
  10. After some experimenting - there's a workaround. It seems the problem is caused by the "ignore pagination" option. We have it enabled because it gives us an Excel export without breaks. But then JasperServer runs out of memory. When we disabled the option the report was generated successfully but of course it does not look as nice as before... Is there any way to use "ignore pagination" and not cause extremely high memory usage in the server?
  11. We have tried again on another machine where we were able to allocate 2.4GB for Java. The generation failed again :( This is now four times the memory thet iReport is using and we're still not able to get the report from JasperServer...
  12. Hi, We're having a problem with report generation in JasperServer. The report is bigger than anything we've done before but it's not really that huge (around 70000 records -> around 3000 PDF pages). The report generates just fine in iReport. It takes around 5-10 minutes and uses around 600MB of memory but in the end we have a nicely looking PDF/XLS file. However, we want to allow non-developers to use the report and therefore we want to deploy it on JasperServer. Unfortunately we are not able to generate it from there. The server always crashes with OutOfMemory. We modified the settings of the server and were able to start it with 1.6GB of memory maximum but it's still not enough for this report. During generation we observe as the Java process consumes memory and at first it allocates it slowly but then at some point it suddenly starts consuming a lot and then crashes... We would really appreciate some help here. We do not understand why the JasperServer uses that much more memory than iReport and if there's anything we can do to reduce the usage in the server. Unfortunately "JasperReports-Ultimate-Guide" says only to increase the java heap but we're not able to do this past the 1.6GB point. Is there anything else we can do? We're using verson 3.5 but we also tried 3.7 RC with identical result.
  13. Actually it's "last page footer". It contains a "payslip form" and depending on the situation we want to have an invoice with or without a "payslip".
  14. Hi, We have a report which has a band that is optional - the user switches it on and off using an input parameter. The band has defined "print when expression" to evaluate user input. It works properly (the way it was designed) but not exactly the way we would like it to. The problem is that even tough the band is not printed (not visible), the space for the band is still reserved. This results in some empty space in the report and unfortunately, depending on the (dynamic) size of other bands sometimes produces empty pages in the generated PDFs. Is there any way to shrink the "not printed" bands to zero? regards T.S.
×
×
  • Create New...