IText

历史

1998年冬天，Bruno Lowagie在根特大学的一个内部项目开发了一个PDF库——rugPdf，用来创建一个PDF文档应用（针对学生管理用）。rugPdf是一个非常小、很复杂库，实现的功能很少，例如简单的读取和写入PDF文件。为了利用这个库，开发者必须了解PDF语法、对象、运算符和操作数。
1999年，Lowagie抛弃了rugPdf的代码，从头开始写了一个新的库——iText。Lowagie创建iText，意图使Java开发者在不了解PDF语法的情况下也可以使用这个库创建PDF文档，并在2000年2月14日将其作为自由及开放源代码软件发布。在2000年的夏天，Paulo Soares加盟了这个项目，现在他已经是iText新功能的主要开发者之一。 
2007年，《SOA World》（SOA世界）杂志将iText作为企业应该使用的10种开源解决方案之一。詹姆斯·高斯林称赞iText库，并在Huckster的新版本使用。纽约时报还利用iText来创建其公共领域文章的PDF版本。 
iText被嵌入在许多产品和服务中，包括Eclipse BIRT、Jasper Reports、Red Hat JBoss Seam、Windward Reports、pdftk等等。
2008年末，iText的专有许可证可用；2009年初，iText软件公司成立，成为iText产品的全球许可方。
2013年，德勤提名iText软件集团为比荷卢联盟高科技、高成长50强。该公司在比荷卢联盟中排名第10位，在比利时中排名第3位。

许可证和复刻

iTextSharp 4.1.6/iText 4.2.0之前的版本是在MPL和LGPL许可证下分发的，允许用户在闭源软件项目中使用。2009年底，iText第5版发布，其许可证被更换为Affero通用公共许可证第3版。
那些不愿意提供其源代码的项目，可以购买iText第5版的商业许可，或没有任何变化的继续使用iText的以前版本（其许可证更宽松）。然而，开发商Bruno Lowagie警告说，第5版之前的版本可能包含非LGPL授权的代码，因而以前版本的闭源项目的用户可能需要为侵犯著作权负责。虽然AGPL库可以链接到GPL的程序，但AGPL许可证与GPL许可证不兼容。

示例

下面的源代码生成一个PDF文件，作为一个Hello World的例子。
import java.io.FileOutputStream;import com.itextpdf.text.Document;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.PdfWriter;
 
public class ITextHelloWorld {
    public static void main(String args[]) {
        try {
            Document document = new Document();
            PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));
            document.open();
            document.add(new Paragraph("Hello World"));
            document.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }}