Where does Quartam PDF Library come from?
Back in December 2005, I started Quartam PDF Library as a research project for adding PDF export to Quartam Reports. It was spun off as a separate commercial product and used in a wide variety of LiveCode-based projects, such as BlueMango's ScreenSteps.
Although I had kept working on new features, more pressing matters (like my day-job) kept me from pushing ahead and wrapping up a new release. The advent of 'print to pdf' features in LiveCode 4.5 triggered a soul search and eventually led to the decision to release the new version as open source.
The end result: nearly 7300 lines of production quality code, ready for you to use in your LiveCode projects.
So what is new in version 1.1?
The code got a good cleanup, complies with the rules of variable checking, and replaces most string literals with constants to prevent bugs.
Plus, the following features were added:
- Transformations (scale, translate, rotate, skew, mirror)
- Transparency and blendmodes
- Text box fitting
- Inserting pages (ideal for building a table of contents with bookmarks)
- Experimental support for including EPS files (Emulated PostScript)
Quartam PDF Library now requires Revolution 3.0 or later, with LiveCode 4.6 highly recommended.
How do you mean: open source under a dual license?
Although Quartam PDF Library is a free/open source software (F/OSS) project, giving you a lot of freedom and flexibility as to how you use it in your own projects, this doesn't mean you're free to do anything you want with it: you have to respect the GNU Affero General Public License (AGPL).
You can be released from the requirements of the AGPL license by purchasing a commercial license from Quartam Software.
Buying such a license is mandatory as soon as you develop commercial activities involving Quartam PDF Library without disclosing the source code of your own applications. These activities include: offering paid services to customers as an ASP, serving PDF documents generated dynamically in a web application, shipping Quartam PDF Library with a closed source product.
Such a commercial license releases you from the requirements of the copyleft AGPL license, which include: distribution of all source code, including your own product; licensing of your own product under the AGPL license; prominent mention of the Quartam copyright and the AGPL license; and disclosure of modifications to the library.
In addition, the commercial license releases you from the requirement not to change the PDF Producer line in the generated PDF document properties.
What about my previous commercial license for Quartam PDF Library version 1.0?
Of course you can keep using the closed source version 1.0 in your projects. And if your project is open source, you can use version 1.1 without an additional charge.
However, if you want to use version 1.1 in a commercial activity, you have to purchase an upgrade for USD 49 from the Quartam Software Online Store.
And if you never bought a copy of Quartam PDF Library, you can purchase the commercial license for USD 149 from the Quartam Software Online Store or the LiveCode Marketplace.
How can I contribute to the Quartam PDF Library project?
I'm glad you asked - the plan is to build a community around Quartam PDF Library in order to streamline the development of newer versions. If you can help with squashing bugs, researching new features, improving documentation, or any other way, you're more than welcome to join us.
All you need to do is download, sign and email back the Quartam Open Source Contributor Agreement so that your contributions can be incorporated into the project. Quartam Software has the role of project custodian, taking care of versioning and distribution.
One such contribution was made by John Craig (Splash21) to add compression support to the library, which is included in Quartam PDF Library version 1.1 - another contribution was made by Trevor DeVore (BlueMango) who offered code for writing LiveCode htmlText to a PDF document, which I have yet to integrate but looks really promising.
And I have some experimental code that I'd love to share and put into the project after review - so any reports of this library's death were greatly exaggerated.
So roll up your sleeves, download the new version and get stuck in!