fop Quick Start Guideを使用して、単純なXMLファイルから簡単なPDFファイルを印刷しても問題ありません。しかし、私が<name>Frank</name>
を<name>امیررضا</name>
(他のエンコーディングに名前を変更)に変更すると、私は####
を私の印刷PDFに入れます。私はインターネットを検索し、実行可能な解決策は見つけられませんでした。私はここで多くの設定ファイルを使用して、私の設定ファイルの一部です:Apache FOPを使用してFont Familyを変更することはできません
私は、PDFを作成するための次のコマンドを使用します。
fop -c cfg.xml -xml name.xml -xsl name2fo.xsl -pdf name.pdf
私は、このコマンドを使用すると私は警告の下に取得する:
WARNING: xHeight value could not be determined. The font may not work as
Sep 15, 2011 9:15:37 AM org.apache.fop.events.LoggingEventListener proce
WARNING: Glyph "╙" (0x633, afii57427) not available in font "Helvetica".
Sep 15, 2011 9:15:37 AM org.apache.fop.events.LoggingEventListener proce
WARNING: Glyph "╘" (0x634, afii57428) not available in font "Helvetica".
1 - name.xmlは含まれています
<name>امیررضا</name>
2-name2fo.xslは含まれています
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="A4-portrait"
page-height="29.7cm" page-width="21.0cm" margin="2cm">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4-portrait">
<fo:flow flow-name="xsl-region-body">
<fo:block>
Hello, <xsl:value-of select="name"/>!
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
3-多くの異なる設定ファイル(cfg.xml)を試しています。
3.1:
<fop version="1.0">
<renderers>
<renderer mime="application/pdf">
<fonts>
<substitutions>
<substitution>
<from font-family="Helvetica" />
<to font-family="SansSerif"/>
</substitution>
</substitutions>
<referenced-fonts>
<match font-family=".*"/>
</referenced-fonts>
<!-- register all the fonts found in a directory and all of its sub directories (use with care) -->
<directory recursive="true">G:\....\fop\fop-1.0\Core14_AFMs</directory>
<!-- automatically detect operating system installed fonts -->
<auto-detect/>
<font embed-url="C:\WINDOWS\Fonts\times.ttf">
<font-triplet name="Times New Roman" style="normal" weight="normal"/>
</font>
</fonts>
</renderer>
</renderers>
</fop>
3.2:
<fop version="1.0">
<renderers>
<renderer mime="application/pdf">
<fonts>
<substitutions>
<substitution>
<from font-family="Helvetica" />
<to font-family="SansSerif"/>
</substitution>
</substitutions>
<referenced-fonts>
<match font-family=".*"/>
</referenced-fonts>
<!-- automatically detect operating system installed fonts -->
<auto-detect/>
</fonts>
</renderer>
</renderers>
</fop>
3.3:......
結果出力である:
こんにちは、### ####!
誰でもこの問題を解決できますか?
あなたの助けにTanx。しかし、私はこのリンクを自分で見ていました。問題は、java org.apache.fop.fonts.apps.TTFReader C:\ Iqraa.ttf Iqraa.xmlはfop 1.0ではサポートされておらず、メインクラスのフィンを作成していない例外がありました。 ;私が理解しているように、そしてAPache Fopの公式ホームページを読んでください。このsilutionはFOP version .9以下のものでした。 – Am1rr3zA