Today I want to talk about important improvements in the current version of the PDF Creator Pilot library.
It was always one of the weakest things about the Library – it demanded huge amounts of memory to work with larger documents. Quite often clients were not able to create a document consisting of more than 100 pages, because they did not have enough memory. In this version, we have managed to open up a bottleneck, which helped us significantly reduce memory requirements. In short, if a page contains a lot of graphics, it also contains a lot of page operation commands. Keeping all these commands in memory was the bottleneck. We cached the commands into a temporary file, and that solved the problem.
The other improvement concerns conversion of EMF files to PDF files. We’ve improved the processing of paths and clipping regions. This was no trivial task, because the path processing toolset of the PDF format isn’t as rich as required by GDI. Clipping regions are the worst supported; there are no other region operations in a PDF except intersection. To adequately process an EMF, we had to support all operations defined in Set theory. For a long time the problem remained unsolved, however we have now left the problem behind us. Now these kinds of EMF files converted correctly.
This last bit of news should be of interest to those who use “non-standard” versions of the Library, such as the 64-bit variant or the static variant (which is for C++ only). We’ve found that the x64 build failed to convert EMF files, and the static library refused to work from VS2005. All of these problems have also been fixed.
You can download the current builds from PDF Creator Pilot page.
In the next release, we plan both to improve processing of TIFF files and to add support for CMYK TIFFs.