使用 PDFBox 将 UTF-8 编码字符串写入 PDF [重复]

2023-12-02

我在使用 PDFBox 将 unicode 字符写入 PDF 时遇到问题。下面是一些生成垃圾字符而不是输出“š”的示例代码。我可以添加什么来获得对 UTF-8 字符串的支持?

PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);

PDType1Font font = PDType1Font.HELVETICA;
contentStream.setFont(font, 12);
contentStream.beginText();
contentStream.moveTextPositionByAmount(100, 400);
contentStream.drawString("š");
contentStream.endText();
contentStream.close();
document.save("test.pdf");
document.close();

您正在使用 Adob​​e Reader 提供的内置“Base 14”字体之一。这些字体不是 Unicode;它们实际上是标准的拉丁字母,尽管有一些额外的字符。看起来你提到的字符,一个小写的 s 加上一个抑扬符 (š),在 PDF 拉丁语文本中不可用......尽管是大写的 Šis可用但奇怪的是仅在 Windows 上。请参阅 PDF 规范的附录 D,网址为http://www.adobe.com/devnet/pdf/pdf_reference.html了解详情。

不管怎样,言归正传……如果你想使用 Unicode 字符,你需要嵌入 Unicode 字体。确保您有权嵌入您决定使用的任何字体...我可以推荐开源Gentium or Doulos字体,因为它们是免费的、高质量的并且具有全面的 Unicode 支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PDFBox 将 UTF-8 编码字符串写入 PDF [重复] 的相关文章

  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • JavaFX - setVisible 隐藏元素但不重新排列相邻节点

    在 JavaFX 中 如果我有一个场景有 2VBox元素和每个VBox有多个Label in it 如果我设置顶部VBox to 无形的 为什么底部VBox 不向上移动顶部的场景VBox was The VBox is 无形的但我希望其他物
  • Java 变量的作用域

    我不明白为什么这段代码的输出是10 package uno public class A int x 10 A int x 12 new B public static void main String args int x 11 new
  • spring - 强制 @Autowired 字段的 cglib 代理

    我有混合堆栈 EJB 和 Spring 为了将 Spring 自动装配到 EJB 我使用SpringBeanAutowiringInterceptor 不确定这是否会影响我遇到的问题 在尝试通过以下方式自动装配 bean 时 Scope p
  • 场景生成器删除 fxml 文件中的导入

    我使用场景构建器 Gluon Scene Builder JavaFX Scene Builder 8 1 1 来创建应用程序的 UI 并使用 Eclipse 开发 JavaFX 现在 每次我在场景生成器中保存某些内容时 它都会从 fxml
  • 在 Android 中使用 iText 读取或打开 PDF 文件

    我是 Android 应用程序开发新手 使用 iText 我完成了 PDF 创建并在创建的文件上写入 现在我想阅读该 PDF 文件 如何使用 iText 打开或阅读 PDF 文件 例子将是可观的 那么提前 哪个是渲染 PDF 文件的最佳库
  • 如何在java中使jpeg无损?

    有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • 如何在 JavaScript 中从代理对构造 UTF-16 字符?

    以下计算 Unicode 代码点的 UTF 16 代理对 戴着医用口罩的脸 https emojipedia org face with medical mask 但是如何从代理对构造字符以在字符串中使用呢 const codepoint
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • 使用 Java 从 S3 上的文件在 S3 上创建 zip 文件

    我在 S3 上有很多文件 需要对其进行压缩 然后通过 S3 提供压缩文件 目前 我将它们从流压缩到本地文件 然后再次上传该文件 这会占用大量磁盘空间 因为每个文件大约有 3 10MB 而且我必须压缩多达 100 000 个文件 所以一个 z
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • 从一个文本文件中获取数据并将其移动到新的文本文件

    我有一个文件 里面有数据 在我的主要方法中 我读入文件并关闭文件 我调用另一种方法 在原始文件的同一文件夹内创建一个新文件 所以现在我有两个文件 原始文件和通过我调用的方法生成的文件 我需要另一种方法 从原始文件中获取数据并将其写入创建的新
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public

