Wednesday, April 28, 2010

PDF to Word for the Mac

We reached a major milestone at Solid Documents today with the release of Solid PDF to Word for Mac.
For the last 8 months our engineering group has been hard at work porting our core technology first to 64-bit and then to OSX. Although the UI of the Mac product is Cocoa (Objective C++), the underlying engine is our new and improved portable Solid Framework Nucleus. This is our first application that uses our SDK the same way an SDK customer would.

In our NUnit-like automated test environment we run Solid Framework managed code using Mono on OSX. The C# ecosystem provides an excellent cross platform experience.

Here is a sneak preview of some of the significant improvements to Solid Framework that you can expect to see soon in the v7 release. This list is not exhaustive .. we like surprises ..

Single DLL
We now wrap all the native code inside a single managed assembly called SolidFramework.dll for ease of deployment. The native code is automatically extracted on first run and integrators have some flexibility regarding this thanks to SolidFramework.Configuration.Installer.
64-Bit
On both Windows and OSX we now support x64 and x86 native code. If you build your C# project as CPU Any then it will automatically use the correct native code depending on the current platform.
Single Threaded
The portable subset (Solid Framework Nucleus) that we used to provide the conversion functionality in Solid PDF to Word for Mac is single threaded. This is really helpful when building enterprise applications or in a server environment.
Office Open XML
Solid Framework now creates .docx and .xlsx without needing Office to be present. Also useful in server environments. These formats are now understood by the majority of word processors including Word 2003/2007/2010, Corel WordPerfect, Open Office, Google Docs and iWork Pages.
Geometric NSE
A new mechanism to resolve "non-standard encoding" issues for glyph to character mapping has been developed which does not rely on OCR. Once again, a useful change for when you don't want to depend on Office being present.