B2019-152: landscape page numbers for print all/merge

This commit is contained in:
Kathy Ruffing 2020-07-06 13:27:42 +00:00
parent 6e1af874da
commit 4e7d93aab5
5 changed files with 98 additions and 16 deletions

View File

@ -676,7 +676,7 @@ namespace VEPROMS
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered. // RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked, frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked,
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, myPDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50), cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, myPDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text);//C2018-009 print PROMS version swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd);//C2018-009 print PROMS version
frmStatus.CloseWhenDone = true; frmStatus.CloseWhenDone = true;
Application.DoEvents(); Application.DoEvents();
frmStatus.CancelStop = true; frmStatus.CancelStop = true;
@ -704,7 +704,7 @@ namespace VEPROMS
// B2016-249 Output Procedure to folder associated with Parent Child // B2016-249 Output Procedure to folder associated with Parent Child
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked, frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked,
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50), cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text);//C2018-009 print PROMS version swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd);//C2018-009 print PROMS version
frmStatus.CloseWhenDone = true; frmStatus.CloseWhenDone = true;
Application.DoEvents(); Application.DoEvents();
frmStatus.CancelStop = true; frmStatus.CancelStop = true;
@ -735,7 +735,7 @@ namespace VEPROMS
// B2016-249 Output Procedure to folder associated with Parent Child // B2016-249 Output Procedure to folder associated with Parent Child
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked, frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, pw.ToString(), cbxDebug.Checked,
cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text,
new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text);//C2018-009 print PROMS version new Point(Left, Bottom - 50), swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, true, tbBlankPage.Text, _MergedPfd);//C2018-009 print PROMS version
frmStatus.CloseWhenDone = true; frmStatus.CloseWhenDone = true;
Application.DoEvents(); Application.DoEvents();
frmStatus.CancelStop = true; frmStatus.CancelStop = true;
@ -852,7 +852,7 @@ namespace VEPROMS
// B2018-124 use text of watermark form drop down list instead of enum value // B2018-124 use text of watermark form drop down list instead of enum value
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked, frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNumAndDate, waterMarkText, cbxDebug.Checked, cbxOrPgBrk.Checked,
cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50), cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, GetMultiunitPDFPath(), cbd, txbPDFName.Text, new Point(Left, Bottom - 50),
swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, false, tbBlankPage.Text); //C2018-009 print PROMS version swtbtnBlankPgsForDuplex.Value, _AllProcedures || Automatic, Prefix, SaveLinks, RemoveTrailingHardReturnsAndManualPageBreaks, swtbtnPROMSVersion.Value, false, tbBlankPage.Text, _MergedPfd); //C2018-009 print PROMS version
frmStatus.MakePlaceKeeper = swtbtnGeneratePlacekeeper.Value; frmStatus.MakePlaceKeeper = swtbtnGeneratePlacekeeper.Value;
frmStatus.MakeContinuousActionSummary = cbxGenerateConActSum.Checked; frmStatus.MakeContinuousActionSummary = cbxGenerateConActSum.Checked;
if (Automatic && cbxGenerateConActSum.Checked) if (Automatic && cbxGenerateConActSum.Checked)
@ -1140,9 +1140,11 @@ namespace VEPROMS
{ {
DateTime dtStart = DateTime.Now; DateTime dtStart = DateTime.Now;
_MergedPfd = new MergedPdf(PDFPath, _DocVersionInfo); _MergedPfd = new MergedPdf(PDFPath, _DocVersionInfo);
PromsPrinter.MergedLandscapePages = null; // B2019-152: MergedLandscapePages has data set when creating separate pdfs (DoCreatePDF)
DoCreatePDF(); // create indivitual pdfs DoCreatePDF(); // create indivitual pdfs
if (_MergedPdfPath != null && _MergedPdfPath != PDFPath) PDFPath = _MergedPfd.Folder = _MergedPdfPath; if (_MergedPdfPath != null && _MergedPdfPath != PDFPath) PDFPath = _MergedPfd.Folder = _MergedPdfPath;
if (!_MergedPfd.DoTheMerge()) return; // merge them together.
if (!_MergedPfd.DoTheMerge(PromsPrinter.MergedLandscapePages)) return; // merge them together.
// if the property to show the file after printing is set (on the version dialog), display it. Otherwise do a dialog to let user know it's done // if the property to show the file after printing is set (on the version dialog), display it. Otherwise do a dialog to let user know it's done
if (_DocVersionConfig.Print_MergedPdfsViewAfter) if (_DocVersionConfig.Print_MergedPdfsViewAfter)
{ {

View File

@ -81,7 +81,7 @@ namespace VEPROMS
get { return _DidAll; } get { return _DidAll; }
set { _DidAll = value; } set { _DidAll = value; }
} }
public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd,string pdfFile, Point newLocation,bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, bool removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText) public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, bool removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf)
{ {
Prefix = prefix; Prefix = prefix;
OpenPDF = openPDF; OpenPDF = openPDF;
@ -90,7 +90,7 @@ namespace VEPROMS
// if the version number of PROMS is 1.0, then we are running a Demo version. // if the version number of PROMS is 1.0, then we are running a Demo version.
// When running a Demo version, force a "Sample" watermark when printing. // When running a Demo version, force a "Sample" watermark when printing.
// B2020-022 append a ".pdf" extension if the file name does on have one. // B2020-022 append a ".pdf" extension if the file name does on have one.
MyPromsPrinter = new PromsPrinter(myItem, rev, (VlnSettings.ReleaseMode.Equals("DEMO")) ? "Sample" : watermark, debugOutput, origPgBrk, pdfPath + @"\Compare", false, overWrite, cbd, (pdfFile.ToUpper().EndsWith(".PDF"))?pdfFile:pdfFile+".pdf", insertBlankPages, allOrAuto,Prefix,saveLinks,removeTrailingHardReturnsAndManualPageBreaks, blankPageText, DidAll); MyPromsPrinter = new PromsPrinter(myItem, rev, (VlnSettings.ReleaseMode.Equals("DEMO")) ? "Sample" : watermark, debugOutput, origPgBrk, pdfPath + @"\Compare", false, overWrite, cbd, (pdfFile.ToUpper().EndsWith(".PDF"))?pdfFile:pdfFile+".pdf", insertBlankPages, allOrAuto,Prefix,saveLinks,removeTrailingHardReturnsAndManualPageBreaks, blankPageText, DidAll, mergedPdf);
MyPromsPrinter.PromsVersion = (showPROMSVer) ? AboutVEPROMS.PROMSVersion : ""; //C2018-009 print PROMS version MyPromsPrinter.PromsVersion = (showPROMSVer) ? AboutVEPROMS.PROMSVersion : ""; //C2018-009 print PROMS version
PDFPath = pdfPath; PDFPath = pdfPath;
this.Text = "Creating PDF of " + myItem.DisplayNumber; this.Text = "Creating PDF of " + myItem.DisplayNumber;

View File

@ -74,7 +74,7 @@ namespace Volian.Print.Library
_docVersionInfo = dvi; _docVersionInfo = dvi;
} }
// the following merges the procedure pdfs into a single pdf // the following merges the procedure pdfs into a single pdf
public bool DoTheMerge() public bool DoTheMerge(Dictionary<string, List<int>> MergedLandscapPages)
{ {
if (MergedPdfs == null) if (MergedPdfs == null)
{ {
@ -117,6 +117,15 @@ namespace Volian.Print.Library
FlexibleMessageBox.Show("Error in finding pdf files to merge. Cannot print with date/time as part of pdf name. Or check that individual pdfs were generated.", "Error on CreatePdf", MessageBoxButtons.OK, MessageBoxIcon.Warning); FlexibleMessageBox.Show("Error in finding pdf files to merge. Cannot print with date/time as part of pdf name. Or check that individual pdfs were generated.", "Error on CreatePdf", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return false; return false;
} }
// B2019-152: The MergedLandscapePages Dictionary contains page numbers for pdfs that need to be landscaped. These are
// added on 'endpages' when printing is done.
List<int> LandscapePages = null; // List of landscaped pages for a pdf
if (PromsPrinter.MergedLandscapePages != null)
{
string fname = mpp.PdfFileName.Substring(0, mpp.PdfFileName.IndexOf(".pdf"));
if (PromsPrinter.MergedLandscapePages.ContainsKey(fname))
LandscapePages = PromsPrinter.MergedLandscapePages[fname];
}
PdfReader reader = null; PdfReader reader = null;
try // B2019-041: added a try/catch for when a corrupt pdf was created for a procedure, just skip & add message to error log. try // B2019-041: added a try/catch for when a corrupt pdf was created for a procedure, just skip & add message to error log.
{ {
@ -134,8 +143,10 @@ namespace Volian.Print.Library
PdfImportedPage page = writer.GetImportedPage(reader, currentPageNumber); // gets a page that is 'ready' to be written to combined pdf PdfImportedPage page = writer.GetImportedPage(reader, currentPageNumber); // gets a page that is 'ready' to be written to combined pdf
if (doPageNum) // get the string & fill in with <page> and <of> numbers if (doPageNum) // get the string & fill in with <page> and <of> numbers
{ {
bool landscape = false;
if (LandscapePages != null && LandscapePages.Contains(currentPageNumber - 1)) landscape = true;
string outputpageof = _pageof.Replace("<page>", mergedPageNumber.ToString()).Replace("<of>", totalPages.ToString()); string outputpageof = _pageof.Replace("<page>", mergedPageNumber.ToString()).Replace("<of>", totalPages.ToString());
AddPageNumberToPage(page, canvas, outputpageof); AddPageNumberToPage(page, canvas, outputpageof, landscape);
} }
PdfDestination dest = new PdfDestination(PdfDestination.FIT); PdfDestination dest = new PdfDestination(PdfDestination.FIT);
// if on the first page, add the pdfname & title as part of outline. If on remaining pages, just put out page number. // if on the first page, add the pdfname & title as part of outline. If on remaining pages, just put out page number.
@ -158,36 +169,78 @@ namespace Volian.Print.Library
} }
// this method adds the page number to the page before it is merged in. It determines the position from the properties // this method adds the page number to the page before it is merged in. It determines the position from the properties
// that were set on the doc version properties dialog (these values were set as local class variables from GetPageOfInfo) // that were set on the doc version properties dialog (these values were set as local class variables from GetPageOfInfo)
private void AddPageNumberToPage(PdfImportedPage page, PdfContentByte cb, string outputpage) private void AddPageNumberToPage(PdfImportedPage page, PdfContentByte cb, string outputpage, bool landscape)
{ {
float pgright = page.BoundingBox.Right; float pgright = page.BoundingBox.Right;
float pgleft = page.BoundingBox.Left; float pgleft = page.BoundingBox.Left;
float pgtop = page.BoundingBox.Top; float pgtop = page.BoundingBox.Top;
float pgbot = page.BoundingBox.Bottom; float pgbot = page.BoundingBox.Bottom;
// B2019-152: Landscape page numbers when merging
if (landscape)
{
pgright = page.BoundingBox.Top;
pgleft = page.BoundingBox.Bottom;
pgtop = page.BoundingBox.Right;
pgbot = page.BoundingBox.Left;
}
Phrase ph = new Phrase(); Phrase ph = new Phrase();
Chunk chk = new Chunk(outputpage, _itextFont); Chunk chk = new Chunk(outputpage, _itextFont);
ph.Add(chk); ph.Add(chk);
Paragraph pg = new Paragraph(ph); Paragraph pg = new Paragraph(ph);
ColumnText columnText = new ColumnText(cb); ColumnText columnText = new ColumnText(cb);
cb.SaveState();
switch (_corner) switch (_corner)
{ {
case MergedPdfsPageNumCorner.TopRight: case MergedPdfsPageNumCorner.TopRight:
columnText.Alignment = Element.ALIGN_RIGHT; columnText.Alignment = Element.ALIGN_RIGHT;
columnText.SetSimpleColumn(0, pgtop - _yloc, pgright - _xloc, 0); if (landscape) // B2019-152: landscape page numbers
{
System.Drawing.Drawing2D.Matrix myMatrix1 = new System.Drawing.Drawing2D.Matrix(0, 1, -1, 0, cb.PdfDocument.PageSize.Height, 0);
cb.Transform(myMatrix1);
columnText.SetSimpleColumn(0, pgright - _yloc, pgright - _xloc, 0);
}
else
columnText.SetSimpleColumn(0, pgtop - _yloc, pgright - _xloc, 0);
break; break;
case MergedPdfsPageNumCorner.BottomRight: case MergedPdfsPageNumCorner.BottomRight:
columnText.Alignment = Element.ALIGN_RIGHT; columnText.Alignment = Element.ALIGN_RIGHT;
columnText.SetSimpleColumn(0, _yloc, pgright - _xloc, 0); if (landscape) // B2019-152: landscape page numbers
{
System.Drawing.Drawing2D.Matrix myMatrix2 = new System.Drawing.Drawing2D.Matrix(0, 1, -1, 0, cb.PdfDocument.PageSize.Width, 0);
cb.Transform(myMatrix2);
columnText.SetSimpleColumn(0, _yloc, pgright - _xloc, 0);
}
else
columnText.SetSimpleColumn(0, _yloc, pgright - _xloc, 0);
break; break;
case MergedPdfsPageNumCorner.TopLeft: case MergedPdfsPageNumCorner.TopLeft:
columnText.SetSimpleColumn(_xloc, pgtop - _yloc, pgright, 0); // page alignment defaults to ALIGN_LEFT if (landscape) // B2019-152: landscape page numbers
{
System.Drawing.Drawing2D.Matrix myMatrix3 = new System.Drawing.Drawing2D.Matrix(0, 1, -1, 0, cb.PdfDocument.PageSize.Height, 0);
cb.Transform(myMatrix3);
columnText.SetSimpleColumn(_xloc, pgright - _yloc, pgright - _xloc, 0);
}
else
{
columnText.SetSimpleColumn(_xloc, pgtop - _yloc, pgright, 0); // page alignment defaults to ALIGN_LEFT
}
break; break;
case MergedPdfsPageNumCorner.BottomLeft: case MergedPdfsPageNumCorner.BottomLeft:
columnText.SetSimpleColumn(_xloc, _yloc, pgright, 0); // page alignment defaults to ALIGN_LEFT if (landscape) // B2019-152: landscape page numbers
{
System.Drawing.Drawing2D.Matrix myMatrix4 = new System.Drawing.Drawing2D.Matrix(0, 1, -1, 0, cb.PdfDocument.PageSize.Width, 0);
cb.Transform(myMatrix4);
columnText.SetSimpleColumn(_xloc, _yloc, pgright - _xloc, 0);
}
else
{
columnText.SetSimpleColumn(_xloc, _yloc, pgright, 0); // page alignment defaults to ALIGN_LEFT
}
break; break;
} }
columnText.AddText(pg); columnText.AddText(pg);
columnText.Go(); columnText.Go();
cb.RestoreState();
} }
// this method gets the format, font & location data from the doc version properties that are stored on the doc version's // this method gets the format, font & location data from the doc version properties that are stored on the doc version's
// config field. It saves them as local class variables to be used in other places in this class. // config field. It saves them as local class variables to be used in other places in this class.

View File

@ -272,9 +272,14 @@ namespace Volian.Print.Library
get { return _MergeNotIncluded; } get { return _MergeNotIncluded; }
set { _MergeNotIncluded = value; } set { _MergeNotIncluded = value; }
} }
private MergedPdf _MergedPdf;
public MergedPdf MergedPdf
{
get { return _MergedPdf; }
set { _MergedPdf = value; }
}
public PromsPrinter(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, string backgroundFolder, bool openPDF, bool overWrite, public PromsPrinter(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, string backgroundFolder, bool openPDF, bool overWrite,
ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, bool removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll) ChangeBarDefinition cbd, String pdfFile, bool insertBlankPages, bool batchPrint, string prefix, bool saveLinks, bool removeTrailngHardReturnsAndManualPageBreaks, string blankPageText, bool didAll, MergedPdf mergedPdf)
{ {
Prefix = prefix; // RHM20150506 Multiline ItemID TextBox Prefix = prefix; // RHM20150506 Multiline ItemID TextBox
_MyItem = myItem; _MyItem = myItem;
@ -295,6 +300,7 @@ namespace Volian.Print.Library
_BlankPageText = blankPageText; _BlankPageText = blankPageText;
_DidAll = didAll; _DidAll = didAll;
_MergeNotIncluded = false; _MergeNotIncluded = false;
_MergedPdf = mergedPdf;
//_MyReaderHelper.LoadTree(myItem); //_MyReaderHelper.LoadTree(myItem);
} }
// Pass 1 PDF Name // Pass 1 PDF Name
@ -311,6 +317,9 @@ namespace Volian.Print.Library
get { return _BeforePageNumber2Pdf; } get { return _BeforePageNumber2Pdf; }
set { _BeforePageNumber2Pdf = value; } set { _BeforePageNumber2Pdf = value; }
} }
// B2019-152: MergedLandscapePages is a dictionary whose key is the pdf file name & values are all of the page numbers
// in that pdf that should have landscaped page numbers. These are added when the page is finished (onEndPage)
public static Dictionary<string, List<int>> MergedLandscapePages = null;
public string Print(string pdfFolder, bool makePlacekeeper, bool makeContinuousActionSummary) public string Print(string pdfFolder, bool makePlacekeeper, bool makeContinuousActionSummary)
{ {
if (_MyItem is ProcedureInfo) if (_MyItem is ProcedureInfo)
@ -1273,6 +1282,22 @@ namespace Volian.Print.Library
} }
ProfileTimer.Pop(profileDepth); ProfileTimer.Pop(profileDepth);
} }
// B2019-152: AddMergedLandscapePage adds entries to the dictionary that keeps track of what pages in a pdf are landscape
// so that if merge is done, the pages that are landscaped can have landscaped page numbers placed on them
public static void AddMergedLandscapePage(VlnSvgPageHelper _MyHelper, string PDFFile)
{
string tmp = PDFFile.Substring(0,PDFFile.IndexOf(".pdf"));
if (MergedLandscapePages == null) MergedLandscapePages = new Dictionary<string, List<int>>();
if (MergedLandscapePages.ContainsKey(tmp))
MergedLandscapePages[tmp].Add(_MyHelper.CurrentPageNumber);
else
{
// Create the list & add this to dictionary, pdf file with page list.
List<int> children = new List<int>();
children.Add(_MyHelper.CurrentPageNumber);
MergedLandscapePages.Add(tmp, children);
}
}
private void GenerateTOC(SectionInfo tocSection, ProcedureInfo myProcedure, PdfContentByte cb, PdfLayer textLayer) private void GenerateTOC(SectionInfo tocSection, ProcedureInfo myProcedure, PdfContentByte cb, PdfLayer textLayer)
{ {
iTextSharp.text.pdf.PdfWriter writer = cb.PdfWriter; iTextSharp.text.pdf.PdfWriter writer = cb.PdfWriter;

View File

@ -249,6 +249,8 @@ namespace Volian.Print.Library
int profileDepth = ProfileTimer.Push(">>>> OnEndPage"); int profileDepth = ProfileTimer.Push(">>>> OnEndPage");
InitialsPrinted = false; InitialsPrinted = false;
MyPromsPrinter.OnStatusChanged(string.Format("Page {0}", CurrentPageNumber+1)); MyPromsPrinter.OnStatusChanged(string.Format("Page {0}", CurrentPageNumber+1));
// B2019-152: Landscape page merged page numbers
if (this.MySection != null && MySection.MyDocStyle.LandscapePageList) PromsPrinter.AddMergedLandscapePage(this, MyPromsPrinter.PDFFile);
bool onBlankPage = OnBlankPage; bool onBlankPage = OnBlankPage;
if (OnBlankPage) if (OnBlankPage)
{ {