I had that same frustration this week. Trying to generate geotiffs from arrays in Python. I found four libraries, all of which just wrap GDAL, all of which have the same quirky issues. Alas. :)
If you have a 1:1 mapping between array cells and pixels (no geographic transformations), just use any image format as intermediate. But I am interested what quirky issues you encountered. I found rasterio very nice to work with using numpy arrays.
Super obscure issues. When I try to use GDAL to build a geotiff from a bumpy array I get an underlying c++ crash of some sort. I'm not an expert. But it happens only when I try to do it within QGIS. It's something about the compatibility of numpy and gdals underlying c++ APIs.
I wish I was smarter and could debug further. Issue doesn't happen standalone but happens in a qt5 plugin for GDAL. I was hoping to find any other implementation of array to tiff in order to avoid this crash. Alas.
Could you share code and data for a minimal crashing example? This sounds like the developers would be glad to fix it. Both GDAL and QGIS have very active devs.
I encountered PDFBox for the first time last week and although it looks promising I was discouraged by the lack of documentation. Was there something you found particularly useful, or should I just start browsing the source? Thanks!
Yeah, current docs might not be the best, I think they are still working on it.
API was pretty intuitive, plus some googling and reading stackoverflow. And yes, browsing the source. I don't remember encountering any major problems with it.
Why is this being upvoted now? People have been forking iText for years, ever since the license was changed to AGPL. This repo doesn't even look very active and the last release was last year.
Back in the C64 days there was a Abacus Forth but it cost was pretty high if I remember right $225???? I got a copy from the software store I work with as a teenager and got one at cost. It was great after coming from basic > assembly (Talk about your learning curves).
If it was in error, does this affect any merged code pieces/PRs submitted/merged after the readme was changed, or do the license headers per-file take precedence?
I have some experience with iText, so possibly I can answer. iText never released a version 4.2.0 for Java. The original forker misunderstood iText versioning and used the number of the C# version. At the time, iText versions for Java were 2.x, and C# were 4.x The code in the forked version is actually the last release of the Java version of iText 2.x, which was the last Java release under the LGPL/Mozilla license.
Thankfully, iText later coordinated release numbers for both platforms to 5.x numbering when they changed the license to AGPL.
So, you should be safe using this version of iText under LGPL or Mozilla, but it's a fairly old release of the library. If you're just using iText for your hacking projects, you're probably better off going with a more recent version.
I hope somebody makes an Eclipse plugin out of this, and integrates it into the TeXlipse LaTeX IDE. It is a sad state of affairs that this aging project (last release was in 2011) is still the most versatile TeX editing environment. For example, it is the only one that I am aware of, beyond command-line editors, that that lets you open up an arbitrary number of views of the same file, which is often needed in large TeX projects. Its current PDF viewer (Pdf4Eclipse) is broken on Hi-DPI displays.
to some extent - using com.lowagie.text.html.simpleparser.HTMLWorker (more like if you have really simple html and css, you can generate a PDF doc out of those - which works well for various reports).
Although if you are looking to convert real web pages to PDF, then this is not a good choice.
$495 for desktop license and $3800 for server. I would love to have something this for the times I could use it, but realistically that’s only once or twice per year.
I feel the same way about Adobe’s Creative suite subscription. I use it’s unique capabilities about once every 6 months. I wish there was a one week license.
Imagine this scenario. You want to write your own code ProductX and link it with some GPL code. This brings ProductX also under the GPL license.
You can put ProductX on a server and never actually distribute ProductX to anyone. By not distributing ProductX, you don't have to distribute the ProductX source code to anyone -- although technically it IS under the GPL. Since you're not distributing the binary, you don't have to distribute the source. Yet the public can interact with your server and make use of ProductX's services.
The AGPL prevents that. If you write your code ProductX and link it with AGPL code, then ProductX comes under the AGPL license. But now, merely letting the public interact with ProductX on a server requires you to distribute the AGPL source code to ProductX. Now anyone else has the ProductX source code and can compete with you.
The AGPL is also a way for the author of an AGPL library to make money. A library such as iText. If you want to use iText with a proprietary ProductX, then you need to buy a separate commercial license for iText.
If the developer's intent in ProductX is to keep the source code private, then the developer cannot link ProductX with any AGPL licensed code such as iText -- unless the developer is willing to pay for a commercial license to iText.
A developer should never have code that they didn't write themselves, such as a library, unless that library is under a license that the developer can always remain in full compliance with. That includes proprietary and commercial libraries as well as open source libraries. While AGPL is "open source" if you cannot comply with the terms, then don't use it.
Finally, avoid any code you find on the internet that has "no license". If you use such code, the copyright owner of that code could sue you for copyright infringement. "But wait!" they say. "I would never sue anybody, I just want as many people as possible to use my code, so I don't put it under any license." I say: If you're not going to sue me, then put that promise in writing. it's called a license. If you're such a good guy and aren't going to sue me, then put it in writing like all other open source licensed code.
Thanks for the explanation! Does anyone actually release code due to this license (which they wouldn't have released otherwise)? I'd imagine generally if a commercial developer saw a license like that they would just choose not to use the AGPL code. I know I won't use any code or libraries which place these sorts of obligations on me as a developer, unless it's in a product that I was planning to release the source of anyway.
If a commercial developer saw a license like that... they could pay for a commercial licence. Presumably a commercial developer thinks software is worth paying for.
> if a commercial developer saw a license like that they would just choose not to use the AGPL code.
Except for the server bit, the restriction being described is called copyleft. And it appears in all GPL licenses, except LGPL. Some of the major OSS in use today is released under it: Linux, MySQL and MariaDB, VLC, and of course all the FSF software, such as GCC.
The AGPL is an interesting idea in principle, but it is an ecosystem-level coordination problem if you apply it to libraries. Application that include those libraries also need to be AGPL which means any existing application that wants to use it must be re-licensed to AGPL and only use libraries that are AGPL-compatible. Nobody wants to be a first mover in that direction.
Plus it is untested in court just how far its provisions go.
Took a glance at this one not so long ago - quite a nice tool to auto-generate PDF docs yet not that good at editing. For such a purpose I still use this PDFfiller https://w9.pdffiller.com but it's a paid one and written in JS. Nevertheless it's well-crafted enough to do all the works on visuals and overall layout