2014-11-28 2 views
4

나는 보고서 생성을 위해 JasperReports를 평가 중입니다. 필자는 Windows와 Linux 간의 보고서 이식성에 몇 가지 문제가 있습니다. 크로스 플랫폼에서 작동하도록 (해킹 된) 솔루션을 찾았습니다. 그러나 나는 무엇인지 궁금 jasperreports-fonts에 대한 :jasperrepots-fonts jar는 무엇이며 어떻게 사용합니까?

<dependency> 
    <groupId>net.sf.jasperreports</groupId> 
    <artifactId>jasperreports-fonts</artifactId> 
    <version>5.6.1</version> 
</dependency> 

나는 그것이 같은데요 산세 글꼴이 포함되어 있는지 볼 수 있지만 내가이 병을 사용하는 방법을 모르고는 (내가 그물에 아무것도 찾을 수 없습니다)이이 내 십자가를 해결할 경우 플랫폼은 부드럽고 우아합니다.

enter image description here

당신은 나에게이 병에 대한 자세한 내용을 알 수 있습니까?

+0

는 한마디로 글꼴 이름 – StanislavL

답변

7

재스퍼 보고서 (.jrxml 파일)에서 여러 글꼴을 사용하여 레이블/텍스트를 표시 할 수 있습니다. 이 글꼴은 다른 플랫폼/OS에서 항상 사용 가능하지 않을 수 있습니다. (예 : 수동으로 설치하지 않으면 Linux 컴퓨터에서 사용할 수없는 일부 MS 글꼴이 있음). 그래서 jasper 보고서에 사용 된 글꼴을 jar 파일로 묶어 기본 플랫폼과 관계없이 작동하게 만듭니다. 또한 글꼴 확장 jar에 고유 한 (사용자 정의로 만든) 글꼴을 포함시키고 재스퍼 보고서와 함께 제공 할 수 있습니다. 자세한 내용은 here입니다.

또한이 jar를 구성하고 사용하는 몇 가지 방법이 있습니다. 가장 쉬운 방법 중 하나를 알기 위해 this을보십시오. jrxml에 사용 된 글꼴은 JVM에서 사용할 수없는 경우 다음과 같이 보고서를 내보내는 동안, 그것은 오류가 발생 것이라고

참고 :
1 :

net.sf.jasperreports.engine.util.JRFontNotFoundException: 
    Font 'Arial' is not available to the JVM. 

이 2 가지 방법으로 해결할 수 있습니다. jasperreport-extension.jar을 사용하십시오. 또는
2. 누락 된 글꼴을 무시하려면 net.sf.jasperreports.awt.ignore.missing.fonttrue으로 설정하십시오. 예 :

<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/> 
+1

을 지정해야합니다 등 모든 레이블/텍스트의 항아리에서 글꼴을 클래스 패스에이를 추가하고 사용합니다 : 의존성을'추가 다음과 같이 jrxml에서, 당신은 그것을 설정할 수 있습니다 jasperreports-fonts' 그리고 보고서에서 DejaVuSans 만 사용하고 굵게 표시합니까? –

+0

예, 제대로 작동합니다. 메이븐 (Maven)은 인생을 그렇게 쉽게 만듭니다. 나는 항아리를 수동으로 만들었지 만, 잘 작동했다. – keenUser

관련 문제