When creating reports using BIRT 2.3.1, I don't want page breaks inside tables or groups; if the table doesn't fit in the space available at the page, I want to put the entire element in the next page.
Using previous versions of BIRT it was possible to set pageBreakInside to "avoid", but it didn't work. In BIRT 2.3.1 this (useless) option was removed, since it wasn't implemented correctly.
This is one of the 'hard' problems in reporting. Tried to get it in 2.3 and we missed, rather than have people thinking that they were doing something wrong (when it didn't work), we backed it out in 2.3.1.
This is high on the priority list for 2.5 (June 2009). Sorry to disappoint, we just ran out of time.
Related
I have been evaluating Jsweet since the past 4 days in order to finalize a tool that can be used to modernize an application from applet to html5/js based front end. I have been able to try the trial examples where applet based java files are getting transpiled to .js files. As a next step I need to have Jsweet introduced to the an applet based application which has 9 tabs with considerable components like dashboards, report generation related drop downs, date picker elements, tables etc. However this application which I need to modernize is not maven based and hence does not have a pom.xml. It is executed using Tomcat.
Is maven a pre requisite for Jsweet?
My expectations from Jsweet are that if I am able to introduce Jsweet to my codebase like in the example and able to create a build using maven, I should be in a position to get .js files created in the target>js>applet folder. Could these be confirmed please?
You might consider CheerpJ (https://leaningtech.com/cheerpj/) for this project. From your description it seems likely that the applet would work out-of-the-box.
If you want to give quickly give it a try: https://chrome.google.com/webstore/detail/cheerpj-applet-runner/bbmolahhldcbngedljfadjlognfaaein
Full disclosure: I am lead dev of CheerpJ and CTO of LeaningTech.
I have some webform portlet used, for example to ask users if the experience in the website was good.
Now I need to get the web form values and create a table to show them. I know that data are stored in liferay's DB in the Exapando (tables, ros, column, values). The problem is that i can't find web form name. In Expandotable it is stored like 1_WAR_webformportlet_INSTANCE_... but I want the name that appear in browser ("MY FORM" for example).
Hope that someone can help me...
PS: I'm Using ExpandoTableLocalServiceUtil in JAVA.
The Expando API mimics tables and you can find various other Expando* API classes that you will need in order to extract the right data. It's not the most intuitive way to run reports on the data, as it's largely built to store extra values for existing entities.
That being said, once you have a proper id from the ExpandoTable of your choice, you can query the ExpandoColumn and ExpandoRow APIs, and in turn the ExpandoValue API (add LocalServiceUtil to all) to get the proper values.
Then, of course, you'll need to render these values in your HTML output.
Web Forms can also be exported as CSV, you could use that output, or you can look at that code, as it also reads all of the data for a form.
I can't go without: You mention Liferay 6.0 and tag Liferay 6.2. Both are horribly outdated - please run more current software on a public facing website.
I have a bunch of PDF files created by iText which i want to convert to images. I'm using JPedal to do so and it works in 99% of the cases but sometimes the images are incomplete. That means the content of forms or tables is missing or if the page contains only a picture (scan of a page) the resulting image is completely blank.
I have noticed that this only happens if the PDF file contains scanned pages. These are not exactly A4 like the rest of the document.
I tried to read the files with iText, create a new one in a temporary bytearray which contains only A4 pages and give this to JPedal. Also i set flattening to true. But nothing has changed.
Any ideas what causes this problem?
EDIT: I'm using jpedal-lgpl.jar in version 4.70. I searched for a more recent package and found version 4.92b23. With this one the content of forms gets converted correctly but the scanned pages are still blank with parts that look like what old TVs show when they have no signal.
I'd love to use the newest version but i can't find a download link. Did IDR Solutions stop publishing a lgpl version?
Did you use the flattening functionality of iText or of jPedal?
The "classic" jpedal LGPL version stopped since version 4.92b23. The first version not released under LGPL was 4.93 and later 5.0. The author removed it completely from sourceforge a while ago which contradicts the open source idea imho but that is another story...
However depending on the java version you are using there is a new LGPL JPedal. Instead of Swing/AWT it uses JavaFX but you can still transform your images like before. So if you can use Java 1.8 then you can use that LGPL version and see if that fixes your problem...
Update:
To fix the problems with your forms you can also flatten with jpedal: -Dorg.jpedal.flattenForm=true (or System.setProperty("org.jpedal.flattenForm","true"); )
One last possibility which comes to mind would be to fiddle around with the other jpedal options: https://www.idrsolutions.com/jpedal/support/jvm-flags/
Do you have the possibility to supply such an problematic PDF file for analysis?
We are paying customer of JPedal and we stumbled accross some threading issues some while ago. The problem got fixed quite quickly by IDR.
Try rendering in a synchronized block and see if the problem still persists.
I have really low knowledge on Java and JasperReports, barely used those to play around, nothing too serious. A friend of mine has been trying to get someone to develop him an application that will generate PDFs with information from an access database for each of his clients, however, after 6 months and 7 developers who ditched him, he has found none, so he asked me if I could help him to which I said I'd give it a try.
What I have been able to do so far:
So far I've managed to successfully (Everything has been done separately, I have like 8 projects in total so far):
Use Jaspersoft Studio/iReport to create a single PDF with the required client information on each sheet.
Create a separate JasperReports project with a input field to get a pdf with a single client information.
Create a Java App with a JFrame to launch the report generation.
Create a Java App to connect to the access database through ucanaccess and validate the search criteria
Questions:
Now, after a few days on Google up and down I havnt managed to successfully achieve everything that I'd like to achieve, and I'd love if someone could either point me into good noob-proof guides or (if willing) provide a noob-proof answer so I can continue to move on.
Create a Java App where you can choose to generate all client's report or a single report for a specified client (I am assuming this isn't too complicated since it'd just be a matter to embed both Jasper reports into the java app), however I'd need to pass the input value into jasper report field to generate a single report (Not sure if this one was clear enough), and run the query for the data-set based on that field's value.
Ideally though not highly needed, pass yet another variable as a field to set a date range.
Since this is being done on a MS Access Database -*.accdb- (Don't blame me, I've been telling him to move to MySQL/SQL for quite a while now), I'd love to know if its possible to make JasperReports do a query based on a UCanAccess JDBC connection (Tried a few options, none worked).
Finally, I need to generate in the report a date range (Something like: "Between 1/Jan/2014 and 1/Feb/2014")
I feel like I've made a decent amount of progress so far, but since I am no pro on either JasperReports nor Java, I am getting stuck in a point where more knowledge is required to create a more decent and practical piece of software and I'd love if someone could point me into a better direction (Either if something is impossible or just a few links to help me get thru)
-Remeber to add ucanaccess jar and all dependencies jars in the Driver Classpath, while creating the Data Adapter
-You have to set Showschema=true:
e.g.
jdbc:ucanaccess://c:/db/database.accdb;Showschema=true
In this way Jasper Studio will be able to navigate the metadata of your database, and you'll find your tables under the PUBLIC schema.
Then you'll be able to create your reports as usual.
I'm working on an upgrade to iText to version 2.17. It's a java application, jdk 1.6.
Our old iText 1.0 code takes some rtf files and converts them to pdf and it works fine. However, on certain pdf documents, I'm seeing some blank rows added in. After looking at them, it looks like there is a table and the location on the page where it goes is where the extra blank space is occurring. The table still gets put on, but it forces the document to add another page. I think somehow the method call for this code must have been changed to accommodate the new api methods and that is the problem.
Any ideas as to how to track this down? I'm going back to the api's and my code changes to get it to compile with the new version; however, it's brute force search trying to figure out which of the changes effected this and I'm wondering what I can do to improve the process?
Thanks,
James
Ouch. 1.0, seriously?! Wow.
The API has evolved quite a bit since I signed on with 1.44(paulo), so going back to the dark ages... wow.
There's no conversion guide. You really are going to have to "brute force" your code update. Furthermore, some classes (text.Table, HeaderFooter, all the RTF output support) were flat out removed. There Are Ways to get the same sorts of results, (PdfPTable, PdfPageEventHandler) but you've got some catching up to do.
I really recommend you get the book: iText in Action (2nd edition). Chapter 2 and chapter 6 are available for free online, as is the source to all the examples.
Also keep in mind that starting with 5.0, iText is released under the APL (or you can buy a commercial license). The APL is a variant of the GPL expanded to encompass "the web service problem". Anyone with access to the OUTPUT of your code must have access to your code.
Well, I found this api page and it's helped a lot! Hopefully it will be of use to someone else:
http://www.jarvana.com/jarvana/view/com/lowagie/itext/2.0.8/itext-2.0.8-javadoc.jar!/index.html?overview-summary.html
What I've done is look at the deprecated api methods and the recommendation for the correct use for their change to the new version that were listed on this page.
HTH,
James