随机推荐

  • 在文本转语音运行时突出显示文本

    我正在为 ipad 开发一个应用程序 我想在其中添加如下功能 当用户点击播放按钮时 文本转语音将开始播放该文本 该单词将在阅读时突出显示 我知道 iOS 的内置功能 但我想以编程方式完成它 我查了很多资料 结果如下 Link 1 Link
  • 如何在 angularjs 1.3 中将表单中的特定字段设置为脏

    我想将特定形式的字段设置为脏 因为我手动更改该值 我已经进入了 SO 线程Angular js 以编程方式将表单字段设置为脏 但没有运气 这是我的问题的示例副本 Plunk
  • 在文件夹中创建文本文件

    我想在我在这里创建的文件夹中创建一个文本文件 File dir new File crawl html dir mkdir String hash MD5Util md5Hex url1 toString System out printl
  • 如何忽略 PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException?

    当我尝试向 http 服务器发送请求时 出现以下异常 这是我使用的代码 URL url new URL https www abc com HttpURLConnection conn HttpURLConnection url openC
  • 创建流畅的 API

    如何创建一个本质上流畅的 API 这主要是使用扩展方法吗 本文比我以前能更好地解释它 编辑 无法将其压缩在评论中 接口有两个方面 实现和使用 在创建方面还有更多的工作要做 我同意这一点 但是主要的好处可以在事物的使用方面找到 事实上 对我来
  • 如何在 Jenkins Workflow Plugin 中获取 SVN 修订号?

    我正在使用 Jenkins 1 596 工作流程 1 3 和 Svn 插件 2 5 我正在尝试在我的工作流程脚本中获取 svn 修订号 我的工作流程脚本部分是 node checkout scm class SubversionSCM lo
  • jquery tablesorter CSS 箭头图标

    这实际上更像是一个 CSS 问题 而不是 jQuery 问题 我正在使用 tablesorter jQuery 插件对表进行动态排序 Here s what it looks like currently 这是我正在使用的 CSS 代码 t
  • 生成没有指针的大写字母

    我正在尝试编写一个大写函数 它将字符串中的所有小写字符转换为其等效的大写字符 但是 我的代码中出现了 Bus 10 错误 我知道在 C 中不能修改字符串文字 所以 我不确定这是否是正确的方法 我的代码如下 include
  • 在 Java 中将字符串 XML 片段转换为文档节点

    在 Java 中 如何转换表示 XML 片段的字符串以插入到 XML 文档中 e g String newNode
  • 如何从wpf中的文件夹路径获取图像

    我试图了解如何从我的项目中获取文件 我使用的是 Visual Studio 2010 并且我的 wpf 项目中有一个名为 Images 的文件夹 我如何从该文件夹中获取图像 我正在尝试 return Images name jpg 它本身所
  • PHP CSS 解析器 - 选择器声明到字符串

    我希望能够读取 CSS 文件 并能够将给定选择器的所有声明提取到字符串中 例如 给定以下样式表 h1 font size 15px font weight bold font style italic font family Verdana
  • Python 不检测 .pyc 文件

    我正在使用 Python 3 2 用于构建和执行 这是我的问题 我打算通过以下设置发送我的 python 应用程序 有一个主要脚本 例如 Main py 即使用已编译的模块 例如Module1 pyc 准确来说 目录结构是 Main py
  • 无法启动服务意图

    我有一个服务班 我已将此类导出到 jar 并将该 jar 嵌入到我的客户端应用程序中 当需要时 我调用服务类 当我尝试这样做时 出现以下错误 Unable to start service Intent comp com sample se
  • int c = getchar()?

    我正在读这本书 C 编程语言 作者 Kernighan 和 Ritchie 第二版 在其中一个示例中 我无法理解事情是如何运作的 include
  • 如何在 pydev 中启用事后调试?

    每当我的程序引发未处理的异常时 我想让 pydev 进入交互式控制台模式 但我不知道该怎么做 正如它现在的行为一样 会报告异常并立即终止进程 经过一番搜索后我发现了这个 建议使用 pydevd set pm excepthook 但是 当我
  • 如何在 R 中将数组转换为 data.table 并返回?

    这是最直接的方法吗将数组转换为 data table require data table require ggplot2 this returns a data table with both array s dimensions and
  • iPhone 用户联系信息

    如果您查看 设置 邮件 联系人 日历 下 有一个用于指定您的个人信息的设置 我的信息 设置 它基本上可以让您从联系人列表中选择一个条目作为您的个人资料 有谁知道如何以编程方式访问这些信息 不 遗憾的是 您无法直接访问 我的信息 联系信息 您
  • 撤消 git 命令 - git checkout --

    有没有办法撤消以下 git 命令 git checkout 我试图删除添加到存储库目录但未暂存或提交的文件 该命令似乎没有这样做 而是更改了其他一些文件 Update 未跟踪的归档文件和未暂存的文件之间存在差异 在这种情况下 我想找到一种方
  • Heroku 语言区域设置不起作用

    我在 heroku 上的语言区域设置似乎不起作用 On my local mashine 1 maj Heroku 01 May 00 00 My view Locale en hello Hello world views paginat
  • 使用 PDFBox 将 UTF-8 编码字符串写入 PDF [重复]

    这个问题在这里已经有答案了 我在使用 PDFBox 将 unicode 字符写入 PDF 时遇到问题 下面是一些生成垃圾字符而不是输出 的示例代码 我可以添加什么来获得对 UTF 8 字符串的支持 PDDocument document n