2013-01-17 47 views
1

我成功地在C#中使用Adobe Illustrator库阅读Adobe Illustrator文件,但无法获取TextFrame的FontSize。谁可以帮忙?以下是我用过的代码:如何使用C#从Adobe Illustrator(.ai)TextFrame获取FontSize?

Illustrator.Application aiApp = new Illustrator.Application(); 
Illustrator.Document doc = aiApp.Open(@"K:\test\test.ai",Illustrator.AiDocumentColorSpace.aiDocumentRGBColor, null); 

     List<Label> _labela = new List<Label>(); 
     int cntr = 0; 
     foreach (TextFrame tf in doc.TextFrames) 
     { 
      _labela.Add(new Label()); 
      // caktojme vetite per secilen label 
      _labela[cntr].Name = "lblTextFrame" + cntr; 
      _labela[cntr].AutoSize = true; 
      _labela[cntr].Text = tf.Contents; 
      _labela[cntr].ForeColor = Color.FromArgb((int)tf.Layer.Color.Red, (int)tf.Layer.Color.Green, (int)tf.Layer.Color.Blue); 
      _labela[cntr].Top = Math.Abs((int)tf.Top); 
      _labela[cntr].Left = Math.Abs((int)tf.Left); 
      cntr++; 
     } 

     foreach (Label lbl in _labela) 
     { 
      //lbl.BackColor = Color.Black; 
      this.Controls.Add(lbl); 
      this.SuspendLayout(); 
      this.Refresh(); 
     } 


    } 

我没有看到TextFrame.FontSize的任何属性? :(。任何建议!?

回答

0

您阅读的字体名称&大小这样

for (int i = 1; i <= doc.TextFrames.Count; i++) 
{ 
    Illustrator.TextFrame tF = doc.TextFrames[i]; 
    Illustrator.TextFont objFont = tF.TextRange.CharacterAttributes.TextFont; 
    double size = tF.TextRange.CharacterAttributes.Size; 
    Console.WriteLine("Size: {0}, FontName: {1})", size, objFont.Name); 
} 
相关问题