我在我的一个报告中使用多种字体,我将其导出为PDF,我使用IREPORT来设计我的报告.
在预览部分,报告看起来不错,但是当我从我的Web应用程序导出它时,看起来我在整个报告中使用了一种字体.
我搜索了这个问题,我找到了两个解决方案:
将字体从IREPORT导出为.jar文件并将其添加到我的项目中[不是一种干净的方式,因为我正在使用Maven].
使用jasperreports_extension.properties
[我遇到问题的那个!].
我一步一步地遵循了这个教程,但仍然没有结果没有错误没有任何东西.
这是我正在使用的代码:
jasperreports_extension.properties:
net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.myfamily=fonts/fonts.xml
Run Code Online (Sandbox Code Playgroud)
fonts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
<fontFamily name="Arial">
<normal><![CDATA[fonts/arial.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>
<fontFamily name="Algerian">
<normal><![CDATA[fonts/Algerian.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>
<fontFamily name="Bell Mt">
<normal><![CDATA[fonts/bell-mt.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>
<fontFamily name="Savoye Std">
<normal><![CDATA[fonts/SavoyeStd.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>
<fontFamily name="Cambria">
<normal><![CDATA[fonts/Cambria.ttf]]></normal>
<normal><![CDATA[fonts/cambriab.ttf]]></normal>
<normal><![CDATA[fonts/cambriai.ttf]]></normal>
<normal><![CDATA[fonts/cambriaz.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>
</fontFamilies>
Run Code Online (Sandbox Code Playgroud)
因为我使用spring我试过这个fonts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.3.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">
<beans:bean id="Arial" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<beans:property name="name" value="Arial"/>
<beans:property name="normal" value="fonts/arial.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" …
Run Code Online (Sandbox Code Playgroud) 我今天在 HIBERNATE 上遇到了一个奇怪的问题, java.lang.ClassCastException
当我尝试将对象保存到数据库时它给了我。
这是错误的堆栈跟踪:
15:57:24,307 DEBUG AnnotationTransactionAttributeSource:106 - Adding transactional method 'createNombreConnexion' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
15:57:24,307 DEBUG AnnotationTransactionAttributeSource:106 - Adding transactional method 'save' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
15:57:24,682 ERROR stderr:71 - java.lang.ClassCastException: java.lang.Long cannot be cast to ma.dataprotect.sensipro.model.NombreConnexion
15:57:24,687 ERROR stderr:71 - at ma.dataprotect.sensipro.dao.impl.NombreConnexionDaoImpl.save(NombreConnexionDaoImpl.java:30)
15:57:24,687 ERROR stderr:71 - at ma.dataprotect.sensipro.dao.impl.NombreConnexionDaoImpl.save(NombreConnexionDaoImpl.java:1)
15:57:24,687 ERROR stderr:71 - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:57:24,687 ERROR stderr:71 - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
15:57:24,692 ERROR stderr:71 - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:57:24,692 ERROR stderr:71 - at java.lang.reflect.Method.invoke(Method.java:498)
15:57:24,692 ERROR …
Run Code Online (Sandbox Code Playgroud) 我正在从primefaces 3.4迁移到primfaces 4.我在primefaces 3.4中创建了菜单栏,没有问题。这是豆子:
public MenuBean() {
MenuItem menuItem = new MenuItem();
Submenu submenu = new Submenu();
submenu.setLabel("Nos Solutions");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
menuItem = new MenuItem();
menuItem.setValue("Clothes");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
simpleMenuModel.addSubmenu(submenu);
submenu = new Submenu();
submenu.setLabel("Nos Problemes");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
menuItem = new MenuItem();
menuItem.setValue("Clothes");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
simpleMenuModel.addSubmenu(submenu);
submenu = new Submenu();
submenu.setLabel("Nos Solutions");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
menuItem = new MenuItem();
menuItem.setValue("Clothes");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
simpleMenuModel.addSubmenu(submenu);
submenu = new Submenu();
submenu.setLabel("Nos Solutions");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
Submenu submenu1 = new Submenu();
submenu1.setLabel("Offres");
menuItem …
Run Code Online (Sandbox Code Playgroud)