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

导出为pdf时,如何正确呈现印地语?

洪飞扬
2023-03-14

我正在为jasper reports使用I-report 5.5.0。我需要将印地语文本导出为PDF格式,但印地语部分正在转换为

我已经使用了字体扩展,但没有帮助:

字体名称:“lohit Devanagari”
PDF嵌入:选中
PDF编码:Identity-H

我也尝试过其他印地语字体,但到目前为止没有任何效果。。

<textField>
    <reportElement x="111" y="26" width="100" height="20" uuid="5a471a16-de7b-4f55-9c9f-b01d37938b9f"/>
     <textElement>
        <font fontName="Lohit Devanagari" pdfEncoding="Identity-H" isPdfEmbedded="false"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{DISTRICT_NAME}]]></textFieldExpression>
</textField>

共有3个答案

戚鸿
2023-03-14

我和gargi有同样的问题。ttf字体。在此下载此配置

"gargi" => array(
        'R' => "gargi.ttf",
        'useOTL' => 0xFF,
    ),
陈博容
2023-03-14

正确的方法是使用字体扩展<不推荐使用code>pdfEncoding=“Identity-H”。

首先清除此清单以在pdf中呈现字体:

  1. 是我的实际<代码>。支持tff(OpenType),字体可以实际呈现角色。并非所有字体都呈现UTF-8中的所有字符

一旦您创建了正确的字体扩展,但它不起作用,这可能就是您的问题。。

Identity-H似乎正常

嵌入您的字体(否则,如果您让它在您的计算机上工作,它可能无法在其他计算机上工作),请注意在jrxml中是ispdfedded=false,删除标记,并在字体扩展中选择true,或将标记设置为true。

现在只需正确生成字体扩展并将其添加到您的类路径中,

如何添加字体扩展名

编辑:用户传递字体后

字体为Krutidev\u 011。TTF不是一种有效的TTF字体,可能是因为不幸的是,苹果的标准和微软的标准有分歧(我猜你的字体是苹果的TTF而不是开放式TTF)。

Caused by: net.sf.jasperreports.engine.JRRuntimeException: java.awt.FontFormatException: java.nio.BufferUnderflowException
at net.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:178)

我试图从web上下载一个有效的ttf字体Lohit Devanagari,并将其html" target="_blank">添加为字体扩展名,这是我的结果:

它正在呈现字体,但结果可能有连字器问题,如何解决这些问题请参见例如,为什么古吉拉特邦印第安文本没有使用Arial Unicode MS正确呈现?

如果您想尝试这是我为Lohit Devanagari使用的字体扩展jar,请记住设置

陆文博
2023-03-14

这对我有用

IndicLigaturizer  hindi = new DevanagariLigaturizer();
String result = hindi.process(string);
 类似资料:
  • 我正在尝试从.jasper文件生成pdf报告到使用struts框架的基于web的java应用程序中。但是pdf报表中的字体显示不正确(这里是打印屏幕),而在预览时,它可以正常工作,或者我们可以将相同的报表导出为其他格式,如docx,html格式,它可以正常工作(这里是打印屏幕)

  • Localhost很好,但上传到服务器时不工作 %pdf-1.3 1 0 obj<>Endobj2 0 obj<>Endobj3 0 obj<>>/Mediabox[0.000 0.000 595.280 841.890]>>Endobj4 0 obj<>stream x 2 300 p@&b m-l l,br b 5 jr k drr f b k endstream endobj 8 0 obj

  • 在jasper报表中使用不同字体时,需要使用font-extensions。 但是,如果字体呈现不正确,是否有一种方法可以测试pdf是否支持该字体,以便了解问题是与我的字体扩展有关,还是与我的字体有关? 从jasper reports导出到pdf时字体的不正确呈现是一个常见的问题。例如,jasper reports pdf不能导出西里尔值,如清单第1点所示,使用字体扩展并不总是足够的,字体还需要得

  • 问题内容: 在我的应用程序中,我将收到一个字节流,并将其转换为手机内存中的pdf文件。如何将其渲染为pdf?并在活动中显示? 问题答案: 某些手机​​(例如Nexus One)预先安装了Quickoffice版本,因此将文件保存到SD卡后,发送适当的Intent可能很容易。

  • 我正在使用"pdfbox-app-2.0.0-RC2.jar" 我创建了一个类,它缩小了pdf内容,并在指定的坐标处创建了带有此内容的新pdf。 我的问题是,如果一个pdf文件被修改并添加了新内容,那么缩小后的文件中就会缺少这些内容。 以下是我的方法:

  • 我想在jasper report 5.1版导出的PDF报告中显示不同的字体(古吉拉特邦印第安语)。 我尝试的内容:运行工具后,在位置下方打开步骤1: 工具- 安装了字体“Arial Unicode MS”,并创建了jar文件。JARPER报告的类路径中存在Jar文件。 链接如下:1)字体2)示例字体 第二步:irfonts。xml 默认情况下,jasper报告给出了我将其更改为的此文件中的其他字体