PDF中需要Arial字体(BIRT pdf渲染器,Linux)

时间:2009-06-29 12:19:34

标签: linux birt

我使用BIRT IDE创建了一个rptdesign文件。此文件内容为Arial字体,当我在Windows中将报表导出为PDF时,它可以正常工作。

我使用默认的viewerServlet来创建报告。但是当我将报告移动到linux系统时,报告中的所有内容都以Times New Roman字体显示,而不是PDF文件中的Arial。

然后我将Arial.ttf文件复制到/ var / font / truetype并将以下行添加到platform / plugins / org.eclipse.birt.report.engine.fonts_2.3.2.r232_20090202 / fontsConfig.xml

    <font-paths>
        ---------------
        ---------------
        ---------------
        <path path="/var/font/truetype" />
    </font-paths>

添加此行后,所有内容都以Arial字体显示,但粗体内容似乎压缩并且看起来非常难看。

有没有人遇到过这个问题并有任何解决方案?

谢谢 问候, 阿伦

5 个答案:

答案 0 :(得分:2)

这是我的fontsConfig_pdf.xml文件

<font>
<font-aliases>
    <mapping name="sans-serif" font-family="Arial" />
    <mapping name="serif" font-family="Times-Roman" />
    <mapping name="monospace" font-family="Courier" />
</font-aliases>
<font-encodings>
    <encoding font-family="Times-Roman" encoding="Cp1252" />
    <encoding font-family="Helvetica" encoding="Cp1252" />
    <encoding font-family="Courier" encoding="Cp1252" />
    <encoding font-family="Zapfdingbats" encoding="Cp1252" />
    <encoding font-family="Symbol" encoding="Cp1252" />
    <encoding font-family="STSong-Light" encoding="UniGB-UCS2-H" />
    <encoding font-family="STSongStd-Light" encoding="UniGB-UCS2-H" />
    <encoding font-family="MHei-Medium" encoding="UniCNS-UCS2-H" />
    <encoding font-family="MSung-Light" encoding="UniCNS-UCS2-H" />
    <encoding font-family="MSungStd-Light" encoding="UniCNS-UCS2-H" />
    <encoding font-family="HeiseiMin-W3" encoding="UniJIS-UCS2-H" />
    <encoding font-family="HeiseiKakuGo-W5" encoding="UniJIS-UCS2-H" />
    <encoding font-family="KozMinPro-Regular" encoding="UniJIS-UCS2-H" />
    <encoding font-family="HYGoThic-Medium" encoding="UniKS-UCS2-H" />
    <encoding font-family="HYSMyeongJo-Medium" encoding="UniKS-UCS2-H" />
    <encoding font-family="HYSMyeongJoStd" encoding="UniKS-UCS2-H" />
</font-encodings>
<font-paths>
        <path path="/var/fonts/truetype"/>
</font-paths>
<composite-font name="all-fonts">
    <font font-family="Times-Roman" catalog="Western" />
    <font font-family="MSung-Light" catalog="Chinese" />
    <font font-family="HeiseiKakuGo-W5" catalog="Japanese" />
    <font font-family="HYGoThic-Medium" catalog="Korean" />
</composite-font>
</font>

答案 1 :(得分:0)

尝试明确说明您的字体路径,如下所示:

<font-paths>
   <path path="/var/font/truetype/arial.ttf" />
</font-paths>

设置此属性(font-paths)会导致忽略默认字体目录,而只支持此集合中的路径。这将使Arial成为PDF的唯一可用字体。要包含默认字体(TNR,Courier等...),请将eclipse插件下的默认路径(org.eclipse.birt.report.engine.fonts)添加到font-paths条目中。

你也可以选择只将Arial.ttf添加到默认目录并从font-paths中删除所有ENTRIES并以这种方式获取Arial类型。无论哪种方式都应该有效。

祝你好运。

答案 2 :(得分:0)

  

任何人都可以告诉我是否有   Linux中的Arial字体问题,如果是   字符设置为粗体

一切都适合我们。下面是fontsConfig.xml的补丁:

<font-aliases>
    <mapping name="sans-serif" font-family="Arial" />
    ...
</font-aliases>
<font-paths>
    <path path="fonts"/>
</font-paths>

输入字体文件夹arial.ttf和arial.xml文件。

答案 3 :(得分:0)

我花了几个小时寻找这个:

export BIRT_FONT_PATH=/usr/share/fonts/truetype

执行此操作并完成!

答案 4 :(得分:0)

  

然后我将Arial.ttf文件复制到/ var / font / truetype

Arial.ttf只包含字体的纯文本版本。 对于粗体,斜体和斜体粗体,有不同的文件(arialbd.ttf等)。 也可以复制这些。