java - 在 Java 应用程序中使用自定义字体时出现打印问题

标签 java swing pdf fonts embedded-fonts

我在 Java 应用程序中使用自定义字体 (TTF),将字体设置为图形并执行一些 DrawText 操作。

目前我使用 Font.createFont() 加载自定义 TTF 字体。但是当我尝试将图形 Canvas 打印到虚拟 PDF 打印机(PDFCreator 虚拟打印机)时,只有 Windows 中安装的字体才是实际文本。我加载的自定义字体在打印时被光栅化。因此,我的自定义字体文本在生成的 PDF 中无法选择。

有什么办法可以避免这种情况吗?有谁知道将安装的字体设置到 Canvas 和将使用 Font.CreateFont 创建的自定义字体设置到 Canvas 有什么区别。

最佳答案

我认为没有办法解决这个问题。它位于虚拟 PDF 库中的某个位置。它尝试使用字体进行渲染,如果字体不可用,则会绘制字母。

根据我使用 IText 的经验,您可以将自定义字体添加到生成的 PDF 中。因此尝试使用其他 PDF 生成器。

关于java - 在 Java 应用程序中使用自定义字体时出现打印问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256198/

相关文章:

java - 无法知道标准 JButton 的大小

java - 为什么当我按下 JFrame 时,焦点永远不会从我的组件中丢失?

iphone - 通过iPhone中的Web服务上传pdf文件(从文档目录)吗?

android - 在应用程序中集成 MuPDF Reader

java - Optaplanner - benchmarkConfigResource 不作为类路径资源存在于类加载器中

java - 通配符 java 扩展

java - 将字符串写入 jTextField 问题

java - 如何使用 Apache PdfBox 获取 PDF 文件中的书签页码?

java - 在 JList 上使用 setVisibleRowCount 和 setLayoutOrientation 出现意外结果

pdf - Adobe API 将 Office 文档转换为 PDF