C2018-004 logic to print meta file information
C2018-009 logic to print PROMS version on PDF pages
This commit is contained in:
parent
5cff214b0e
commit
72a91a6431
@ -156,6 +156,13 @@ namespace Volian.Print.Library
|
||||
set { _MyItem = value; }
|
||||
}
|
||||
private string _Watermark;
|
||||
//C2018-009 print PROMS version
|
||||
private string _PromsVersion = "";
|
||||
public string PromsVersion
|
||||
{
|
||||
get { return _PromsVersion; }
|
||||
set { _PromsVersion = value; }
|
||||
}
|
||||
private string _PDFFile;
|
||||
public string PDFFile
|
||||
{
|
||||
@ -415,6 +422,7 @@ namespace Volian.Print.Library
|
||||
private PdfLayer _PagelistLayer;
|
||||
private PdfLayer _DebugLayer;
|
||||
private PdfLayer _WatermarkLayer;
|
||||
private PdfLayer _PROMSVersionLayer; //C2018-009 print PROMS version
|
||||
private void CreateLayers(PdfContentByte cb)
|
||||
{
|
||||
if (DebugOutput)
|
||||
@ -426,6 +434,8 @@ namespace Volian.Print.Library
|
||||
_DebugLayer = new PdfLayer("Debug", cb.PdfWriter);
|
||||
_WatermarkLayer = new PdfLayer("Watermark", cb.PdfWriter);
|
||||
_WatermarkLayer.SetPrint("Watermark", true);
|
||||
_PROMSVersionLayer = new PdfLayer("PROMS Version", cb.PdfWriter); //C2018-009 print PROMS version
|
||||
_PROMSVersionLayer.SetPrint("PROMS Version", true);
|
||||
}
|
||||
}
|
||||
private void CloseDocument(string fileName)
|
||||
@ -503,6 +513,11 @@ namespace Volian.Print.Library
|
||||
{
|
||||
rct = PageSize.LETTER;
|
||||
}
|
||||
// C2018-004 create meta file for baseline compares
|
||||
if (currentSection.IsStepSection)
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("{0}", rct);
|
||||
else
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("UseWordMargins={0} {1} ", (wordMargins)?"Y":"N", rct);
|
||||
//Console.WriteLine("\"{0}\"\t\"{1}\"\t\"{2}\"\t\"{3}\"\t{4}"
|
||||
// , currentSection == null ? "" : currentSection.DisplayNumber + " " + currentSection.DisplayText
|
||||
// , nextSection == null ? "" : nextSection.DisplayNumber + " " + nextSection.DisplayText
|
||||
@ -811,11 +826,13 @@ namespace Volian.Print.Library
|
||||
_MyHelper.TextLayer = _TextLayer;
|
||||
_MyHelper.BackgroundLayer = _BackgroundLayer;
|
||||
_MyHelper.DebugLayer = _DebugLayer;
|
||||
_MyHelper.PROMSVersionLayer = _PROMSVersionLayer; //C2018-009 print PROMS version
|
||||
}
|
||||
_MyHelper.Rev = _Rev;
|
||||
_MyHelper.Watermark = _Watermark;
|
||||
_MyHelper.DoZoomOMatic = DebugOutput;
|
||||
_MyHelper.OriginalPageBreak = OriginalPageBreak;
|
||||
_MyHelper.PROMSVersion = _PromsVersion; //C2018-009 print PROMS version
|
||||
OnStatusChanged("After Set PageEvent", PromsPrinterStatusType.SetPageEvent);
|
||||
}
|
||||
else
|
||||
@ -873,9 +890,7 @@ namespace Volian.Print.Library
|
||||
{
|
||||
if (((cb.PdfWriter.CurrentPageNumber % 2 == 0 && !_MyHelper.CreatingFoldoutPage) || myProcedure.ProcHasSupInfoData) && InsertBlankPages) // Bug Fix: B2016-181 - add blank page if page count is even
|
||||
{
|
||||
_MyHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
InsertBlankPage(cb);
|
||||
}
|
||||
GenerateTOC(mySection, myProcedure, cb, _TextLayer);
|
||||
}
|
||||
@ -896,9 +911,7 @@ namespace Volian.Print.Library
|
||||
{
|
||||
// only insert a blank page if this section does not have a foldout (but the procedure as a whole does)
|
||||
// and the checkbox on the print dialog to add blank pages is checked
|
||||
_MyHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
InsertBlankPage(cb);
|
||||
//_MyLog.InfoFormat("NewPage Begin Step Sect blank {0}", cb.PdfWriter.CurrentPageNumber);
|
||||
}
|
||||
}
|
||||
@ -908,9 +921,7 @@ namespace Volian.Print.Library
|
||||
// need a blank 'facing page'. Sections after the first will get blank 'facing page' in print's pagination logic
|
||||
if (SupInfoPrintType==E_SupInfoPrintType.Merge && !mySection.HasSupInfoSteps && firstStepSec && InsertBlankPages)
|
||||
{
|
||||
_MyHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
InsertBlankPage(cb);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -967,6 +978,14 @@ namespace Volian.Print.Library
|
||||
return outputFileName;
|
||||
}
|
||||
|
||||
public void InsertBlankPage(PdfContentByte cb)
|
||||
{
|
||||
_MyHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("==Insert Blank Page==");
|
||||
}
|
||||
|
||||
private void SetupProperties(PdfDocument document, ProcedureInfo myProcedure)
|
||||
{
|
||||
document.AddTitle(string.Format("{0} {1}",myProcedure.DisplayNumber,myProcedure.DisplayText));
|
||||
@ -1007,7 +1026,8 @@ namespace Volian.Print.Library
|
||||
mySection.PageNumberNextPass = _MyHelper.CurrentPageNumber;
|
||||
}
|
||||
int profileDepth = ProfileTimer.Push(">>>> CreateWordDocPdf");
|
||||
_MyHelper.MySection = mySection;
|
||||
if (_MyHelper.MySection != mySection) // C2018-004 create meta file for baseline compares - assigning MySection again will reprocess the Page List
|
||||
_MyHelper.MySection = mySection;
|
||||
try
|
||||
{
|
||||
OnStatusChanged("Get Section", PromsPrinterStatusType.GetSection);
|
||||
@ -1021,6 +1041,8 @@ namespace Volian.Print.Library
|
||||
cb.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED), 20);
|
||||
cb.SetTextMatrix(cb.PdfDocument.Left+200,cb.PdfDocument.Bottom+cb.PdfDocument.Top / 2);
|
||||
cb.ShowText("Word Section Invalid");
|
||||
// C2018-004 create meta file for baseline compares
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("!!Word Section Invalid: ID {0} \"{1}\" \"{2}\"",mySection.ItemID, mySection.DisplayNumber, mySection.DisplayText);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1082,13 +1104,13 @@ namespace Volian.Print.Library
|
||||
{
|
||||
// only insert a blank page if this section does not have a foldout (but the procedure as a whole does)
|
||||
// and the checkbox on the print dialog to add blank pages is checked
|
||||
_MyHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
InsertBlankPage(cb);
|
||||
//_MyLog.InfoFormat("NewPage 3 blank {0}", cb.PdfWriter.CurrentPageNumber);
|
||||
}
|
||||
float yoff = 0;
|
||||
if (_MyHelper.DidFirstPageDocStyle) yoff = origYoff - (float)mySection.MyDocStyle.Layout.TopMargin;
|
||||
// C2018-004 create meta file for baseline compares
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("WD Hight={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6}", fgPage.Height, fgPage.Width, sectPageCount, locEndOfWordDoc, pdfSize, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff);
|
||||
AddImportedPageToLayer(cb.PdfWriter.DirectContent, _MSWordLayer, fgPage, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0) + yoff);
|
||||
if(DebugPagination.IsOpen) DebugPagination.WriteLine("{0:D6},'{1}',{2}",
|
||||
_MyHelper.MyPdfContentByte.PdfWriter.CurrentPageNumber, mySection.ShortPath,pageNumber);
|
||||
@ -1226,6 +1248,8 @@ namespace Volian.Print.Library
|
||||
{
|
||||
int sectCnt = 0; // keep count of which section/sub-section we are processing
|
||||
bool doSubY = false;
|
||||
// C2018-004 create meta file for baseline compares
|
||||
Volian.Base.Library.BaselineMetaFile.WriteLine("TOC Ystart {0} LeftMar {1} ScNmPos {2} ScTtlPos {3} ScPgPos {4}", yPageStart, leftMargin, secNumPos, secTitlePos, secPagePos);
|
||||
foreach (SectionInfo mySection in ii.Sections)
|
||||
{
|
||||
sectCnt++;
|
||||
@ -2090,9 +2114,7 @@ namespace Volian.Print.Library
|
||||
if (SupInfoPdfPage.ContainsKey(itemid)) getpage = SupInfoPdfPage[itemid];
|
||||
if (getpage < 0)
|
||||
{
|
||||
myPageHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
InsertBlankPage(cb);
|
||||
return;
|
||||
}
|
||||
PdfImportedPage sipage = null;
|
||||
@ -2130,9 +2152,7 @@ namespace Volian.Print.Library
|
||||
// only insert a blank page if this is the very first page printed & section has a foldout
|
||||
// and the checkbox on the print dialog to add blank pages is checked. This will put out a blank page as
|
||||
// as the first page so that duplex printing is correct for this condition.
|
||||
myPageHelper.OnBlankPage = true;
|
||||
cb.PdfDocument.Add(new iTextSharp.text.Table(1));
|
||||
NewPage();
|
||||
InsertBlankPage(cb);
|
||||
}
|
||||
|
||||
SectionInfo saveSect = myPageHelper.MySection;
|
||||
|
Loading…
x
Reference in New Issue
Block a user