PDFsharp Line Break

Я пытаюсь получить новую строку, но если я используйте \ n , это не работает.

Любой способ создать новую строку, добавив что-нибудь в строку, например \ r \ n (что также не работает)

gfx.DrawString("Project No \n" + textBoxProjNumber.Text, fontUnder, XBrushes.Black, 230, 95);

( фрагмент примера показывает, что я пробовал, но не работает).

26
задан Dave 19 September 2019 в 08:29
поделиться

1 ответ

Это то, что я сделал, но это не связано с использованием класса Rect:

Я определил правый боковой предел и определил, будет ли текущая строка больше заданных границ. Если это было так, я написал это. В противном случае я продолжал добавлять к нему.

foreach (string field in temp)
{
    if (field == string.Empty)
    {
        continue;
    }
    else
    {
        tempSB.Clear();
        tempSB.Append(sb.ToString());
        tempSB.Append(field).Append(", ");  //append the incoming value to SB for size testing

        if (gfx.MeasureString(tempSB.ToString(), defaultFont).Width > 500)  //if the incoming string is bigger than the right bounds, write it and clear SB
        {
            gfx.DrawString(sb.ToString(), defaultFont, blackBrush, 50, currentLine + defaultSpacing);
            currentLine += 15;
            sb.Clear();
            sb.Append(" " + field).Append(",");  //add the overflow to the beginning of the next line
         }
         else
         {
             sb.Append(field).Append(", ");  //if it is not too big, append it
         }
     }

 }
 if (sb.Length > 0 && sb[sb.Length - 1] == ',') sb.Length--;
 gfx.DrawString(sb.ToString(), defaultFont, blackBrush, 50, currentLine + defaultSpacing); //write out whatever has not already been written out

Я знаю, что опоздал на этот вопрос, но я надеюсь, что он может кому-то помочь.

0
ответ дан 28 November 2019 в 07:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: