java 写入pdf_java – 使用PDFBox将UTF-8编码的字符串写入PDF [复制]

参见英文答案 > Apache PDFBox: Can I set font other than those present in PDType1Font                                    1个

我无法使用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();

解决方法:

您正在使用Adobe Reader附带的内置“Base 14”字体之一.这些字体不是Unicode;它们实际上是一个标准的拉丁字母,但有一些额外的字符.它看起来像你提到的字符,一个带有caron(š)的小写字母,在PDF拉丁文中没有…虽然大写的Š可用但仅在Windows

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值