首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDFBox IllegalArgumentException:字体font中没有字形

PDFBox是一个用于处理PDF文件的Java库。在使用PDFBox时,有时会遇到"IllegalArgumentException:字体font中没有字形"的错误。

这个错误通常是由于PDF文件中使用了某种字体,而该字体在系统中不存在或者缺少字形信息导致的。字形信息是指字体中每个字符的具体形状和轮廓。

解决这个问题的方法有以下几种:

  1. 检查字体是否存在:首先,需要确认系统中是否安装了PDF文件中使用的字体。可以通过查看操作系统的字体管理工具或者字体文件夹来确认。如果字体不存在,可以尝试安装相应的字体。
  2. 替换字体:如果字体不存在或者缺少字形信息,可以尝试替换为系统中存在的字体。可以使用PDFBox提供的字体替换功能,将PDF文件中的字体替换为系统中的字体。
  3. 更新PDFBox版本:有时,这个错误可能是由于PDFBox版本过旧或者存在bug导致的。可以尝试更新PDFBox到最新版本,以获得更好的兼容性和稳定性。
  4. 联系PDF文件的创建者:如果以上方法都无法解决问题,可以尝试联系PDF文件的创建者或者提供者,询问是否可以提供修复后的PDF文件或者其他解决方案。

总结起来,当遇到"IllegalArgumentException:字体font中没有字形"错误时,可以通过检查字体是否存在、替换字体、更新PDFBox版本或者联系PDF文件的创建者来解决问题。

腾讯云相关产品中,与PDF处理相关的产品是腾讯文档服务(Tencent Document Service),它提供了丰富的API接口,可以实现PDF文件的转换、编辑、合并等功能。具体产品介绍和文档可以参考腾讯云官方网站的腾讯文档服务页面:https://cloud.tencent.com/product/tcs

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

网络字体@font-face 如何处理网页的特殊字体

