2017-07-10 9 views
0

列のテキストのフォントを変更しようとしていますが、機能しません。エラーは発生しません。テキストはpdfに表示されていますが、それを変更したテキストスタイルではありません。誰が間違っていることを指摘できますか?列テキスト変更されないフォントの種類

私は私のような他の質問を見て、彼らはすべてsetfontandsizeを与えられています。また、null参照やそのようなものでエラーを取得していません。

カスタムフォントには、正しいファイルにリンクされた値があります。

private void btn_print_Click(object sender, EventArgs e) 
{ 
    PdfReader reader = new PdfReader(@"C:\Users\jacob\Documents\test\3.pdf"); 

    PdfStamper stamper = new PdfStamper(reader, new FileStream(@"C:\Users\jacob\Documents\test\12).pdf", FileMode.Create)); 
    int x = reader.NumberOfPages; 
    int[] a = Enumerable.Range(1,x).ToArray(); 

    foreach (int n in a) 
    { 
     BaseFont customfont = FontFactory.GetFont(@"C:\Windows\Fonts\bgothm.ttf", BaseFont.CP1252, true).BaseFont; 
     PdfContentByte canvas = stamper.GetOverContent(n); 

     canvas.SetFontAndSize(customfont, 12); 
     ColumnText.ShowTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("nooooo"), 36, 540, 0); 
    } 
    stamper.Close(); 
} 
+0

'customFont'に値があるのか​​、' canvas.SetFontAndSize'が実際に動いているのかを知ることはできません。実際、 'PdfContentByte'クラスは何ですか?あなたはあなたの質問にもっと多くの情報を必要としています:(使用しているものの名​​前空間も提供してください...ヌルREF例外のような愚かなものでなければ、そのベンダーのサポートフォーラムの質問です。 –

答えて

1

ColumnText.ShowTextAlignedキャンバスの現在のフォントを使用していません。代わりに、そのフォントのPhrase引数が使用されます。 Phraseに特定のフォントを設定しないので、単純なデフォルトのフォントが使用されます。

代わり

ColumnText.ShowTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("nooooo", new Font(customfont, 12)), 36, 54, 0); 

を行い、お好みのフォントを使用するには。

+0

ありがとうございます私はしばらくの間ナッツを運転していた!! –

関連する問題