使用iText / XMLWorker示例(大多数是 this one),我可以轻松编写能够使用我自己的额外字体从HTML代码创建PDF文件的简单应用程序,但是只要尝试在某些Web服务代码中使用我的东西,我就会以异常结束喜欢:

Table 'name' does not exist in file:/C:/work/MyServer/target/classes/fonts/My%20Font.ttf

ExceptionConverter: com.itextpdf.text.DocumentException: Table 'name' does not exist in file:/C:/work/MyServer/target/classes/fonts/My%20Font.ttf

…似乎指出在Web服务上下文中,无法按预期加载字体文件.这是我的大部分代码:

public HtmlRenderer(final String css, final String[] fontPaths) {

// fontPaths = {

// "/fonts/My Font.ttf",

// "/fonts/My Other Font.ttf",

// ...

// };

// CSS

cssResolver = new StyleAttrCSSResolver();

if (css != null) {

final CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(css.getBytes()));

cssResolver.addCss(cssFile);

}

// HTML

XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);

if (fontPaths != null) {

for (final String fontPath : fontPaths) {

final String path = this.getClass().getResource(fontPath).toExternalForm();

fontProvider.register(path);

}

}

CssAppliers cssAppliers = new CssAppliersImpl(fontProvider);

htmlContext = new HtmlPipelineContext(cssAppliers);

htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());

...

我应该依赖这样的事情:

>从临时文件中的资源中提取字体(参见here)

>然后,在自定义字体工厂中预加载字体(参见there)

谢谢您的帮助!

创建pdf java 字体_如何使用自定义字体从servlet使用iText XMLWorker创建PDF?相关推荐

  1. java jsp生成pdf_如何使用jsp、servlet输出iText生成的pdf

    使用itext生成pdf 如果每次都在服务端生成一个PDF文件给用户,不仅麻烦,而且浪费服务器资源,最好的方法就是以二进制流的形式输送到客户端. 1)JSP输出: response.setConten ...

  2. Java操作poi导出Excel自定义字体颜色

    Java操作poi导出Excel自定义字体颜色 功能介绍 POI操作Excel 第一步创建一个导出的工具类 整体定义表格字体样式 自定义表格字体样式 总结 功能介绍 Apache POI 是用Java ...

  3. pdf java解析_用java如何解析pdf文件

    展开全部 一.前言 在企业的信息系统中,报表处理一直占比较62616964757a686964616fe4b893e5b19e31333262343161重要的作用,本文将介绍一种生成PDF报表的Ja ...

  4. java引入外部字体_Java中如何自定义字体文件(引用外部字体)?-字体文件

    图源来自网络 有时候我们在程序中,会使用到Java字体,但不是所有的字体系统中都会有,我们就可能会使用外部自定义字体,这样在程序迁移部署中就会少些工作,最近在一个项目中使用到了自定义字体文件,理顺了, ...

  5. IntelliJ IDEA for Mac 如何创建普通的Java项目_创建项目_新建项目

    文章目录 创建 Java 新项目的流程 普通 Java 项目结构 Java 项目结构特例讲解 创建 Java 新项目的流程 Create New Project Empty Project (1)选择 ...

  6. power bi自定义地图_如何使用自定义形状图在Power BI中创建地理图

    power bi自定义地图 介绍 (Introduction) This is the third article of a series dedicated to discovering geogr ...

  7. Android加载自定义字体出错,Android设置自定义字体的解决方案

    找了很多解决方案,但是都会报错,只好边借鉴着前辈们的思路,边自己尝试改代码了QWQ 前面准备:要先把使用的字体文件放入到工具中 新建一个名叫assets的文件夹,然后把字体文件复制到里面,如图 成功放 ...

  8. drawboard pdf拆分文件_请收藏!这是一份最全的PDF问题解决方案。

    晚上好呀,我是大梦. 最近因为赶书稿和论文缘故,时常要翻看许多PDF文件,复制摘录写东西,忽然发现好不方便,从PDF复制过来的文字到Word中变成了乱码?一些扫描版PDF根本无法复制而且还留有许多白边 ...

  9. android 开发 字体,Android开发使用自定义字体的实现方法

    释放双眼,带上耳机,听听看~! 1.Android系统默认支持三种字体,分别为:"sans", "serif", "monospace 2.在Andr ...

最新文章

  1. RepeatMasker安装和使用——基因组重复序列注释
  2. BurpSuite实例教程讲解
  3. 送餐机器人---取餐完成的确认方式
  4. HTML/CSS——PC端博文尚美网页
  5. 介绍一下 information_schema 库
  6. css3帮你轻松实现圆角效果,不一样的前端页面。
  7. SQL Server 筛选时间区间
  8. 【Machine Learning 五】Coursera无法观看课程解决方案
  9. 转载:XPath基本语法
  10. 药大保研计算机要求,药物分析专业保研经验贴
  11. POI导出Excel换行
  12. QCOM chi-camera bring up
  13. 数字孪生城市,智慧城市可视化技术解决方案案例
  14. 3款移动应用数据统计分析平台对比
  15. SAS系统从入门到放弃?不能放弃,它是数据科学家必备技能
  16. 1259_STM32CubeProgrammer的简单使用
  17. 目标跟踪:在视频序列中跟踪特定对象的位置和状态
  18. iOS二维码代码实现
  19. Meter应用中对于中文乱码的主要解决方法(转)
  20. simulink中detailed thyristor和thyristor的区别(针对latching current和turn-off time的对比仿真)

热门文章

  1. 远程GPU服务器运行Python
  2. linux 强制类型转换,转载 指针强制类型转换
  3. 苹果macbook air安装win7系统详细图解
  4. 2021牛客多校1 H hashfunction FTT/NTT,数论
  5. Allegro如何导入高清Logo、二维码、防静电标识等图片以及汉字
  6. Drozer – Android APP安全评估工具(附测试案例)
  7. 大数据之Hadoop学习——动手实战学习MapReduce编程实例
  8. 【MODIS数据处理#13】使用Arcpy一键加工长时间序列MODIS数据
  9. 【将图片格式转换为调色盘模式——语义分割】
  10. 性能测试和优化实录(mybatisplus异步写库@Async引起的对象无法释放问题)