We have enhanced our SynProject Open Source tool, so that it is now able to generate its documentation as HTML, in addition to doc/pdf documents. You can take a look at this web page. It contains the whole SAD 1.18 content. The pdf is more than 16 MB, whereas this html page is only 6MB. Note that […]
We have reduced PDF generated file size for all version of the PDF format, by trimming any uneeded space in the generated content.
We introduced a new optional
PDFGeneratePDF15File property for
even better compression, using advanced features (Object Streams and
Cross-Reference Streams) of the PDF 1.5 format.
This PDF 1.5 format needs Acrobot 6.0 and up to open them.
Which should be the case on your computer.
Can be up to 70% smaller for a pdf with a lot of pages with simple textual context.
I suspect our library is able to generate the smallest file size possible,
even in regard to other alternative libraries.
Open Source can be great, can't it?
The trunk version of our Open Source SynPdf library now features encryption using 40 bit or 128 bit key size.
This is a long awaiting feature, and sounds working just fine from my
Speed has been optimized (as usual with our libraries), as a consequence encrypting the content will only be slightly slower.
I'm happy to announce that mORMot units are now compiling and working great in 64
bit mode, under Windows.
Need a Delphi XE2/XE3 compiler, of course!
ORM and services are now available in Win64, on both client and
Low-level x64 assembler stubs have been created, tested and optimized.
UI part is also available... that is grid display, reporting (with pdf export and display anti-aliasing), ribbon auto-generation,
SynTaskDialog, i18n... the main SynFile demo just works
Overall impression is very positive, and speed is comparable to 32 bit version (only 10-15% slower).
Speed decrease seems to be mostly due to doubled pointer size, and some less
optimized part of the official Delphi RTL.
But since mORMot core uses its own set of functions (e.g. for JSON serialization, RTTI support or interface calls or stubbing), we were able to release the whole 64 bit power of your hardware.
Delphi 64 bit compiler sounds stable and efficient. Even when working at low
level, with assembler stubs.
Generated code sounds more optimized than the one emitted by FreePascalCompiler - and RTL is very close to 32 bit mode.
Overall, VCL conversion worked as easily than a simple re-build.
Embarcadero's people did a great job for VCL Win64 support, here!
Even if mORMot will be more easily used in a project designed from scratch, it fits very well the purpose of evolving any existing Delphi project, or even creating the server side part of an AJAX application.
One benefit of such a framework is to facilitate the transition from a Client-Server architecture to a N-Tier layered pattern.
Our SynPdf library was released as part of every mORMot version. But the stand-alone .zip was still in 1.15 revision. I have updated it, and now it reflects the latest version from our source code repository (i.e. 1.18). Open Source, working from Delphi 5 up to XE3. Thanks to nice proposals - like […]
Our Open Source mORMot framework is now available in revision 1.17.
The main new features are the following:
- Direct ODBC support, with any edition of Delphi - even the Starter edition;
- Array DML support for very fast insertion with Oracle;
- SQLite3 engine updated to latest revision 3.7.14, including Delphi 5 compiler support;
- Performance enhancements, especially for external databases and our very fast in-memory engine (e.g. for unique properties, or with SQlite3 writing speed), with a new included benchmark tool;
use change for
- Better Unicode support in report and pdf generation (e.g. font-fallback is now implemented);
TDataSetavailable for SynDB units;
- A lot of fixes and improvements.
By default, both GDI+ anti-aliased drawing and PDF file generation using our libraries did lack of font-fallback implementation.
If some of the characters in a string are not supported in a requested font, they were drawn as square symbols on the GDI+ canvas or the PDF content.
The font-fallback mechanism implemented will use a third-party font (Arial Unicode MS by default, which is installed with Microsoft Office), for any glyph that are missing when rendering the content. Of course, for PDF generation, you are able to embed the font within the generated file (this is by the way mandatory for PDF/A-1 format).
Both of these new features are handled by the
unit, i.e. for report anti-aliased drawing preview and PDF generation.
By the way, the
TGDIPages class itself (the one used for
report generation from
code) now handles by default Unicode text, even with Delphi
versions prior to 2009 (via the
SynUnicode string type, which maps
WideString before Delphi 2009, then
starting with Delphi 2009). Does make sense with such
a font-fallback mechanism.
In a discussion with Henrick Hellström, in Embarcadero forums, I wrote some high-level information about mORMot.
It was clear to me that our little mORMot is now far away from a simple Client-Server solution.
The Henrick point was that with Real Thin Client (RTC), you are able to write any Client-Server solution, even a RESTful / JSON based one.
He is of course right, but it made clear to me all the work done in
mORMot since its beginning.
From a Client-Server ORM, it is now a complete SOA framework, ready to serve Domain-Driven-Design solutions.
For our PDF generation Open-Source library, this is a small fix update.
It can now be compiled under Delphi XE2.
But it's still working from all previous IDE versions, starting with Delphi 5, and still 100% free - released under GPL/LGPL/MPL license, choice is yours.
Our ORM RESTful Framework is about to access any available database engine.
It will probably change its name (since it won't use only SQlite3 as database), to become mORMot - could be an acronym for "Manage Object Relational Mapping Over Tables", or whatever you may think of...
We'll still rely on SQLite3 on the server, but a dedicated mechanism will allow to access via OleDB any remote database, and mix those tables content with the native ORM tables of the framework. A flexible Virtual Tables and column mapping will allow any possible architecture: either a new project in pure ORM, either a project relying on an existing database with its own table layout.
Our SynPdf unit has been updated to the 1.14 version. Some enhancements: new SetCMYKFillColor and SetCMYKStrokeColor methods for TPdfCanvas now handles EMR_POLYBEZIER* commands in conversion from meta file content fixed EZeroDivided error when enumerating SetWindowExtEx(szlExtent(0,0)) some […]
Our SynPdf unit has been refreshed to the 1.13 version.
- code modifications to compile with Delphi 5 compiler;
- added horizontal scaling for GDI enumeration in case of text kerning (could occur for small fonts);
- fixed "Save when closing with Acrobat Reader X" - thanks to Ondrej for the fix;
- fixed clipping problems and vertical font positioning issue in GDI enumeration - thanks to Ondrej for those corrections!
Thanks to the feedback provided by some user of this Open Source library!
The Synopse SQLite3 Database Framework was just released under version 1.12:
- internal SQLite3 database engine was updated to version 3.7.5, and SQL functions have been enhanced;
- now handle prepared SQL statements with a neutral automated syntax;
- with Delphi 2009/2010/XE, you can define directly Unicode string properties in TSQLRecord (will be stored as UTF-8);
- include some overloaded methods using Variants for direct property access (e.g. in any grid);
- SynPdf has now direct bookmarks and links methods, can reuse any existing bitmap, and generate PDF/A-1 files;
- internal reporting now supports bookmarks and links (with on screen navigation), and better integrates with SynPdf;
- a lot of bug fixes, new methods and enhancements.
The Synopse SQLite3 Database Framework was just released under Version 1.8.
SQLite3 just officially reached version 3.7.0, so it's time to commit our changes from our source code repository to the main "stable" zip.
Using our SynPDF library and a public domain THtmlView component, and discussion with some of our users, we were able to make a html to pdf conversion tool.
Did you notice the
It's a reporting unit included in our SQlite3/mORMot framework, but it can be used standalone...
Our PDF engine has been updated, it's now on version 1.8.1.
Our SQLite3 Framework has been updated into the 1.7 version. For Delphi 7 to Delphi 2010.
Mostly User-Interface (reporting) enhancements, and some bug fixes.
« previous entries - page 1 of 2