- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在过去的几个月里,我生成了数千个字体为 Courier 的 pdf(在开发时在 Windows 7 上,在测试和生产时在 OpenSuse 上)。
现在我的目标是使用 Arial。所以我在我们的属性文件中切换了字体名称,我得到了这个异常:
Stacktrace snippet: com.itextpdf.text.DocumentException: Font 'Arial' with 'Cp1252' is not recognized. at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:708) at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:615) at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:450)
在谷歌搜索了一段时间后,我找到了解决方案。我只需要在设置中使用“Arial.ttf”(如文件名)。但在那之后,我得到了另一个异常:
java.io.IOException: Arial.ttf not found as file or resource.
at com.itextpdf.text.io.RandomAccessSourceFactory.createByReadingToMemory(RandomAccessSourceFactory.java:224)
at com.itextpdf.text.io.RandomAccessSourceFactory.createBestSource(RandomAccessSourceFactory.java:173)
at com.itextpdf.text.pdf.RandomAccessFileOrArray.<init>(RandomAccessFileOrArray.java:147)
at com.itextpdf.text.pdf.TrueTypeFont.process(TrueTypeFont.java:625)
at com.itextpdf.text.pdf.TrueTypeFont.<init>(TrueTypeFont.java:369)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:699)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:615)
at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:450)
所以这里的提示是,itextpdf 正在寻找一个文件。所以我只是将文件名 C:\\Windows\\Fonts\\Arial.ttf
输入到我们的配置中。现在可以了!
但目标只是使用“Arial”作为字体名称。可能吗?
非常感谢!
最佳答案
不可能只使用名称 Arial,因为 Arial 并未列为 14 种标准 Type 1 字体之一(而 Courier 是这 14 种字体之一)。
如果你想使用 Arial,你总是需要引用 arial.ttf 文件,是的,这可能意味着你需要提供 c:/windows/fonts/arial.ttf
作为路径。
如果您想让您的应用程序独立于平台,您可以将字体作为资源随代码一起提供,并使用该资源的路径。
另一种解决方案是使用 FontFactory
并注册所有字体。请注意,注册字体的初始调用可能需要一些时间,因为 FontFactory
将在您的硬盘上搜索尽可能多的字体,查看可能包含字体文件的目录(取决于操作系统)。看看 FontFactoryExample并尝试使用 register()
、registerDirectory()
和 registerDirectories()
方法。
关于java - 无法识别带有 Cp1252 的 DocumentException Arial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18611762/
我有一些相当复杂的 CSS,但要点是我有这个: font-family: Arial, Sans-serif; font-size: 12px; font-weight: bold; 除了 norma
我的本应为 Arial Black 的文本在 Firefox 上无法正常工作。它只是显示为常规文本。所以我使用了带有 Strong 标签的 Arial 字体。我无法区分它们的外观。有什么我应该担心
在我的桌面页面上,字体系列:Arial;大于 Font-Family: Times New Roman;两个字体大小:50px; 但是,在我的移动设备上,“Times”字体看起来比“Arial”字体大
我使用的是大号 Arial 字体 - 40px Arial Bold。 我注意到它在 Windows 的 Chrome/Firefox 浏览器中无法准确呈现。它很接近,但有微妙的不同。将字体大小增加到
我在网站上使用了 Arial 斜体。我是这样做的: font-family: Arial; font-style:italic; font-weight:100; 在 Photoshop 中,Aria
“A”、“C”和“T”之间的间距比其他字母之间的间距宽。是什么原因造成的,我该如何解决? Activiteiten 这是我的
我注意到在我的 WPF 应用程序中有些数字比其他数字短一点。我使用的是 Arial 字体。数字是 1、2、4 和 7。 是否有可能使每个数字都达到同一水平? 最佳答案 字体是视觉元素。因此,它们不必在
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 社区在 12 个月前
Arial Black网路安全吗? 我已经读过它,但是当我将其放入字体声明中时,就得到了Times New Roman的支持。 有人知道为什么吗? 最佳答案 根据代码样式字体调查(实际上可能是最好的估
我正在考虑一个脚本,它可以将网页的字体外观从 Arial 更改为我选择的其他字体。 我应该怎么做? 我明白了:* { font-family: "SomeFont"; } 但这并不能实现只针对Aria
我最近更新了我的 body 标签 CSS font-family: Arial, Helvetica, san-serif; 到 font-family: Arial; 公元前我假设所有现代浏
在使用粗体 Arial 字体时,左侧会出现意想不到的边距(仅约 1 像素)。 参见示例:http://jsfiddle.net/be2EW/1/ HTML: ABC STU CSS: body {
我在 Firefox 上遇到了一个奇怪的问题。我有一个 元素有一些 在里面。 svg 相对于父级缩放。现在我注意到 Firefox 上发生了一些奇怪的事情用我的文字(特别是 Arial 字体)。基本上
我有一个带有据说是 Arial 的动态文本的 Flash 电影,在我的 Windows 机器中它显示为 Arial。但是当我在 Mac 上尝试它时,它显示为类似 Times New Roman 的东西
我被要求在 R 中使用 Arial 字体重做以下维恩图,但没有组名...看着 VennDiagram manual我不明白我该怎么做... 这是我的 MWE: #install.packages("V
我们有基于.NET WinForms的应用程序,并且有望在至少9种语言上运行,包括 英语 西类牙语 俄语 简体中文 繁体中文 韩语 日语 我们的应用程序应可在Windows XP(SP3),Vista
我有一个程序在 C# 中使用 PDFsharp 手动生成 PDF。虽然它相当乏味,但我必须使用它并且即将完成任务。只剩下一个问题。 问题:我想知道如何找出 Arial 中给定字体大小的给定字符的宽度。
我正在使用令人惊叹的新字体 Source Sans Pro作为我的基本字体(它确实质量很好,我受够了到处看到 Ariel)。 我的问题是,如果由于任何原因字体没有加载,并且由于字体大小的变化而恢复为
我的字体系列 CSS 规则有问题。 这是我的规则: font-family: "helvetica neue ultralight", Arial, serif; 我不明白的是为什么 Arial 字体
Arial 和 Helvetica 是 Windows Mac/Linux iOS 和 Android 设备的安全字体吗? 我做了一些测试,例如 Arial 和 Helvetica 没有在 Andro
我是一名优秀的程序员,十分优秀!