Home Forum Nuclos Konfiguration Formulare Exception beim Einbinden eines Fonts in PDF

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)
  • Autor
    Beiträge
  • #7237
    Thorsten Kreutz
    Teilnehmer

    Hallo zusammen,

    ich habe versucht, eine Schriftart gemäßg Anleitung unter wiki.nuclos.de in ein Formular einzubinden, da ich Sonderzeichen darstellen möchte, die von den Standardschriften nicht unterstützt werden.

    Ich bin exakt nach Vorlage vorgegangen, erhalte am Ende jedoch keine PDF, sondern die folgende Exception im Log:


    2013-11-07 21:55:44,913 WARN [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Processing of NuclosHttpInvokerServiceExporter remote call resulted in fatal exception: org.nuclos.server.report.ejb3.ReportFacadeRemote.prepareReport
    java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

    Was läuft da falsch?

    Habe es unter Nuclos 3.15.7/Java7 und 3.15.9/Java6 ausprobiert – die Anleitung ist allerdings aus Juli 2013 – geht es mit der 3.15 nicht mehr?

    Beste Grüße,
    kreutho

    #7238
    Steffen Schulz
    Teilnehmer

    Hallo,

    es sieht mehr danach aus als wenn dort ein Fehler in der JRXML existiert. Aber um genaueres zu sagen, müsste ich ein Blick hinein werfen.

    Steffen

    #7246
    Thorsten Kreutz
    Teilnehmer

    Hallo Steffen,

    wenn ich die Jar-Datei aber wieder entferne, funktioniert auch der Report wieder – mit der gleichen JRXML. Außerdem sind auch die normalen Ergebnislisten-Exporte betroffen…

    Gruß,
    Kreutho

    #7248
    Steffen Schulz
    Teilnehmer

    Hallo Kreutho,

    verwendest Du das Styled- Propertie bzw. verwendest Du Bold oder Italic für Deine Schriftzeichen und sind für diese Schriftzeichen dann auch entsprechende Vorlagen dem Jasper bekannt?(TTF-Bold, TTF-Italic).

    Hätte ich das Jrxml oder die Font.xml könnte ich mir ein besseres Bild machen. Vielleicht kannst Du es hier hochladen.? Am besten auch die Schriftarten.

    Steffen

    #7260
    Thorsten Kreutz
    Teilnehmer

    Ich bleibe dabei, dass die JRXML nicht das Problem sein kann, denn selbst der PDF-Export eines Suchergebnisses schlägt fehl.

    Ansonsten habe ich mich genau an die Vorgaben gehalten – falls nicht wieder die Flüchtigkeit zugeschlagen hat. Habe dir die fonts.xml mal angehängt, um dein Angebot der Überprüfung mal anzunehmen. Upload der Schriftarten hat nicht funktioniert, es sind die Dateien Arial.ttf, Arial_Bold.ttf, Arial_Italic.ttf und Arial_Bold_Italic.ttf aus dem Paket „ttf-mscorefonts-installer“ unter xubuntu 13.04.

    Danke und Gruß,
    Kreutho

    Attachments:
    #7262
    Markus Glitzner
    Teilnehmer

    Man könnte auch im iReport beim Textfeld den „PDF Font Name“ direkt angeben, also den absoluten Pfad am Server zur Schrift.
    Ich mach das immer schon so, nur halt über Styles.

    Gruß
    Hugo

    #7278
    Thorsten Forkel
    Teilnehmer

    Das gleiche bei mir, leider. Habe nach Anleitung das JAR eingefügt und erhalte nun keinen Report. Stattdessen im Log folgende Fehlermeldungen:

    2013-11-26 07:03:31,342 INFO [org.nuclos.server.report.ejb3.ReportFacadeBean] - preparing report (PDF) for datasource 'Angebot'.
    2013-11-26 07:03:31,353 WARN [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Processing of NuclosHttpInvokerServiceExporter remote call resulted in fatal exception: org.nuclos.server.report.ejb3.ReportFacadeRemote.prepareReport
    java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
    at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:177)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:78)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:60)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:83)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:628)
    at org.nuclos.server.report.export.JasperExport.export(JasperExport.java:234)
    at org.nuclos.server.report.ejb3.ReportFacadeBean.prepareReport_aroundBody24(ReportFacadeBean.java:548)
    at org.nuclos.server.report.ejb3.ReportFacadeBean$AjcClosure25.run(ReportFacadeBean.java:1)
    at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:59)
    at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:65)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
    at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:63)
    at org.nuclos.server.report.ejb3.ReportFacadeBean.prepareReport(ReportFacadeBean.java:543)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:77)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy74.prepareReport(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
    at org.nuclos.server.common.NuclosRemoteInvocationExecutor.invoke(NuclosRemoteInvocationExecutor.java:180)
    at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
    at org.nuclos.server.common.NuclosHttpInvokerServiceExporter.invokeAndCreateResult(NuclosHttpInvokerServiceExporter.java:13)
    at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:73)
    at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:150)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    2013-11-26 07:03:31,354 WARN [org.nuclos.server.common.NuclosRemoteInvocationExecutor] - Transaction rolling back now, because of java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser: RemoteInvocation: method name 'prepareReport'; parameter types [java.lang.Integer, java.util.Map, java.lang.Integer](org.nuclos.server.report.ejb3.ReportFacadeBean@3572a9)

    Version ist 3.15.7

    Die entsprechende JRXML sowie das JAR habe ich angehängt. Vielleicht wird ja jemand schlau daraus.


    @Hugo
    : Kannst Du Deinen Weg mal etwas detaillierter erklären, vielleicht ist das ein Workaround. 🙂

    Danke und Grüße
    Thorsten

    #7279
    Markus Glitzner
    Teilnehmer

    wie ich bereits im vorigen Post geschrieben habe, den Pfad zum Font unter „PDF Font name“ eintragen und noch „PDF Embedded“ aktivieren.

    z.B.: „C:ProgrammeNuclosdataresourceHelvetica LT Light.ttf“

    #7280
    Thorsten Forkel
    Teilnehmer

    Danke, das hat funktioniert. Manchmal hat man doch ein Brett vor dem Kopf.

    Grüße

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)