作为前端开发的人员都知道,在自己电脑上安装字体查看网页没有什么作用,因为网页会上传到服务器,访问网站的用户电脑上不一定会有这种字体,除非在客户端安装这个字体,才能保证每个用户网页能够正常显示。...我们可以使用该属性进行自定义字体的设置,换句话说,使用它之后,我们就能够在网络自由的使用自定义字体,先来看其基本的语法: @font-face { font-family: <YourWebFontName...第一步设置的是font-family的名字,在这里设置好之后。网页哪个部分需要使用这种字体,就输入font-family(对应的名字)即可。...format是用于提示该资源 URL 所引用的字体格式,如果浏览器在本地没有找到这种字体,那么会将url设置的字体加载到页面当中。设置自定义网络字体,必须设置src以及font-family。...接下来就为大家介绍解决的方法:我们完全可以把网页中出现的特殊字体提取出来,把没有必要的去除掉,制作一个精简版的字库供网页使用。 此时会使用到font creator 软件。

7K50

SpringBoot 下PDF生成使用填坑总结

文件夹 路径访问的形式引入,SpringBoot打包后,经测试,无法获取打包后的FONT字体; 则,再另辟途径,又找到以Document方式,但document需要的是,没一个dom对象都必须一个个添加进去...-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --> org.apache.pdfbox...for CID-keyed font STSong-Light 注意:其中font部分在Linux和Mac系统下显示特殊字符。...://blog.csdn.net/kea_iv/article/details/103734279 上述方案引入字体库公司不支持,原因:对运维同学不友好。...第二种通过映射关系解决中文不显示的尝试过,没有作用。 这也不行,那也不行,那到底怎么办。 最后延用解决生成pdf的思路,解决字体问题,结果没想到成了。

4.6K30
  • java 利用 pdfbox 实现PDF转为图片

    1.引用jar包 org.apache.pdfbox pdfbox...,改为取项目里的字体文件(使用 pdfbox 转图片时的方法,使用 icepdf 请自行研究) * 2.如果后续遇到乱码的问题,查看日志看看缺少什么字体,然后将字体文件上传到项目的 src/main...想想还是研究研究 pdfbox 的源码吧,分析后发现它是根据不同系统来读取字体的文件夹的,然后一个同事建议我重写读写 Linux 系统文件的类,指向我们项目的文件夹,然后在项目新建一个文件夹来存放需要的字体...Fonts/", "/System/Library/Fonts/", "/Network/Library/Fonts/" Windows: C:\Windows\Fonts 说干就干,将目录指向我新建的font...需要注意的是,后面如果pdf有用到新的字体,就需要将对应的字体下载下来,放到该目录下。

    3.7K10

    Matplotlib 中文用户指南 4.4 默认字体

    ' 默认字体,例如'normal','italic' 'font.variant' 默认变体,例如'normal','small-caps'(未测试) 'font.stretch' 默认拉伸'normal...','condensed'(未完成) 'font.weight' 字体粗细,可为整数或字符串 'font.size' 默认字体大小(以磅为单位)。...非拉丁字形文本 从 v2.0 开始,默认字体包含许多西方字母的字形,但仍然没有覆盖 mpl 用户可能需要的所有字形。 例如,DejaVu 没有覆盖中文,韩语或日语。...要将默认字体设置为支持所需代码点的字体,请将字体名称添加到font.family或所需的别名列表前面。...matplotlib.rcParams['font.sans-serif'] = ['Source Han Sans TW', 'sans-serif'] 或在.matplotlibrc文件设置: font.sans-serif

    98410

    Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页的文字,而网页的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的。...实际上,整个字体文件没有任何地方是说明 EA0B 对应的真实值是啥的。...爬虫爬取的时候,下载字体文件,根据网页源码的编码,在字体文件中找到“字形”,再循环跟 base.woff 文件的“字形”做比较,“字形”一样那就说明是同一个字了。...这里的前提是每个字体文件中所定义的“字形”都是一样的(猫眼目前是这样的,以后也许还会更改策略),如果更复杂一点,每个字体的“字形”都加一点点的随机形变,那这个方法就没有用了,只能祭出杀手锏“OCR”了...下面是完整的代码,抓取的是猫眼2018年电影的第一页,由于主要是演示破解字体反爬,所以没有抓取全部的数据。

    1.3K10

    Unity-Optimizing Unity UI(UGUI优化)04 UI Controls

    在Unity组件的文本经根据使用字符进行创建图集。 每个不同Font对象将保留自己的纹理图集,即使它与另一种字体在同一字体系列。...在触发图集重建的时候,当前没有活动的UI Text组件的字符将不会出现在新图集中,即使它们通过Font.RequestCharacterInTexture加入到了新图集。...Fallback fonts and memory usage(备用字体与内存使用) 对于需要使用大量字符的程序,在字体导入设置的"Font Name"输入框列出大量的字体名称。...任何在fonts lsit中将加载到内存,如果首选字体没有,将在备用字体在FontName查找。...然而为了支持这个方法,Unity将在Font Names的文本加载到了内存,如果字体元素很大,那么通过回调函数得到的字体将很大。这种情况经常出现在含有象形文字时。

    3.5K20

    一次让字体看起来更像手写体的尝试

    (其实实际并不是等宽,我还没有想好如何在 iFontMaker 制作一个实际的等宽字体) image.png 目标:在字体上做更多的字符变化 在上面的截图中,很明显可以看出这是一种字体,而不是实际的笔迹...有一个 Python 库叫 fonttools,这 5 行代码会把放在 rules.fea 的 OpenType 规则列表应用到字体文件 input.ttf 。...ttx 可以将 TTF 字体转换为 XML 文件,这对我很有用,因为我想重新命名我的字体的一些字形,但我对字体一无所知。...fonttools merge 可以让我把我的 3 个手写字体合并成 1 个,这样我就在 1 个文件得到了我需要的所有字形。 代码 我把我的极潦草的代码放在一个叫 font-mixer 的存储库里。...不过我还是不知道如何做出更逼真的手写字体:)。我现在还在用旧的那个字体没有额外的变化),我对它很满意。

    95520

    PDF Explained(翻译)第六章 文本和字体

    0 Tf font, size Tf设置字体font, 字号为size。...文本字符串第一个字形的原点位于文本空间的原点。 有两种矩阵: 文本矩阵(Tm):定义了下一个字形的变换方式。可以通过文本定位操作符和文本显示操作符进行修改。...下表,*为必选项, **为14种标准字体以外的字体必选 key 值类型 值 /Type* 名称 必须是/Font /Subtype* 名称 必须是/Type1 /BaseFont* 名称 字体的PostScript...该字体共有256个字符,/Widths数组为每个字符提供宽度值。 字体编码 字体编码描述字符编码(内容流字符串的字符)和字体字形描述之间的映射。...我们需要如下步骤: 提取字体文件的各种细节–这些细节用于填写字体字典,字体度量和字体编码字典。 如果字体格式允许,则从相关字体文件删除这些细节,只留下字形描述–所有这些信息现在都在字体字典

    1.2K30

    面向程序员的 10 款开源字体,个个都是极品,你最喜欢哪一款?

    点击关注公众号,Java干货及时送达 出品 | OSC开源社区(ID:oschina2013) 在百花齐放的开源世界,开源字体属于较为小众的一个分支。...本文将为大家介绍开源字体或颇具特色,或制作精美,或独具匠心,或有深厚历史背景的作品。...这款字体充分考虑了长时间查阅代码可能导致的眼睛疲劳问题,以及与之相关的因素,比如字母的大小和形状、字形之间的空间量、自然等宽平衡、不必要的细节、以及难以区分的符号或字母(l 和 I)和连字等。...这款字体字形风格特别,它除了优化代码的可读性、让字母数字和符号更易辨认之外,最大的特点是支持编程连字 (Programming Ligatures),即在输入的时候,可以通过组合字符来创建新的字形。...Fira Code 是第一个提供专用字形来渲染进度条的编程字体: Fira Code 采用了开源字体许可证 SIL Open Font License,开源免费且可商用。

    24.9K34

    手把手教你用Java打造一款简单故事书(上篇)

    2.能够基本实现改变字号、字体字形、颜色、壁纸等选择,按钮页面切换功能。 3.java读取txt文件,简化代码。 三、项目实施 使用eclipse软件开发,先上效果图,如下图所示。...可以看到在界面上有可以改变字号、字体字形、颜色、设置选项的菜单栏,页面切换的功能。 ? 接下来,小编带大家进行具体的实现,具体的实现步骤如下。...、字形、颜色、设置) jb.add(fontsize); jb.add(font); jb.add(fontstyle); jb.add(color); jb.add(intall); 4.添加字号的...5.添加字体的宋体、黑体、楷体 font.add(song); font.add(hei); font.add(kai); 效果图如下图: ?...以上将字号、字体字形、颜色、设置添加到JMenuBar菜单栏字体里面的菜单项如黑体、宋体添加到菜单。其他字号、字形、颜色、设置添加组件也一样!

    84520

    Web 反爬虫实践与反爬虫破解

    写在前面 前不久公司的产品信息被竞品给爬了,之前竞品内没有这些信息,是我们独有的。后来发现突然就有了,而且和我们的产品信息一致,后来我们也找到了一些证据,证明是被爬了。...如果你在css内显示设置了这段内容的字体,那么就会在系统内查找该字体文件或者使用font-face (指定得网络字体文件),再按照文字的unicode码在字体文件内查找对应的字形,最终将该字形绘制到页面上...另外字体图标相信大家都用过,像iconfont、 font-awesome,其实原理是一样的。 下面便是一个字形,是从字体里提取的一个汉子的字形,然后转换为了svg ?...使用fontmin 将 svg转换为目标格式 eot、woff、ttf 字体 最后便是定义font-face,定义font-family class。...总结 本文主要是介绍下自己实际如何进行反爬虫以及反爬虫的实施方案。 目前Headless Browser这货这么牛逼,一般的反扒基本上都是纸老虎。

    2.2K11

    面向程序员的精品开源字体

    出品 | OSC开源社区(ID:oschina2013) 在百花齐放的开源世界,开源字体属于较为小众的一个分支。不过往往越是小众的领域,反而会诞生出更多惊艳的作品。...本文将为大家介绍开源字体或颇具特色,或制作精美,或独具匠心,或有深厚历史背景的作品。...这款字体充分考虑了长时间查阅代码可能导致的眼睛疲劳问题,以及与之相关的因素,比如字母的大小和形状、字形之间的空间量、自然等宽平衡、不必要的细节、以及难以区分的符号或字母(l 和 I)和连字等。...这款字体字形风格特别,它除了优化代码的可读性、让字母数字和符号更易辨认之外,最大的特点是支持编程连字 (Programming Ligatures),即在输入的时候,可以通过组合字符来创建新的字形。...作为一种编程字体,Fira Code 对 ASCII / 框绘图、电力线和其他形式的控制台 UI 具有出色的支持: Fira Code 是第一个提供专用字形来渲染进度条的编程字体: Fira Code

    1.1K10

    CSS 尺寸单位概述

    字体相对单位可分为两类:局部相对单位和根相对单位。 「局部字体相对单位」是相对于元素的font-size属性的计算值来计算大小的。...在使用多种字体时,请记住这一点。 零宽单位: ch 和 rch ch 和 rch 单位基于用于渲染的字体字形的宽度或高度进行度量。当文档的内联轴为水平轴时,计算基于其宽度。...X 高度和大写高度单位:ex/rex 和 cap/rcap 在字体设计,x-height是指小写字母 x 字形从基线测量的高度。...有些字体在向浏览器公开字体指标方面做得很差,或者缺乏可靠的指标。其他字体可能缺少小写 x 字形,或使用阿拉伯语等非拉丁字体。...中文、日文和韩文字体字形通常具有相同的宽度和高度。因此,对于这些字符集,ic 单位可以很好地将文本限制为每行特定的字形数。

    34310

    更换网站字体为鸿蒙字体

    这个字体对中文进行的优化,使得更加易读,系统字体区别于传统平面印刷字体,在智能终端的应用场景之中看起来非常干净利落,让用户阅读文字的时候更加方便....在西文字形设计方面,选用纯粹而经典的几何造型,直观醒目. 还有大开口造型处理,字形易认,辨识度更高。和其他字体相比起来,鸿蒙字体削弱了黑体的机械感,可以让用户明显感知到了字体笔画的优化....当时也没太注意,直到昨天在某群看到一个站点,点进去一看,感觉都不一样的,字体很是突出,真的让我明显感知到了字体笔画的优化,和其他字体相比起来,的确是削弱了黑体的机械感,字形易认,辨识度更高....cdn.jsdelivr.net/gh/irozhi/HarmonyOS-Sans/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Medium.woff2 最后打开样式文件添加以下代码: @font-face...{ font-family:HarmonyOS_Sans_SC_Medium;font-style: normal;font-display: swap; src: url('https

    6K10

    Fonts最佳实践

    如果你的服务器很慢,没有使用CDN,或者没有使用HTTP/2,那么自营字体的性能就不可能更好。...例如,一个网站可能不会向所有用户提供所有的字符,而是为拉丁文和西里尔文字符生成单独的子集字体。每种字体字形数量有很大的不同。...拉丁文字体字形数量通常在100到1000个之间;中日韩字体可能有超过10000个字符。移除未使用的字形可以大大减少字体的文件大小。...最佳做法 选择一个合适的字体显示策略 font-display告诉浏览器,当相关的网络字体没有加载时,它应该如何进行文本渲染。它是根据每个font-face定义的。...然而,在这些方法font-display: swap会使文本渲染延迟最少。因此,在文本最终被渲染成网络字体非常重要的情况下,它是首选方法。

    2.9K72
    领券