B2015-083: For WCNTRN, the Responsibility data was not wrapping correctly in some cases. This was fixed.
This commit is contained in:
parent
8546a09674
commit
3045682ed7
@ -861,6 +861,7 @@ namespace Volian.Print.Library
|
||||
|
||||
private float DrawText(PdfContentByte cb, ref float yPageStart, float yTopMargin, float yBottomMargin, ref float yLocation)
|
||||
{
|
||||
// KBR (6/17/15): Fix for underline location in compressed steps: PrintOverride.StepCompress = false;
|
||||
if(DebugText.IsOpen)DebugText.WriteLine("{0},'{1}','{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.DBSequence, FormattedText);
|
||||
//Console.WriteLine("{0},{1},'{2}','<<END>>'", MyItemInfo.ItemID, MyItemInfo.DBSequence, IParagraph.Content);
|
||||
float retval = yLocation;
|
||||
@ -953,7 +954,10 @@ namespace Volian.Print.Library
|
||||
//if (MyItemInfo.InList(39048)) Console.WriteLine("Here");
|
||||
}
|
||||
MyPageHelper.BottomContent = yLocation - (Height * MyPageHelper.YMultiplier);
|
||||
// KBR (6/17/15): Fix for underline location in compressed steps:
|
||||
// KBR (6/17/15): if (MyPageHelper.YMultiplier != 1) PrintOverride.StepCompress = true;
|
||||
retval = Rtf2Pdf.TextAt(cb, IParagraph, XOffset, yLocation, Width, 100, DebugInfo + string.Format(",YLines = {0}", YSize / SixLinesPerInch), yBottomMargin);
|
||||
// KBR (6/17/15): PrintOverride.StepCompress = true;
|
||||
ProfileTimer.Pop(profileDepth);
|
||||
if (retval == 0) // problem occurred - paragraph was not able to be printed on page
|
||||
{ // pagination logic needs to be fixed.
|
||||
@ -3625,7 +3629,7 @@ namespace Volian.Print.Library
|
||||
// This code handles whether user enters \r\n to separate lines or not. The
|
||||
// max width that a line can be in the Responsibility column is a format flag (passed in)
|
||||
List<string> results = new List<string>();
|
||||
int width = 0;
|
||||
int width = 0; // keep track of current width of current 'line' while looking for space to break
|
||||
int start = 0; // start of line (index into string 'text')
|
||||
int lastspace = 0; // location of lastspace (index into string)
|
||||
for (int indx = 0; indx < responsStr.Length; indx++)
|
||||
@ -3644,10 +3648,16 @@ namespace Volian.Print.Library
|
||||
{
|
||||
// what should be done if lastspace == 0
|
||||
// cannot find space char to split on, so break the word
|
||||
if (lastspace == 0) lastspace = indx;
|
||||
bool spFound = true;
|
||||
if (lastspace == 0)
|
||||
{
|
||||
lastspace = indx;
|
||||
spFound = false;
|
||||
}
|
||||
results.Add(responsStr.Substring(start, lastspace - start).Trim(" ".ToCharArray()) + "\r\n");
|
||||
start = lastspace + 1;
|
||||
width = 0;
|
||||
start = lastspace + (spFound?1:0); // increment start based on whether a space is found, i.e. if no space keep at 'indx'
|
||||
// width either is equal to width of text after the last space, or is zero if at the maxlen of width:
|
||||
width = (width - start - 1) > 0 ? width - start - 1 : 0;
|
||||
lastspace = 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user