diff --git a/PROMS/Volian.Print.Library/Pagination.cs b/PROMS/Volian.Print.Library/Pagination.cs index e228e98c..7c613d1a 100644 --- a/PROMS/Volian.Print.Library/Pagination.cs +++ b/PROMS/Volian.Print.Library/Pagination.cs @@ -878,7 +878,9 @@ namespace Volian.Print.Library //float yTopNew = paraBreak.YTopMost - YTopMost; if (JustATableThatWillFit(paraBreak, yPageSize - (myTopMsgSpace + yEndMsg))) paraBreak = paraBreak.ChildrenBelow[0]; - if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.CompressSteps) + float ySpaceOnNextPage1 = yPageSize - (myTopMsgSpace + (yEndMsg == 0 ? SixLinesPerInch : 0)); // Allow for continue message and blank line. + ySpaceOnNextPage1 -= accountForSmartTemplateHeader; + if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.CompressSteps && ySpaceOnNextPage1 == ySpaceOnCurPage) { float ySpaceAt7LPI = ((ySpaceOnCurPage - accountForCalvertAlarmConditionResponseFooter) * SixLinesPerInch / _SevenLinesPerInch) - _SevenLinesPerInch; vlnParagraph paraBreak7 = FindPageBreak(yStart, ySpaceAt7LPI, yLowerLimit, @@ -923,8 +925,7 @@ namespace Volian.Print.Library RemoveProcessedParagraphs(myList, yTopNew - yTop); yTop = yTopNew; MyPageHelper.ParaBreaks.Add(paraBreak); - ySpaceOnCurPage = yPageSize - (myTopMsgSpace + (yEndMsg == 0 ? SixLinesPerInch : 0)); // Allow for continue message and blank line. - ySpaceOnCurPage -= accountForSmartTemplateHeader; + ySpaceOnCurPage = ySpaceOnNextPage1; //ySpaceOnCurPage = yPageSize - (myTopMsgSpace + SixLinesPerInch); // Allow for continue message and blank line. //if (paraBreak.YTopMost != paraBreak.YVeryTop && MyPageHelper.TopMessage == null && MyPageHelper.BottomMessage == null) diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 51d717fb..831828af 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -1214,6 +1214,13 @@ namespace Volian.Print.Library } if (MyItemInfo.IsHigh && MyItemInfo.MyPrevious != null && ((MyItemInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.DoubleBoxHLS) == E_DocStructStyle.DoubleBoxHLS)) yPageStart -= SixLinesPerInch; + if (MyPageHelper.ParaBreaks.Count > 0 && MyPageHelper.ParaBreaks[0].CompressPreviousPartOfPage) + { + MyPageHelper.YMultiplier = _SevenLinesPerInch / SixLinesPerInch; + CompressPartOfPage = false; + } + ///else + /// MyPageHelper.YMultiplier = 1; break; // XXXX XX XXXXX XXXXXXX X // X X X X X X X XXX