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 protected]> wrote:
> 
> From: Paul Yu <[email protected]>
> Subject: Re: JasperReports progress
> To: "Theodore Petrosky" <[email protected]>
> Cc: "Kieran Kelleher" <[email protected]>, [email protected]
> 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 protected]> wrote:
>> 
>>> From: Kieran Kelleher <[email protected]>
>>> Subject: Re: JasperReports progress
>>> To: "Theodore Petrosky" <[email protected]>
>>> Cc: [email protected]
>>> 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 protected]>
>>> wrote:
>>>> 
>>>>> From: Kieran Kelleher <[email protected]>
>>>>> Subject: Re: JasperReports progress
>>>>> To: "Theodore Petrosky" <[email protected]>
>>>>> Cc: [email protected]
>>>>> 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 protected])
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>> https://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
>>>>>> 
>>>>>> This email sent to [email protected]
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/pyu%40mac.com
>> 
>> This email sent to [email protected]
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to