ireport+pdf字体问题
- 格式:doc
- 大小:123.50 KB
- 文档页数:3
在pdf中字体的使用要求
“在PDF中字体的使用要求”是指在使用PDF文档时,对于字体选择、使用和呈现的一些规定和标准。
PDF是一种常用的文件格式,但它对于字体的处理方式和呈现效果受到很多因素的影响,因此对于字体的使用有一些特定的要求和规范。
以下是一些在PDF中字体使用的示例要求:
1.字体选择:在PDF中使用的字体应该是可识别的、清晰的,并且与文档的
整体风格和内容相匹配。
避免使用过于花哨或特殊的字体,以免影响阅读和理解。
2.字体大小:字体大小应适中,以便于阅读。
根据文档的长度和内容,可能
需要调整字体大小以保持视觉上的舒适感。
3.字体颜色:字体颜色应与背景颜色形成良好的对比度,以便于阅读。
避免
使用过于浅淡的颜色,以免影响可读性。
4.字体样式:根据需要选择合适的字体样式,如常规、斜体、粗体等。
保持
一致的字体样式有助于提高文档的可读性和专业性。
5.字体嵌入:确保嵌入PDF中的字体与原始文档中的字体完全一致,以保持
文本的一致性和可识别性。
否则,可能会导致在不同设备和软件上呈现的文本效果不一致。
总结:在PDF中字体的使用要求是指在使用PDF文档时,对于字体的选择、使用和呈现的一些规定和标准。
这些要求旨在确保PDF文档的可读性和专业性,提高用户体验。
遵守这些要求可以帮助确保PDF文档在不同设备和软件上的正确呈现和阅读效果。
iReport中文字符在linux下字体问题解决方法测试发现ta3原框架中iReport在windows下打印功能正常,而部署liunx下后会出现Font '宋体' is not available to the JVM 等问题。
经检查发现是因为原框架中iReport的环境jar包中可默认从系统中获取字体环境,因此在windows下若有该字体,就不会报错。
而在liunx系统下往往缺乏一些中文字体环境,因此使用ireport导出或打印将会出现字体未在JVM等编译问题。
经研究该解决方案,主要有两种方式:方案一: 可以对liunix系统安装相应字库解决,但该解决方式,需要每次部署liunx时候都需要进行字体的安装,不利于部署。
方案二:进行字体打成jar包,加载到项目中,在以后实施时,即便系统未安装字体,只有项目有该jar包也可保证我们的程序字体环境正常运行。
从而更好的解决字体打印出错问题。
目前在公积金项目中采用了第二种方式,对ireport的jar包进行了重新封装打包。
Jar包名称: jasperreports-fonts-4.1.1.jar打包过程:解压该jar包,在原jar包中的字体环境中(路径为jasperreports-fonts-4.1.1\net\sf\jasperreports\fonts\dejavu ),拷贝了如下字体环境(支持在windows 与liunix下环境辨别):宋体仿宋华文仿宋华文宋体华文中宋文件名称分别为:songti.ttc fansong.ttc STFANGSO.ttc STSONG.ttc STZHONGS.ttcsongti.ttf fansong.ttf STFANGSO.ttf STSONG.ttf STZHONGS.ttf2.在原来的基础上(路径为jasperreports-fonts-4.1.1\net\sf\jasperreports\fonts)修改了fonts.xml内容:在其中增添了windows 与liunix下的常用字体,配置内容如下:<!--linux环境下的中文字体--><fontFamily name="宋体"><normal>net/sf/jasperreports/fonts/dejavu/songti.ttf</no rmal><bold>net/sf/jasperreports/fonts/dejavu/songti.ttf</bold><italic>net/sf/jasperreports/fonts/dejavu/songti.ttf</i talic><boldItalic>net/sf/jasperreports/fonts/dejavu/songti.tt f</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'宋体', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'宋体', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="仿宋"><normal>net/sf/jasperreports/fonts/dejavu/fansong.ttf</ normal><bold>net/sf/jasperreports/fonts/dejavu/fansong.ttf</bo ld><italic>net/sf/jasperreports/fonts/dejavu/fansong.ttf</ italic><boldItalic>net/sf/jasperreports/fonts/dejavu/fansong.t tf</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'仿宋', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'仿宋', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="华文仿宋"><normal>net/sf/jasperreports/fonts/dejavu/STFANGSO.TTF< /normal><bold>net/sf/jasperreports/fonts/dejavu/STFANGSO.TTF</b old><italic>net/sf/jasperreports/fonts/dejavu/STFANGSO.TTF< /italic><boldItalic>net/sf/jasperreports/fonts/dejavu/STFANGSO. TTF</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'华文仿宋', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'华文仿宋', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="华文宋体"><normal>net/sf/jasperreports/fonts/dejavu/STSONG.TTF</n ormal><bold>net/sf/jasperreports/fonts/dejavu/STSONG.TTF</bol d><italic>net/sf/jasperreports/fonts/dejavu/STSONG.TTF</i talic><boldItalic>net/sf/jasperreports/fonts/dejavu/STSONG.TT F</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'华文宋体',Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'华文宋体', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="华文中宋"><normal>net/sf/jasperreports/fonts/dejavu/STZHONGS.TTF< /normal><bold>net/sf/jasperreports/fonts/dejavu/STZHONGS.TTF</b old><italic>net/sf/jasperreports/fonts/dejavu/STZHONGS.TTF< /italic><boldItalic>net/sf/jasperreports/fonts/dejavu/STZHONGS. TTF</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'华文中宋', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'华文中宋', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><!--window下环境的中文字体--><fontFamily name="宋体"><normal>net/sf/jasperreports/fonts/dejavu/songti.ttc</n ormal><bold>net/sf/jasperreports/fonts/dejavu/songti.ttc</bol d><italic>net/sf/jasperreports/fonts/dejavu/songti.ttc</i talic><boldItalic>net/sf/jasperreports/fonts/dejavu/songti.tt c</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'宋体', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'宋体', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="仿宋"><normal>net/sf/jasperreports/fonts/dejavu/fansong.ttc</ normal><bold>net/sf/jasperreports/fonts/dejavu/fansong.ttc</bo ld><italic>net/sf/jasperreports/fonts/dejavu/fansong.ttc</ italic><boldItalic>net/sf/jasperreports/fonts/dejavu/fansong.t tc</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'仿宋', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'仿宋', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="华文仿宋"><normal>net/sf/jasperreports/fonts/dejavu/STFANGSO.ttc< /normal><bold>net/sf/jasperreports/fonts/dejavu/STFANGSO.ttc</b old><italic>net/sf/jasperreports/fonts/dejavu/STFANGSO.ttc< /italic><boldItalic>net/sf/jasperreports/fonts/dejavu/STFANGSO. ttc</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'华文仿宋', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'华文仿宋', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="华文宋体"><normal>net/sf/jasperreports/fonts/dejavu/STSONG.ttc</n ormal><bold>net/sf/jasperreports/fonts/dejavu/STSONG.ttc</bol d><italic>net/sf/jasperreports/fonts/dejavu/STSONG.ttc</i talic><boldItalic>net/sf/jasperreports/fonts/dejavu/STSONG.tt c</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'华文宋体', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'华文宋体', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily><fontFamily name="华文中宋"><normal>net/sf/jasperreports/fonts/dejavu/STZHONGS.ttc< /normal><bold>net/sf/jasperreports/fonts/dejavu/STZHONGS.ttc</bold><italic>net/sf/jasperreports/fonts/dejavu/STZHONGS.ttc< /italic><boldItalic>net/sf/jasperreports/fonts/dejavu/STZHONGS. ttc</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'华文中宋', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'华文中宋', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily>三.将以上打成jar包,并放到项目的lib的jar包类路径下.四.注意。
iReport创建数据库连接找不到驱动现象:在创建数据库连接时,一直报错:ClassNotFound,如图所示:解决方法:在目录C:\Program Files\Jaspersoft\iReport-5.0.4\platform9\lib加入数据库连接JAR包后重启iReport。
iReport创建报表后,中文在PDF预览时无法显示现象:在创建报表后,选择iReport内置浏览器中文显示正常,但是选择PDF 浏览中文就不显示。
解决方法:1、添加jar包,进行配置:在【工具】-【选项】-【classpath】-【Add JAR】添加iTextAsian.jar。
2、在各个显示中文的组件属性中Text properties(font setting):font name:宋体PDF font name:STSong-LightpdfEncoding:UniGB-UCS2-H (Chinese Simplified)Pdf Embedded不勾选3、在程序中引用iTextAsian.jar。
iReport创建子报表后,子报表在预览时无法显示现象:在创建子报表后,选择浏览,子报表显示不出来,但是单独显示子报表是能显示的。
解决方法:子报表加入主报表后,需要在子报表属性中定义以下参数,从而将子报表与主报表关联起来。
如图:iReport创建报表,如何为PDF FONT NAME添加字体现象:在创建中文报表时,Pdf Font name支持中文的字体有限,如何扩展外部字体并内嵌到PDF中使英文版的Adobe Reader也能够正常显示。
解决方法:1、将系统下相应的中文字体放到一个目录中,这里我放在安装目录iReport-5.0.4\ireport\fonts中,并将该目录添加到Classpath中,工具——选项——iReport——Classpath。
如图:2、工具——选项——iReport——Fonts中,将字体目录选中,如图:3、PDF Encoding设置中,自带字体要用UniGB-UCS2-H,外部字体要选Identity-H。
iReport5.6 中文字体输出到PDF解决方案。
iReport默认自带中文字体只有宋体,而且没有粗体,这样不能满足中文报表的需求,需要自己装字体。
下面一步步来做吧。
以微软雅黑为例:1.在c:\windows\fonts\找到微软雅黑的字体,拷贝到C:\Program Files (x86)\Jaspersoft\iReport-5.6.0\ireport\fonts\下面,它是两个文件,一个是正常,一个是粗体。
2.打开ireport。
工具-选项菜单。
在ireport选项卡中,找到font.点击添加。
确定后,就好了。
3.把下面表格,的几个栏目打勾,没有的,到classpath添加(旁边的classPath)。
4.退出iReport,重新进,在pdf font name中,你就能找到你要的字体啦!pdfEncoding,选择或者下面一个。
下面一个表示垂直,水平排列字体。
根据需要。
这样导出的pdf的字体,就按你想要的字体显示了。
注意粗体也是要有对应的字体。
Pdf导出和你在ireport的无关。
5.我们项目中,还不能正常显示,还会报错。
需要导出jar和字体一起拷贝到项目中。
(待续,还没找到方法)6.用jar.exe 压缩字体文件。
Jar cf msyh.jar msyh.ttf。
Jar.exe 在C:\ProgramFiles\Java\jdk1.7.0_80\bin里可以找到(Program Files有可能是Program Files86)。
7.把msyh.jar放到“C:\Program Files\Java\jdk1.7.0_40\jre\lib\ext”下(测试发现C:\ProgramFiles\Java\jdk1.7.0_40\bin下面也有文件)。
C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\JavaBridge\WEB-INF\lib下也有jar文件这个三个文件夹都放一下吧。
注明:$V{PAGE_NUMBER}表示当前是第几页,在textfield的选项Evaluation time选Report是共几页,now表示当前页。
页码可在ireport里直接设置。
iReport报表开发中遇到的问题:1.报表工具栏中T:不会变动的文字F:程序传过来的文字字段2.在网页上预览报表什么内容也不显示解决方法:编辑-》报表属性-》More…-》在“如果没有数据时:后面的下拉菜单中选ALL sections,no detail”如果没有数据时:后面的下拉菜单中的几个选项的意思分别是:NO pages【当detail中没有数据时没有页显示】Blank page【当detail中没有数据时出现一个空白页面】ALL sections,no detail【但detail中没有数据时会显示detail以外的东西】No-date section【】3.Detail和columnFooter之间总是有一点空白解决方法:从iReport工具列设定【预览】-》【报表属性】打开【More…】-》【Floating colu】打勾columnFooter就会和detail在一起了。
4.报表中detail循环部分内容的显示格式报表中detail循环部分内容的显示格式与报表属性-》Page Margin-》下边界的大小有关。
比如detail中有两列,当数据将第一列填充满时(根据detail页面大小)会将数据自动填充到第二列(detail页面大小能决定什么时候第一列能被数据填充满)多条数据在detail中填充的时候是按照页面给显示数据所留大小填充的控制显示多少行数据的时候严格按照页面能显示多少条数据来作出判断,按照条件显示的控件在不显示的时候仍然占据页面位置。
5.文字框Common选项卡:Print when expression属性里是Boolean类型代表此字段的显示与否内容一般是:new Boolean(结果是boolbean类型的表达式)6.文字框中Font选项卡字体选择是成套的才能正确显示:(1)Font Name:选宋体PDF Font Name:选STSong-LightPDF Encoding:选UniGB-UCS2-H(Chinese Simplified)(2)引用外部字体如隶书将字体文件放入iReport安装目录的fonts文件夹下7.动态文字框中Text Field选项卡:中间有个【复选框Blank where null】表示:当此文本框内容为空时是否显示null。
我相信和我一样大家在使用ireport进行报表设计过程中会遇到各种各样的问题尤其是对于新手刚学习ireport本人在今天就遇到一个问题就是昨天能够运行的程序,今天就不行了自己弄了半天一直出现:net.sf.jasperreports.engine.JRException:Error retrieving field value from bean:atnet.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbs tractBeanDataSource.java:116)atnet.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstr actBeanDataSource.java:93)atnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBea nCollectionDataSource.java:104)atnet.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java: 791)at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:755) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1019)atnet.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.j ava:126)at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:758)at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:685)at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)atnet.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java: 601)at.hlju.oa.kygl.action.ILabRDSystemCodeAction.executeBusiniess(ILabRDSystem CodeAction.java:93)at .hlju.oa.kygl.action.GeneralAction.process(GeneralAction.java:109)at .hlju.oa.kygl.action.GeneralAction.doPost(GeneralAction.java:89)at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:269)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:188)at .hlju.oa.kygl.util.IDChecker.doFilter(IDChecker.java:37)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:188)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 213)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 172)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:10 8)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)atorg.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConn ection(Http11BaseProtocol.java:665)at.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:5 28)at.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorke rThread.java:81)atorg.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:6 89)at ng.Thread.run(Unknown Source)Caused by:ng.NoSuchMethodException:Unknown property''atmons.beanutils.PropertyUtils.getSimpleProperty(PropertyUtils.java: 1157)atmons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.java: 754)atmons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:783) atnet.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbs tractBeanDataSource.java:104)...32more这种错误后来才发现自己从新新建了一个数据源,问题就出现在数据源这只要在ireport中点击找到你自己的数据源更改一下就搞定了。
pdf编辑文字字体不一样怎么修改
对于有强迫症的朋友来说,看到有不整齐的东西、不规范的东西,总会有些想要更正它的冲动吧?就好像小芹,若是看到PDF文件中的字体不一、颜色不一、大小不一,就会管不住自己,必须要将它给更正过来!说到这里,小芹今天就来为大家分享一个关于PDF文件的实用技巧吧,那么你知道PDF编辑文字字体不一样怎么修改吗?
接触过PDF文件的小伙伴应该都知道,要修改PDF文件中的内容,我们必须要安装专门的编辑器,这样才能修改PDF文件。
网上可以搜索到很多的PDF编辑器,很多软件都挺简单的,大家可以自行上网尝试操作一下。
今天,小芹就以迅捷PDF编辑器为例,介绍一下操作的方法。
打开软件之后,你会看到下图中所示的这个界面,很简洁的界面,首先,我们点击左上角的打开按钮,将需要编辑的PDF文件给添加进来,这样,这个文件中的内容就会显示到下方的窗口中了。
想要编辑PDF文件中的内容很简单,先点击上方的工具,之后会出现下滑窗口,在这些下滑窗口中,我们依次点击内容编辑、内容编辑工具,在接下来出出现的窗口中,我们勾选上仅文本就可以了。
因为我们这里需要编辑的只是文件中的文字字体,就直接选择文本,如果你还想要对其中的图片等信息进行编辑的话,也可以勾选上全部内容。
小芹当初之所以会选择这款迅捷PDF编辑器,主要就是因为它的操作简单了,不知道看完小芹上述的介绍,你觉得我的推荐如何呢?。
pdf字体乱码的解决方法概述说明以及解释1. 引言1.1 概述本篇文章旨在探讨解决PDF字体乱码问题的有效方法。
随着信息技术的快速发展,PDF已成为一种广泛应用于电子文档交流和存储的常见格式。
然而,由于不同系统、软件和设备之间的差异,有时会出现PDF字体乱码的情况,给用户带来不便。
因此,了解和解决这一问题对提高用户体验和文档可读性具有重要意义。
1.2 文章结构本文将分为四个部分进行论述。
首先,在引言部分将简要概述文章内容,并介绍各部分的组织结构。
其次,在正文部分将详细讨论PDF字体乱码问题的定义和原因。
然后, 提供几种主要的解决方法:安装正确的字体、使用PDF编辑工具修复字体乱码问题、转换PDF文件格式以及在线字体修复工具。
最后,在结论部分对这些解决方法进行总结评价,并探讨可能存在的限制和局限性,同时展望未来解决PDF字体乱码问题的发展方向。
1.3 目的本文旨在为遭遇PDF字体乱码问题的读者提供一些实用有效的解决方法。
通过了解字体乱码问题的原因和解决方案,读者将能够更好地处理类似的情况并确保文档在不同设备和系统上都能正确显示。
此外,本文还将为相关研究、软件开发和技术改进提供参考,推动PDF字体乱码问题解决方法的进一步发展。
2. 正文:2.1 什么是PDF字体乱码PDF字体乱码是指在打开或查看PDF文件时,文字内容无法正确显示或变成了乱码或方框等符号。
这种情况常常发生在跨平台或跨系统查看PDF文件时,尤其是当文件中使用的字体在系统中不存在或未正确嵌入到PDF文件中时。
2.2 导致PDF字体乱码的原因导致PDF字体乱码的原因有多种可能。
首先,如果PDF文件中使用的字体没有被嵌入到该文件中,而只是依赖于系统中存在的字体,则在不同系统上打开该文件时就会导致字体无法正常显示。
其次,如果所用的字体缺失、损坏或过期,也会导致相应的乱码问题。
此外,在转换或创建PDF文件时选择不正确的设置、选项或工具也可能造成字体乱码。
pdf嵌⼊字体问题刚提交完⼩论⽂,真是被IEEE的格式要求给整急了。
眼看要到截⽌时间了,发现返回消息是 pdf中有字体为嵌⼊,拒绝提交。
本⼈是⽤word转pdf的。
按照⽹上的各种⽅法,都没找到作者所说的⼀些菜单在哪。
最后发现有两种⽅法可以解决!1. 判断pdf字体是否全部嵌⼊⽅法: CTRL+D ->出现的界⾯⾥⾯有个字体,然后看每个字体后⾯是不是写了“已嵌⼊⼦集“,没标明的说明该字体没有被嵌⼊到pdf.2.解决办法:⽅法⼀:⽤福昕阅读器将word转pdf,然后,⽂件-》打印,但是要注意调节页⾯尺⼨。
⽅法⼆:这是我⽤的⽅法。
修改配置⽂件。
⽤abode修改,要改两个地⽅: “”C:\ProgramData\Adobe\Adobe PDF\Settings“” ⽬录下(该⽬录对应你们C盘下⾯的abode安装路径)的Standard.joboptions ⽂件,⽤Notepad可以打开,然后把你的pdf为嵌⼊的字体从NeverEmbed 下⾯删除,再保存。
第⼆处是“D:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Settings”“”。
我是将abode安装在d盘。
将C盘修改后的Standard.joboptions⽂件替换该⽬录下的该⽂件。
然后,⽤abode打开pdf⽂件,点击菜单栏的⽂件-》打印,打印机⼀栏选择abode pdf , 然后点击旁边的属性,点击默认配置旁边的设置,进⼊点击字体,然后查看“”从不嵌⼊“”⼀栏下⾯是否还有你之前删的字体,若有,说明每修改配置⽂件成功,若没有。
,那就可以了。
返回再选择页⾯尺⼨,⼀般会议要求us letter ,所以此处选择letter。
再打印就可以了。
打印完成后,通过CTRL+D查看字体是否已经全部嵌⼊!。
pdf字体变清晰PDF 字体变清晰PDF(Portable Document Format,可移植文档格式)是一种广泛使用的文件格式,它能够在不同操作系统和设备上显示文档,而且格式不会受到影响。
然而,有时在打开 PDF 文件时,我们可能会发现字体显示不清晰,导致阅读体验不佳。
本文将探讨几种常见的方法来解决PDF 字体模糊的问题,以使阅读更加舒适。
1. 使用高品质的 PDF 文件首先,确保你所使用的 PDF 文件本身就是高品质的。
有时,如果原始文件质量低或转换为 PDF 的过程中缺少必要的调整,导致生成的PDF 文件存在字体模糊的问题。
如果你是 PDF 文件的创建者,可以尝试以下方法来生成高品质的 PDF 文件:- 使用高分辨率图片:如果在 PDF 文件中包含图片,确保使用足够高的分辨率,以保证图片和字体的清晰度。
- 使用合适的压缩:在生成 PDF 文件时,选择适当的压缩方法,以避免过度压缩导致的字体模糊问题。
- 导出为可编辑文本:如果原始文件是可编辑的文本文档,尽量导出为可编辑的 PDF 文件,而不是通过截屏或扫描生成的 PDF。
2. 在 PDF 阅读器中调整显示设置无论你是使用 Adobe Acrobat、Foxit Reader 还是其他 PDF 阅读器,在这些软件中都提供了调整显示设置的选项。
通过以下步骤可以尝试改善 PDF 字体的清晰度:- 打开 PDF 文件:在你的 PDF 阅读器中打开 PDF 文件。
- 进入显示设置:在工具栏或菜单栏中找到“显示”、“显示设置”或类似的选项,点击进入。
- 调整平滑度:在显示设置中,尝试调整“平滑度”或“字体平滑”选项。
一些PDF 阅读器提供了不同级别的平滑度选择,你可以逐个尝试,找到最适合你的设置。
注意,增加平滑度也可能导致字体稍微变粗,所以要找到一个平衡点。
- 改变分辨率:在显示设置中,有些阅读器可以更改显示的分辨率。
尝试使用更高的分辨率,看是否能够改善字体的清晰度。
Jasperreport+iReport生成PDF字体问题
1.将iTextAsian.jar复制到iReport安装目录\ireport\libs下,运行iReport,工具-->选项-->iReport:Classpath中,将iTextAsian.jar包导入。
完成后,在属性里面设置Pdf font name: STSong-Light; pdf Encoding =UniGB-UCS2-H;(Pdf Embedded复选框选不选上都一样),一般的中文字体就可以在pdf中正常显示了。
注意:虽然在iReport3.7中,PDF font name 和pdf Encoding两个属性已被声明过时(Deprecated),但实际上还是必须得设置正确,否则编译任然出错。
2.项目中还需要用到宋体之外的字体,即黑体和华文新魏(iReport中默认有这些字体,但却不能用于pdf中,在PDF Font name下就只有STSong-Light 可用,而且加粗、斜体等效果在pdf中都无效),则做好上述设置之后,还需要在做如下设置:
1)将要用的字体文件拷贝到安装目录\ireport\fonts 中。
2)工具-->选项-->iReport:Classpath中,将刚才的字体目录引入。
3)工具-->选项-->iReport:Fonts中,将刚才的字体目录和包引入。
4)完成后,重启一下iReport,在文字属性中的Pdf font name中就可以看到相应的名字,选择字体后,设置Pdf Embedded打勾和Pdf Encoding 为Identity-H(Unicode with horizontal writing),在iReport中预览(用Adobe pdf Reader预览)可以看到一切都OK了,iReport配置完毕。
3.用Jasperreport生成报表还有一个问题,项目找不到字体,会一直抛异常,解决方法如下:
1)将刚才iReport中引入的fonts文件夹复制到项目的根目录下。
2)右键点自己项目-Properties-Java Build Path,选Libraries选项卡,点Add Class Folder,选择刚才复制进来的fonts文件夹,点OK。
最重要的一点,别忘了先确保要安装的字体在本机上必须先安装,即把ttf字体文件拷贝到C:\Windows\Fonts目录下,保证文件名称都一致即可。