Hi Tahir,
Thanks for response.
I am trying to use AppendDocument as you advised, but its saving as blank document.
I have used below code for fleet 12291, its ins pages 2, 3, 4 , 18 and 216. However Merged Document is saving as blank. Any idea???
foreach (DataRow drFleet in dsFleets.Tables[0].Rows)
{
curFleetId =
Convert.ToInt32(drFleet["fleet_id"]);
Logger.LogInfo("Starting Extract to find Shield Insurance file for Fleet : " + curFleetId);
//Start Fleet loop to extract file for each fleet
string fleetno = "Fleet No:\t" + curFleetId;
var collection = doc.GetChildNodes(NodeType.Paragraph, true);
int pageStart = 0, pageEnd = 0;
Boolean blnFirst = true;
Document finalDocMerged =new Document();
foreach (Paragraph para in collection)
{
if (curFleetId == 12291)
{
if (para.ToString(SaveFormat.Text).Trim().Contains(fleetno))
{
var renderObject = layoutCollector.GetEntity(para);
layoutEnumerator.Current = renderObject;
int page = layoutEnumerator.PageIndex;
//if (blnFirst)
if (blnFirst)
{
finalDocMerged.Save(
ConfigurationSettings.AppSettings["ShieldSplitFilePath"].ToString().Trim() + (txtWeekNo.IntVal + 200000).ToString() + "\\" + "ShieldInsurance_" + (txtWeekNo.IntVal + 200000).ToString() + "_" + curFleetId + ".pdf", SaveFormat.Pdf);
pageStart = page;
blnFirst =
false;
}
pageEnd = page;
// Save document for current page
Logger.LogInfo("##### Found Fleet : " + curFleetId + " in Shield File in : " + page + "#####");
// Split nodes in the document into separate pages.
PageSplitter.
DocumentPageSplitter splitter = new PageSplitter.DocumentPageSplitter(layoutCollector);
Logger.LogInfo("&&&&& Created Page Splitter for Fleet : " + curFleetId + " and Page No : " + page + " &&&&&");
Document finalDoc = splitter.GetDocumentOfPageRange(page, page);
Logger.LogInfo("@@@@@ Created final doc Fleet : " + curFleetId + " and Page No : " + page + "@@@@@");
finalDoc.Save(
ConfigurationSettings.AppSettings["ShieldSplitFilePath"].ToString().Trim() + (txtWeekNo.IntVal + 200000).ToString() + "\\" + "tmp_ShieldInsurance_" + (txtWeekNo.IntVal + 200000).ToString() + "_" + curFleetId + ".pdf", SaveFormat.Pdf);
finalDocMerged.AppendDocument(finalDoc,
ImportFormatMode.UseDestinationStyles);
finalDocMerged.Save(
ConfigurationSettings.AppSettings["ShieldSplitFilePath"].ToString().Trim() + (txtWeekNo.IntVal + 200000).ToString() + "\\" + "ShieldInsurance_" + (txtWeekNo.IntVal + 200000).ToString() + "_" + curFleetId + ".pdf", SaveFormat.Pdf);
Logger.LogInfo("====== Saved File for Fleet : " + curFleetId + " and Page No : " + page + "======");
}
}
}
if (pageStart > 0 && pageEnd > 0)
{
// This will build layout model and collect necessary information.
// doc.UpdatePageLayout();
// Logger.LogInfo("--- Updated Page Layout for Fleet : " + curFleetId + " ---");
shieldFleetCount = shieldFleetCount + 1;
}
else
{
Logger.LogInfo("*********** NOT Found Fleet : " + curFleetId + " in Shield File.***********");
}
fleetCount = fleetCount + 1;
progressBar1.PerformStep();
progressBar1.Update();
}
//End For Fleet loop
]