当前位置: 首页 > 知识库问答 >
问题:

如何用Apache FOP 1.0从带有日语字符的XML创建PCL文档?

祁博雅
2023-03-14

我知道这应该是一件容易的事情,但是当我尝试从 XML(通过 XSL)生成 PCL 文档时,日语字符显示得非常像素化。

Apache FOP 1.0 Java 1.6.0_27

我已经设置了一个用户配置.xml就像 pdf 一样,这工作正常:

<renderer mime="application/pdf">
  <fonts>
     <font metrics-url="IPAexGothic.xml" kerning="yes" embed-url="ipaexg.ttf">
       <font-triplet name="IPAexGothic" style="normal" weight="normal"/>
     </font>
  </fonts>
</renderer>

但是我在FOP留档中读到,PCL的字体是一个完全不同的球类游戏:

"Non-standard fonts for the PCL renderer are made available through the Java2D
subsystem  which means that you don't have to do any custom font configuration in this
case but you have to use the font names offered by Java."

我尝试将字体放入我的jre/lib/fonts/目录。我尝试设置逻辑字体。(http://docs.oracle.com/javase/tutorial/2d/text/fonts.html)

我在AWT中创建了一个程序,试图显示日文字符。它们也没有显示。

我错过了什么愚蠢的事情吗?如果有帮助的话,这里有一些日本汉字。東京都

谢谢,约书亚

共有1个答案

宗政博
2023-03-14

通常情况下,一旦你在记录你的问题方面取得了很好的进展,你通常非常接近解决方案。若要防止这些 unicode 字符在 PCL 中像素化,需要将 FOP 配置中的 DPI 设置为远高于默认 72 dpi 的值。我将我的设置为 600,可读性大大提高。

<fop version="1.0">
  <source-resolution>600</source-resolution>
  <target-resolution>600</target-resolution>
  <renderers>
    <renderer mime="application/vnd.hp-PCL">
      <rendering>quality</rendering>
      <text-rendering>bitmap</text-rendering>
    </renderer>
  </renderers>
</fop>
 类似资料:
  • 问题内容: 对于JUnit测试,我需要一个由多行组成的String。但是我得到的只是一个单行字符串。我尝试了以下方法: 我也尝试了。System.getProperty(“ line.separator”)也不起作用。它产生一个in字符串,没有回车符。那么我该如何解决呢? 问题答案: 感谢您的回答。我错过了我的数据存储在传递给测试方法的。错误是我将字符串放入ArrayList的第一个元素中。这就是

  • 在进行了一些程序内操作之后,我最终得到了一个包含我要执行的变更日志的xom文档对象。根据我的理解,我必须在ChangeLogParser的帮助下将其转换为liquibase XML格式ParsedNode。但该接口在parse方法中假设一个外部表示形式。使用ResourceAccessor将Document对象注入解析器也是不可能的,因为方法getResourcesAsStream返回一组Inpu

  • 我正在构建一个创建XML文件的简单java程序。我正在构建以下代码: 但如果我尝试启动此代码,我会出现以下错误: 线程“AWT-EventQueue-0”java中出现异常。lang.AbstractMethodError:gnu。xml。dom。DomDocument。com上的getXmlStandalone()Z。太阳组织。阿帕奇。泽兰。内部的xsltc。特拉克斯。DOM2TO。com上的s

  • 我想用每个文件(不是类文件)从我的项目中创建一个源JAR文件。你知道吗?

  • 问题内容: 在我的gulpfile中,我在字符串中有一个版本号。我想将版本号写入文件。在Gulp中有没有很好的方法可以做到这一点,还是我应该看看更通用的NodeJS API? 问题答案: 如果您想以类似口水的方式执行此操作,则可以创建“假”黑胶文件流并按常规方式调用。这是用于创建流的函数。“ stream”是一个核心模块,因此您不需要安装任何东西: 您可以像这样使用它:

  • 问题内容: 如何使用下面的代码解组XML字符串并将其映射到下面的JAXB对象? 问题答案: 要传递XML内容,您需要将内容包装在中,然后将其解组: