Performance Considerations
DynamicPDF Core Suite for .NET is a highly efficient class library. From its inception, Core Suite has focused on creating high quality PDF documents in the most efficient way possible. With this initial focus and years of product maturity, our products are among the fastest available. Like any component, however, the efficiency of the final combined product depends on the programming practices implemented by the end user. Below are a few areas of consideration for creating the most efficient combined product as possible.
The following topics greatly improve the performance of creating PDF documents.
Image Reuse
When using the same image in a document multiple times it is important to ensure that the image data is not parse or included in the document multiple times. Review the Image Reuse topic for details on how to best achieve image reuse.
Font Reuse
When using the same OpenType or Type 1 font in a document multiple times it is important to ensure that the font data is not parse or included in the document multiple times.
Refer to the OpenType Fonts and Type 1 Fonts topic for details on how to best achieve font reuse.
Page Element Reuse
Page elements are designed for reuse on multiple pages. If using a page element as a header, footer or other static element, reuse the same page element rather than creating a new one for each page. The Group page element or Template class can accomplish this reuse easily.
Refer to the Templates topic for details on using templates.
Disk Buffering
When large PDF files are being created and memory usage is important, consider using Disk Buffering. Disk buffering is turn off by default and therefore the entire PDF is stored in memory until ready to be drawn to disk. Leaving disk buffering off is the most efficient way of creating a PDF (as you are not introducing the overhead of drawing back and forth to disk) sometimes memory usage dictates needing greater control.