Hello Support Team,
We really like the ImportedPageArea Class because of it's efficient memory usage. It appears that it does not open the entire file, which we really like. However we noticed this object is not IDisposable, and I think from previous discussions the Draw method releases resources, is that correct? I noticed importedPageArea.Draw(pagewriter) and was hoping to release memory resources on each page while looping. I'm trying to figure out how to implement (derive) your Abstract classes PageWriter? Can you provide direction on this? The online documentation doesn't show implementation.
thanks for your help
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Imaging;
using ceTe.DynamicPDF.Merger;
using ceTe.DynamicPDF.Rasterizer;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.IO;
public static MergeDocument (thumbNailList tnl)
{
MergeDocument mergeDocument = new MergeDocument();
Document document = new Document();
int index;
try
{
//DocWriter dw = new DocWriter();
//dw.Draw();
//OpWriter ow = new OpWriter();
//ow.DocumentWriter.Draw();
//PageWriter pw = ow.PageWriter;
for (int i = 0; i < tnl.Count; i++)
{
index = tnl[i].PageIndex;
ImportedPageArea importedPageArea = new ImportedPageArea(tnl[i].PDFFilePath, index, 0, 0);
importedPageArea.Angle = tnl[i].RotationDegrees > 0 ? tnl[i].RotationDegrees : importedPageArea.Angle;
Page page = new Page(PageSize.Letter, PageOrientation.Portrait);
page.Elements.Add(importedPageArea);
document.Pages.Add(page);
//importedPageArea.Draw(pw);
}
mergeDocument.Append(new PdfDocument(document.Draw()));
}
catch (OutOfMemoryException ex)
{
// Do to: re-throw error
}
return mergeDocument;
}