- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在导出为 PDF 的一份报告中使用了多种字体,我正在使用 IREPORT 来设计我的报告。
在预览部分中,报告看起来不错,但是当我从我的网络应用程序中导出它时,看起来我对整个报告使用了一种字体。
我搜索了这个问题,找到了两个解决方案:
从 IREPORT 中将字体导出为 .jar 文件并将其添加到我的项目中 [这不是一种干净的方式,因为我使用的是 Maven]。
使用 jasperreports_extension.properties
[我遇到问题的那个!]。
我关注了this教程一步一步但仍然没有结果没有错误没有什么。
这是我使用的代码:
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
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>
因为我使用的是 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" value="true"/>
</beans:bean>
<beans:bean id="Algerian" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<beans:property name="name" value="Algerian"/>
<beans:property name="normal" value="fonts/Algerian.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>
</beans:bean>
<beans:bean id="BellMt" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<beans:property name="name" value="Bell Mt"/>
<beans:property name="normal" value="fonts/bell-mt.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>
</beans:bean>
<beans:bean id="SavoyeStd" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<beans:property name="name" value="Savoye Std"/>
<beans:property name="normal" value="fonts/SavoyeStd.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>
</beans:bean>
<beans:bean id="Cambria" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<beans:property name="name" value="Cambria"/>
<beans:property name="normal" value="fonts/Cambria.ttf"/>
<beans:property name="bold" value="fonts/cambriab.ttf"/>
<beans:property name="italic" value="fonts/cambriai.ttf"/>
<beans:property name="boldItalic" value="fonts/cambriaz.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>
</beans:bean>
</beans:beans>
以及根包中font文件夹中的字体文件。
最佳答案
关于java - 碧 Jade 报告 : Font extension not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625929/
我想避免创建 std::thread 的开销,因此我要实现一个线程池。我正在为一个设计决策而苦苦挣扎: 工作队列中的工作是否应该能够将工作添加到工作队列中?如果是,如何? 问题出现了,因为我想让我添加
color 属性正常工作,但其他两个属性(font-size 和 text-shadow)不起作用。当链接被访问时,它的字体大小应该减小到 20 px 并且应用 text-shadow 属性,但它没有
我已经安装并配置了 supervisor。 ps -ax 显示 10 个进程,例如:php/home/vagrant/Sites/mysite/artisan queue:work --tries=1
我对 php artisan queue::work 命令感到不安。 我的命令不起作用,但我的作业已插入作业表但从未执行。 我正在为队列使用 mongodb 驱动程序。 我做错了什么,请给我建议。 最
为什么我可以找到很多关于“工作窃取”的信息而没有关于“工作耸肩”作为动态负载平衡策略的信息? 通过“工作耸肩”,我的意思是将多余的工作从繁忙的处理器转移到负载较低的邻居上,而不是让空闲的处理器从忙碌的
首先,我正在为 MySQL 使用 DATE_ADD 函数。当试图在 php 中使用 $sqlA 时,由于某种原因它说语法错误(主要是 WHERE 之后的区域)。为什么? $sqlA = "SELECT
a:hover { color: #237ca8 !important; font-weight: bold; } a:active { color: #cccccc !imp
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 7 年前。 Improve this q
我试图让只能使用 Tab 键的用户可以访问我的网站。我遇到的问题是,当我尝试使用 tab 键选择 float 的 div 时,不会触发 :focus in css;我不知道为什么它没有被触发。鼠标悬停
我在尝试将 2 个 div 并排放置时遇到了问题。 display: inline 它会删除我的边框并且不会将两个 div 放在同一行上。 请指教: .gig { outline: 1px s
这是 fiddle :http://jsfiddle.net/j9Gmx/ 我怎样才能得到最小高度:100%;上类? 最佳答案 它正在 工作,但由于 div 的父级(正文)没有高度,100% 基本上是
我正在使用 Flutter WebRTC 来创建 P2P 视频通话。 我遇到了一个与网络相关的问题:我已经完成了应用程序,但它只适用于移动数据。 将网络更改为WiFi时,它不起作用并且连接状态挂起Ch
我是 JavaScript 和 jQuery 的初学者。我的 css 和 JavaScript 代码位于 html 文件外部。这个问题已经有了答案,我尝试了所有代码,但滚动不起作用。我不知道我错过了什
我正在使用 Sprin AMQP 的rabbittemplate 通过 RabbitMQ 发送和接收消息。我能够发送和接收消息,但是,我想优先处理消息。 例如,如果我推送 1000 条消息,假设奇数消
我已经在 WorkManager 中加入了一个PeriodicWork,并希望每次完成时都获取它的 Worker 的输出数据,但以下代码似乎不起作用,因为 Log 消息没有出现在 Logcat 中:
我有一个名为 areaOne 的 AngularJS 指令。当我使用 template 时,会显示模板,但当我在 area1.js 中使用 templateUrl 时,不会呈现模板 HTML。 我在这
“:after”选择器在应用于带有 FF 和 IE 的输入时不起作用 input:after { content: "title"; } 而它正在处理 p、a 等。 这是一个错
下面是适用于 oracle 但不适用于 PostgreSQL 的 Sql 查询。 select count(*) from users where id>1 order by username; 我知
position?:fixed 在 chrome 浏览器上不工作,但在 firefox 中工作正常。 我有一个侧边栏可以停止滚动并固定在顶部。它在 firefox 中运行完美,但在 chrome 中,
我有一段代码无法在 Firefox 中运行。当按钮悬停时,.icon 图像不会改变。它在 Chrome 中完美运行。 button.add-to-cart-button .button-left .i
我是一名优秀的程序员,十分优秀!