2

タミル語のテキスト(インド語の1つ)を渡してC#アプリケーションでPDFファイルを作成しているので、タミル語のフォントにAVVAIYAR.TTF(タミル語の1つ)フォントをインストールしましたが、以下を実行するとpgm、作成されたpdfファイルにはタミル語のフォント表示が含まれていません。タミル語のテキストの代わりに空の行が表示されます...

C#コード:

Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"C:\pdfout.pdf", FileMode.Create));
document.Open();

PdfContentByte pcb = writer.DirectContent;
Font ft = new Font();
FontFactory.Register(@"C:\WINDOWS\Fonts\AVVAIYAR.TTF", "AVVAIYAR");
ft = FontFactory.GetFont("AVVAIYAR");

Paragraph pr1 = new Paragraph("இது முதல் பேரா", ft);
Paragraph pr2 = new Paragraph("This is a Sub Paragraph");
Paragraph pr3 = new Paragraph("This is the Second Paragraph");

document.Add(pr1);
document.Add(pr2);
document.Add(pr3);
document.Close();

私の出力pdfファイルは:

<blank line>
This is a Sub Paragraph
This is the Second Paragraph

また、PDFファイルを作成するには、さらにいくつかのインドの言語をサポートする必要があります。

4

3 に答える 3

1

ARIALUNI.TTFを参考に入れてみました。

string fontpath = Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\ARIALUNI.TTF"; 
BaseFont basefont = BaseFont.CreateFont(fontpath, BaseFont.IDENTITY_H, true);
Font font = new iTextSharp.text.Font(basefont, 24, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLUE);
Paragraph pr1 = new Paragraph("இது முதல் பேரா", AVVAIYARFont);

それで、タミル語のフォントがpdfファイルに表示されるようになりました.しかし、単純な単純なスペルミス...だから私はその問題についていくつか読んでいます...

于 2012-09-21T07:11:13.020 に答える
1

次のコード スニペットを試していただけますか。

string fontpath = Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\AVVAIYAR.TTF";
BaseFont basefont = BaseFont.CreateFont(fontpath, BaseFont.IDENTITY_H, true);
Font AVVAIYARFont = new iTextSharp.text.Font(basefont, 24, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLUE); /*For test color blue is placed with some foramtting.*/

Paragraph pr1 = new Paragraph("இது முதல் பேரா", AVVAIYARFont);

これはうまくいくはずです...

独創的な考えですが、iText は現時点ですべてのインド系言語を完全にサポートしているわけではありません...こちらを参照してください。これをサポートするのに十分なボランティアがいないと彼らは言っています。

于 2012-09-18T06:13:08.850 に答える