• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: JasperReports progress
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JasperReports progress


  • Subject: Re: JasperReports progress
  • From: Theodore Petrosky <email@hidden>
  • Date: Fri, 06 Apr 2012 18:30:02 -0700 (PDT)

I thought I read the docs carefully. With the fonts in the classpath I see that when I compile the app, it creates a folder at Resources/Java with the .jars

However, the fonts are not embedded in the pdf. Is there something more I am supposed to do to get the fonts to embed in the jasper pdf?

If I view the pdf on a machine that has the fonts installed, it views correctly which implies that Jasper knows what the fonts should be but is not embedding them. Is there something to configure on the deployment server?

Ted

--- On Wed, 4/4/12, Kieran Kelleher <email@hidden> wrote:

From: Kieran Kelleher <email@hidden>
Subject: Re: JasperReports progress
To: "Theodore Petrosky" <email@hidden>
Cc: "Paul Yu" <email@hidden>, email@hidden
Date: Wednesday, April 4, 2012, 12:03 PM

FWIW, if iReport can see the fonts and render them, then Jasper should be able to on the same system. Not sure why it is not working for you. I have not seen this issue.

As a workaround, try putting the fonts in a jasper jar per the README and include in your apps classpath.


On Apr 4, 2012, at 11:39 AM, Theodore Petrosky wrote:

I understand the issue that the fonts have to be available to the server running the D2W app. if I deploy this on a different box, then I will have to move the fonts there.

I am on the development box. the fonts in question are loaded in /Library/Fonts. The display beautifully in iReport but not in the compiled  .jasper    report.

Originally when I googled on the error message I found posts saying that the fonts needed to be exported into a .jar and be in the java classpath. Then I found posts saying that truetype fonts should just work.

I don't have an answer yet. I hope it isn't that truetype works if you use an up to date version of iReport. We are really locked into using 3.7.4

We'll see where it goes.

Ted


--- On Wed, 4/4/12, Paul Yu <email@hidden> wrote:

From: Paul Yu <email@hidden>
Subject: Re: JasperReports progress
To: "Theodore Petrosky" <email@hidden>
Cc: "Kieran Kelleher" <email@hidden>, email@hidden
Date: Wednesday, April 4, 2012, 10:28 AM

I think those fonts are what installed on the machine that is running the report.  When I deployed my reports to my linux server, the reports broke because of a lack of fonts.

-- 
Paul Yu
Sent with Sparrow

On Wednesday, April 4, 2012 at 10:24 AM, Theodore Petrosky wrote:

I found the jasper version (3.7.4) and downloaded the correct iReport version and voila. I get no errors and it creates the PDF. The only issue is that the report is not using the fonts I selected.

Is there something I must do to tell JR to use the fonts I selected?

Ted

--- On Wed, 4/4/12, Kieran Kelleher <email@hidden> wrote:

From: Kieran Kelleher <email@hidden>
Subject: Re: JasperReports progress
To: "Theodore Petrosky" <email@hidden>
Cc: email@hidden
Date: Wednesday, April 4, 2012, 6:56 AM
Seems to me like D2W integration of
long response pages is your issue here and the d2wcontext is
getting lost. CCAjaxLongResponsePage knows nothing about D2W
for a start, neither the nextpage controllers being used
there. The jasper task is a background Callable task that
returns a File result. The Jasper example project is not a
D2W project. So, at this stage I have to defer to the D2W
experts on the list for advice on integrating a background
task with a File (to be downloaded result) into a D2W
scenario.


The iReport MUST match the JasperReports version in this
project. You have been warned.
Look in Libraries directory of this project for the jar
named something like jasperreports-X.X.X.jar.
That file has the current version number.

Currently Wonder version is at 3.7.4. It will probably stay
that way for a while. Jasper has many other dependencies and
those dependencies are used across other Wonder projects
.... iText for example. So it is not just a case of drop the
latest jasper and all its dependencies into Libraries.


On Apr 3, 2012, at 10:48 PM, Theodore Petrosky wrote:

here's what we have.

in a stock D2W app there is a method in pageWrapper:

public String bodyClass() {
    String result = null;
    String pageConfig =
(String)d2wContext().valueForKey("pageConfiguration");
    if (pageConfig != null &&
pageConfig.length() > 0) {
        result =
pageConfig + "Body";
    }
    return result;
}

Obviously it is setting the css class for the context.
When I return from making the jasper report pdf, the
d2wcontect is null and there is the NPE.

as a work around, I added to the method that checks the
context:

