Home › Forum › Nuclos Konfiguration › Formulare › Exception beim Einbinden eines Fonts in PDF
- Dieses Thema hat 8 Antworten und 4 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahren von
Thorsten Forkel.
-
AutorBeiträge
-
8 November 2013 um 01:26 Uhr #7237
Thorsten Kreutz
TeilnehmerHallo 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,
kreutho8 November 2013 um 11:44 Uhr #7238Steffen Schulz
TeilnehmerHallo,
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
11 November 2013 um 17:20 Uhr #7246Thorsten Kreutz
TeilnehmerHallo 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ß,
Kreutho12 November 2013 um 15:33 Uhr #7248Steffen Schulz
TeilnehmerHallo 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
15 November 2013 um 15:40 Uhr #7260Thorsten Kreutz
TeilnehmerIch 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ß,
KreuthoAttachments:15 November 2013 um 16:30 Uhr #7262Markus Glitzner
TeilnehmerMan 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ß
Hugo26 November 2013 um 10:13 Uhr #7278Thorsten Forkel
TeilnehmerDas 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.7Die 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
Thorsten26 November 2013 um 12:24 Uhr #7279Markus Glitzner
Teilnehmerwie 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“
26 November 2013 um 14:14 Uhr #7280Thorsten Forkel
TeilnehmerDanke, das hat funktioniert. Manchmal hat man doch ein Brett vor dem Kopf.
Grüße
-
AutorBeiträge