Jump to content
We've recently updated our Privacy Statement, available here ×

ddavis539

Members
  • Posts

    33
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by ddavis539

  1. There's a bug in the jaspersoft studio editor which has been there since at least version 6.18.1 and I'm still seeing it the newest version 6.20.6. What's happening is if I choose any element, access the properties editor and enter a value for the height, width, xpos, ypos, etc... - after pressing enter to save that change, Jasper grays that field out and makes it read-only. What's worse, that property is grayed out and the editor can't be used for ALL other elements on the screen. Once this happens the only way to edit these values is to go into the source code editor and find the control and change it there (not so easy with a complicated design). Restarting Jasper reports tool does make it editable for a single control, but then it becomes read-only again afterwards. I've captured some screenshots showing this on a brand new form, where I changed the height of the details band to 280, and now it's read-only. And the height on a footer band is also read-only. I'm using a MacOS, with the M1 chip. But my colleagues who are using an older intel based mac are experiencing the same issue. Not being able to quickly edit this on screen adds a ridiculous amount of extra time to our efforts to effectively use this tool for template design. Please fix ASAP
  2. I'm using JasperReportStudio Community v 6.15.0 to design a new report. The following subreport definition in a parent report. I'm using xml files generated by my server as the datasource, and the syntax I'm using has been used in at least a dozen other reports without any problems. I have successfully ran the subreport as a standalone report, using a xml data source with the full xml path as expressed below. When I run the parent, nothing appears in the generated pdf file. If I modify the data expression to to use an empty datasource, I do see the subreport appear where I expect it to, with null appearing where text would normally be. The only difference between it showing up and not is the datasource expression. I've opened up the error.log and there are no messages in there related to this. Is there a new way to express a sub-XML datasource? What's weird to me, is I can open up any of the older reports using a nearly identical dataSourceExpression (differing only in the xpath part) and they run just fine from the same environment. This is bafflilng and frustrating. Is there a new syntax to pass in an xml datasource, or is there another debug file I could look at to figure out what's going on? For an empty dataset I'm using: <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression> Non-working subreport: <subreport> <reportElement x="69" y="70" width="489" height="90" uuid="984977e0-78aa-4f20-a05b-1048fe69e0f1"/> <subreportParameter name="IMAGE_DIR"> <subreportParameterExpression><![CDATA[$P{IMAGE_DIR}]]></subreportParameterExpression> </subreportParameter> <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/profiles/profile/tips/tip")]]></dataSourceExpression> <subreportExpression><![CDATA["Report_Tips.jasper"]]></subreportExpression> </subreport>
  3. I just noticed that the most recent Jasperreports version available from the central maven respository is 3.5.3. How soon can we expect to see the 3.6.X or latest 3.7.X releases available there? Does jaspersoft have an alternative maven repository that makes the newer releases available sooner?
  4. Alternatively you could define a Style, with a default color black. Then define a conditional sub-style that changes the font color to red when a negative condition occurs on the data field. That way, you only have to have a single field, but it will dynamically choose the appropriate style to use based on the condition you've defined.
  5. I'm using Jasper/iReports 3.5.1-nb. I'm using the 'styled' markup to combine a resource string with a Field, changing the font for the field. The exact Test field expression is: $R{product} + ": <style pdfFontName=\"Cyberbit.ttf\" forecolor=\"#000000\" isPdfEmbedded=\"true\">" + $F{ProductName} +" </style>" This works fine, unless the Product name contains an embedded ampersand. Ie (Oats & Grains). In this case the markup itself displays on the report, and the jasper engine displays an error in the console: 21:04:40,820 FATAL [JRStyledTextParser] Error parsing styled text. org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at net.sf.jasperreports.engine.util.JRStyledTextParser.parse(JRStyledTextParser.java:219) at net.sf.jasperreports.engine.util.JRStyledTextParser.getStyledText(JRStyledTextParser.java:258) at net.sf.jasperreports.engine.fill.JRFillTextElement.getStyledText(JRFillTextElement.java:955) at net.sf.jasperreports.engine.fill.JRFillTextElement.getText(JRFillTextElement.java:973) at net.sf.jasperreports.engine.fill.JRFillTextField.prepare(JRFillTextField.java:520) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:346) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:346) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:305) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1382) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeader(JRVerticalFiller.java:591) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeaders(JRVerticalFiller.java:524) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:253) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:899) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:821) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:628) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:544) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:349) at reed.tracom.getsmart.businesslogic.JasperReportsImpl.generatePDFReport(JasperReportsImpl.java:99) at reed.tracom.getsmart.businesslogic.SessionReportService.produceStatusReport(SessionReportService.java:939) at reed.tracom.getsmart.businesslogic.SystemTaskService.processStatusReports(SystemTaskService.java:1285) at reed.tracom.getsmart.businesslogic.SystemTaskService.processSessionTask(SystemTaskService.java:1066) at reed.tracom.getsmart.businesslogic.SystemTaskService.processIndividualSystemTask(SystemTaskService.java:983) at reed.tracom.spring.controllers.reports.ReportGenerateController.onFormChange(ReportGenerateController.java:258) at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:262) at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:874) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) The data source is an xml file, so that already escapes the ampersand as & amp ; which the parser converts into a literal ampersand during the data conversion stage. Is there a proper way to markup an ampersand so it can output correctly within a styled text block? It appears that the styled text is being parsed by a 2nd xml parser, which implies that I would have to double-escape and ampersand, is that the case? Post Edited by ddavis539 at 08/16/2009 05:52
  6. nikunj321 Wrote: Thanks for your detailed discussion about how internationalisation works. I needed some more help on this. 1.I changed locale execution tab to spanish ,but still it gives the output in default language.Is this only step solve my issue? 2.If i want to pass value to REPORT_LOCALE variable(which is in built) for spanish tag,how and what value should i pass? Did you create a properties file with Spanish terms in it and convert your report to use Resource string references ($R{Name})? Simply changing the locale won't do anything unless you've created a localized report layout. As needed, your database queries for the report may need to be modified to pull out any database-based localized data as well, based on the report locale. For Spanish you have a choice of simply using the generic locale for Spanish "es" or using country-specific versions (es_MX for Mexico, es_ES for Spain, etc..). You'll use this locale code (two letter language + optional 2 letter country) when naming the properties file and a matching locale should be passed in as a String value for the REPORT_LOCALE parameter.
  7. You just need to create a java properties file and place it in a resource directory, for example projectStaticText.properties. We put our fonts and properties files in a single resource directory which is added to the iReport classpath. In version 3.5.x this is done by going into the tools-->options menu, choosing classpath, clicking on add folder and choosing the resource directory. If fonts are in that directory, you can choose the FontPath tab and click on the chekcbox to include that directory for fonts. In the file you need to add label/header terms to be translated (ie name=Name). Modify the iReport Resource bundle property and set it to 'projectStaticText'. You can then create Text fields in the report and reference your properties using the $R{} syntax ( $R{name} ). To create a Spanish version, you need to create a 2nd file in the same directory called projectStaticText_es.properties. Use the same property tags in this file, but put in Spanish terms (name=Nombre). To see the report in Spanish from iReport (version 3.5), you need to go into tools-->Options menu, select the Compilation and execution tab and change the Report Locale to Spanish and press ok. When you press preview, it should pull in the Spanish tags. If you're going to use extended ascii or Unicode characters, we've found it's much easier to store them in properties files as Javascript escape characters. Español would be Espa\u00F1ol. There's a nice website that makes it easy to produce the Javascript escapes: http://rishida.net/scripts/uniview/conversion.php One thing to keep in mind is the font you're using needs to have scripts for all of the characters you intend to display across all languages. This usually isn't a problem with European languages, but can be an issue when you want to switch between English and Asian languages. We usually use Arial Unicode or Bitsream cyberbit, with pdf embedding and using the Unicode-H encoding to create a single multilingual report. Another option is to create different language versions of the report, allowing you to target several different fonts that work in the given language. When generating the reports at runtime with Jasper, we just pass the desired locale string in to the report as 'REPORT_LOCALE' which is a built in parameter for all reports. Post Edited by ddavis539 at 05/22/2009 15:50 Post Edited by ddavis539 at 05/22/2009 15:52
  8. We finally discovered what the problem was. The developer having problems had a different directory structure to store his project source files, which included a space between two words (ie 'dev project'). The xml source file was located under this directory 'dev project/src/test/resources' but could not be loaded because of the embedded space in the path. We renamed the directory to just 'devProject' and it solved the problem.
  9. We have a team of 3 developers utilizing the latest 3.5.1 nb release of iReports. We have several legacy reports and several new ones that we are creating that all use xml files as the datasource. Our project has several sample xml files available in a test directory, which we reference when creating datasources with the appropriate xpath statement. For one of our team members, his machine is unable to utilize the xml files. When he opens up a working report and defines the corresponding data source for test data, all of the Fields that should be populated from the xml file appear as "null" on the output report. I've double checked that his xml datasource definition matches the one on my machine, and he's accessing the exact same report. It just seems to be his machine. He's tried installing from the zip file, as well as the windows installer. We even copied over my working copy of the iReport directory to his machine, but he always has the same problem. To simplify a test, he created a simple report with a single data Field mapped to an xml file containing only one element, and placed in the page header band The xml file was simply defined as: <report> <name>John</name> </report> The datasource was defined with name :test and creating a datasource using the expression: /report When all of our developers run this report, they see John at the top of a page, when the other one runs it, he sees "null" at the top of the page. Everyone is using the exact same type of computer, windows XP operating system, Java, etc... There are no status errors or other problems reported in his console. Is there some other way to troubleshoot what might be causing this? Perhaps there's a conflicting xml-related jar on his system or something? We've tried everything we can think of to get this working for him, but nothing seems to fix it.
  10. I just wanted to come back and thank the development team for the many improvements included in the nb 3.5.1 release. I dowloaded it the day it came out and am very pleased with the improved usability. I created a multi-page report from scratch within one day with the new version, making heavy use of the new copy/paste functionality. The quick turnaround has created some fans in our management team as well.
  11. Thanks for the information. Hopefully they'll get it posted soon. In the meantime, I was able to manually deploy the jars and pom from your bundle along with the latest jfree jars on our local shared repository which is temporarily solving the problem.
  12. In our project we're using maven to manage jar dependencies. I've created some reports with the latest version of iReport/Jasper (3.5.0), but cannot find that version in the maven 2 respository (http://repo1.maven.org/maven2/). under the /jasperreports root, the most recent release available is 3.1.2 which is from last December and is imcompatible with some of the attributes founds in 3.5.0 (ie 'runToBottom' attribute of subreport). Is there an alternative repository I could point to to get the 3.5.0 version through Maven? If not, when will the 3.5.0 version be referenced in the main maven repository?
  13. I deleted the 3rd band and went through the sub-report wizard, selecting the existing sub-report and the problem described above didn't happen for the newly added report, so it appears to be an issue with using copy/paste to duplicate a sub-report
  14. One possibility is to generate the two reports separately and then use some iText methods to merge the pdf files together. There is an example of how to do that on the itext website, or if you can't find it, I can provide some sample code I've used in some applications.
  15. I've been using iReport for over 7 years to layout jasper reports and am very profient with the classic version. I am extremely disappointed with what I've seen in the nb version so far. There are so many subtle changes that dramatically decrease productivity, that it is a major step backwards. I've attempted to report several issues as bugs, with most of them closed mentioning a an obscure but less efficient workaround. The problems I'm having are so severe, I'm beginning to wonder whether or not I can continue to use iReport at all. Among the problems I have with the new version: 1) No support at all for barcodes. This was extremely important in several of the postal and shipping reports I've created over the years. 2) The new way of selecting multiple elements has several problems. Previously you could hold down shift and quickly click around the screen to select multiple items. If you accidently selected something you didn't want, you could simply click on it while holding shift again to de-select it. If you tried to shift click on something and missed (eg clicked in an empty section), it wasn't a problem. Now you have to double-click to de-select an item which is awkward. Even worse, holding Ctrl and clicking an an empty area (easy to do with a complicated design, or when trying to click on a graphic line) clears out everything you've selected, forcing you to start over. 3) copying and pasting is almost unusable now. In the old version, you could select one or more elements then press ctrl C and Ctrl V to copy all of those elements. The best thing about this under the classic designer was that as part of the paste, all of the copied elements were offset horizontally and vertically by 10 pixes and all of them were automatically selected. This made it very easy to use the arrow keys + Shift to re-align an entire section to where it needed to be copied to. Since many reports have similar graphic/text sections it reduced report design time. With the new product you can still select and copy multiple elements. However, they are copied into the exact same x/y coordinates as the source and even worse they are not selected, which makes it really hard to reselect just the copies and move them to where they belong. Instead of being able to copy 5 or 10 elements at the same time into correct position, it forces you copy each element one at a time, which really slows down the layout. There also seems to be a limit on how many elements may be pasted at once. I tried to select 62 elements from one report and copy them into the page of a different report. For some reason only 7 elements were copied onto the other report. 4) Under the classic version it was possible to manipulate the Z coordinate of graphic elements. This was important when attempting to have text items in front of background image or background color filled graphic elements. This was down by simply clicking on an element and choosing "send to back" or "bring to front". That functionality seems to be lost in the nb version which makes it difficult to correctly layout reports with overlaid elements. 5) Under the classic version it was possible to see whether or not a valid variable, field or parameter was being used in the popup properties editor by the color of text in the Text Field Expression section. This was it was really easy to have the popup window open and click around the elements to check the variables being used. Under the nb version the property sheet does not feature the same color highlighting for variable names. To see it, you have to click on the elipse to open up the text field expression dialog. This dialog has to be closed before choosing another element which again subtly slows down the editing process. 6) having to confirm that I really want to delete something every time I press delete is annoying. There should be a way to turn this confirmation/warning off for advanced users.
  16. Unfortunately, I find the interface on the 'nb' version to be horrible and buggy. For example: You can't seem to choose a pre-selected page size (ie letter) from a drop down list for report, other than manually changing the height width. The selection tool has to completely cover an element in order to select it instead of just touching it, which is not as good. I prefer to have a popup properties editor, especially when comparing different elements to each other. I need to use barcodes, which don't seem to exist anymore. I need to be able to have ireport pre-load custom fonts so they can be embedded in the pdf. I used to be able to modify the classpath to point to a project font/resource directory but it's now clear how to do that now. For version 3.1.4, clicking on the xml tab removes the set of navigation tab making it impossible to get back to the design view. Post Edited by Darren Davis at 03/23/09 20:23 Post Edited by Darren Davis at 03/23/09 20:23
  17. We have several legacy reports that use the embedded stylized text to mix up fonts with jasper fields (ie having a bold label next to a field value, which uses a different font). When we tried running our reports on any version of jasper after 2.0.2, they styled text no longer worked because of the introduction of the new "markup" tag. In looking at the samples provided in the jasper reports project, it appears that the new way to port styled tags is to use markup="styled" inside the tag. Unfortunately, iReport only provides HTML or RTF options withing the dropdown for the markup starting with version 2.0.3. I just checked the latest version, and the problem is still there. Are their any plans to expand this dropdown to include "styled" as a markup option so that those of us who use embedded styles can begin using newer versions of iReport?
  18. It depends on how your xml file is organized. Usually I use the "Create a data source using this expression" option, entering the path to the place where my data lives. For example, if I had an xml file that was structured like this: <Data> <Customer> <Name>Bob</Name> <Phone>555-3333</Phone> </Customer> </Data> I would put '/Data/Customer' in the select statement. When you setup your fields for the report the "Field Description" field must match (case sensitive) the XML tag in your data file. For this example I would create a new Field called Name, with type java.lang.String, and Description: Name I could then use this field in the report. It would pull data from the xml file if I select that as my data source and run it with the datasource option.
  19. Never mind. After researching this further, I found out that Java does not support OTF fonts which use Adobe-1 encoding (identified with "OTTO" at the head of the file). I don't believe I'll be able to use these fonts in Java at all, unless I convert them to TTF using fontforge or something similar.
  20. I'm using the latest version of iReport (2.0.1) to create a series of reports for a client who has purchased several OTF fonts they require to use. I've copied these fonts to the fonts directory of iReport and have modified the startup script to load the fonts directory into the iReport classpath. After starting iReport, I am unable to see any of the OTC fonts available for selection in the Font Name drop-down or the PDFFontName drop down list. In looking at the source code (FontListLoader.java), it appears to only recognize TTF or TTC font extensions. Simply adding the "OTC" extension to the accept function doesn't work, because the java.awt.Font loadFont constructor only works with TTF fonts. Does anyone have some suggestions on how to modify the FontListLoader to properly handle OTF fonts, or is there another way to get the current version to handle them? I'm fairly certain that iText can handle them properly.
×
×
  • Create New...