if (d2wContext() != null) {
       
NSLog.out.appendln("*** pageWrapper 
pageConfiguration  is not  null =  ***** ");


    pageConfig =
(String)d2wContext().valueForKey("pageConfiguration");
}

I get a very ugly page. now I can figure out why the
compiled jasper report is not using any of the fonts that I
am specifying.

Are there any gotchas with the different versions of
iReport and the version of Jasper Reports in wonder?

Ted

--- On Tue, 4/3/12, Kieran Kelleher <email@hidden>
wrote:

From: Kieran Kelleher <email@hidden>
Subject: Re: JasperReports progress
To: "Theodore Petrosky" <email@hidden>
Cc: email@hidden
Date: Tuesday, April 3, 2012, 6:34 PM
The NPE is at:

at
com.as.application.ui.components.PageWrapper.bodyClass(PageWrapper.java:27)

that is your component ..... so why don't you look
there to
see what is causing the NPE?

On Apr 3, 2012, at 4:00 PM, Theodore Petrosky
wrote:

So I've made progress but am stumped. I created
a
customcomponent and used a rule to make one of the
displayPropertyKeys a hyperlink.

I am basically using the JasperReportExample. I
created
a hyperlink as one of the property keys. this will
fire off
the method that starts the jasper reports process:

public WOActionResults printBrief()
{   
     
         
         Brief
theBrief =
(Brief)object();
         
       
Callable<File> reportTask =
Reports.createBriefReportTask(theBrief);
         
       
CCAjaxLongResponsePage nextPage =
pageWithName(CCAjaxLongResponsePage.class);
         
         // Push
the task
into the long response page
       
nextPage.setTask(reportTask);
         
         //
Controller for
handling the Callable result in the long response
page
       
FileTaskDownloadController nextPageController =
new
FileTaskDownloadController();
         
         //
Hyperlink text
on the "Your file is downloaded page" to get back
here
       
nextPageController.setReturnLinkText("Reports
Menu");
         
         // The
filename
for the download
       
nextPageController.setDownloadFileNameForClient("BriefReport.pdf");
         
       
nextPage.setNextPageForResultController(nextPageController);
         
       
NSLog.out.appendln("*** nextPage =  ***** " +
nextPage);

         
         return
nextPage;
     }

Here is the Reports method:

     public static
Callable<File>
createBriefReportTask(Brief b) {
       
         
         String
reportDescription = "Printed Brief";
         
       
HashMap<String, Object> parameters = new
HashMap<String, Object>();
       
parameters.put("reportDescription",
reportDescription);
       
parameters.put("userName", "User From session");
     
     
   EOQualifier
qualifier = ERXQ.equals(Brief.JOB_NUMBER_KEY,
b.jobNumber());

       
ERXFetchSpecification<Brief> fs = new
ERXFetchSpecification<Brief>(Brief.ENTITY_NAME,
qualifier, null);

       
ERJRFetchSpecificationReportTask reportTask = new
ERJRFetchSpecificationReportTask(fs,
jasperCompiledReportFileName, parameters);
         
         return
reportTask;

     }

indeed it goes out and starts to create the
pdf. I see
the the pdf in
/var/folders/2d/23408oihsdvh08r23/T/Brief3234987239872398472.pdf

However, just when DownloadIsComplete's
appendToResponse method is called I get errors:


Apr 03 15:33:34 ASBriefsD2W[57285] WARN
NSLog  -
<com.webobjects.appserver._private.WOComponentRequestHandler>:
Exception occurred while handling request:
java.lang.NullPointerException
[2012-4-3 15:33:34 EDT] <WorkerThread0>
java.lang.NullPointerException
     at
com.as.application.ui.components.PageWrapper.bodyClass(PageWrapper.java:27)
     at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
     at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at
java.lang.reflect.Method.invoke(Method.java:597)
     at
com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636)
     at
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
     at
com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324)
     at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736)
     at
com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
     at
com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
     at
com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804)
     at
com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50)
     at
com.webobjects.appserver._private.WOHTMLDynamicElement.stringValueInContext(WOHTMLDynamicElement.java:537)
     at
com.webobjects.appserver._private.WOHTMLDynamicElement.classInContext(WOHTMLDynamicElement.java:542)
     at
com.webobjects.appserver._private.WOHTMLDynamicElement._appendClassAndIdToResponse(WOHTMLDynamicElement.java:518)

I can provide more but I have to start
somewhere.

I don't know  what else to says other
than
'HELP'!!! i'm drowning.

Ted
_______________________________________________
Do not post admin requests to the list. They
will be
ignored.
Webobjects-dev mailing list     
(email@hidden)
email@hidden


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Re: JasperReports progress (From: Kieran Kelleher <email@hidden>)

  • Prev by Date: Re: Using Git WOWODC 2012 Session
  • Next by Date: Re: Using Git WOWODC 2012 Session
  • Previous by thread: Re: JasperReports progress
  • Next by thread: Re: JasperReports progress
  • Index(es):
    • Date
    • Thread