jPDFWriter is a Java class library to create PDF documents directly from Java programs without having to install any third party drivers or software. It emulates the standard Java classes to print and draw graphics to reduce the learning curve when using the library and reuse existing code. It can create PDF files in two ways: PDF files can be created directly using jPDFWriter's very simple API (simply create a PDFDocument object, create as many PDFPage objects as necessary, draw strings, graphics, or any other elements supported by Graphics2D to the pages, and save the document), or jPDFWriter can extend the standard Java PrinterJob to create PDF files as though printing to a physical printer. This allows reuse of existing printing code and lets an application decide, at runtime, whether to send the output to a printer or to a PDF file. PDF files can be saved to files on a disk, written to a java.io.OutputStream, or written directly to a javax.servlet.ServletOutputStream to show in a browser when working within a J2EE application server. jPDFWriter is written entirely in Java, so application portability and operating system independence are not compromised.
Xidel is a command line tool to download Web pages and extract data from them. It can download files over HTTP/S connections, follow redirections, links, or extracted values, and process local files. The data can be extracted using XPath 2.0, XQuery 1.0, and JSONiq expressions, CSS 3 selectors, and custom, pattern-matching templates that are like an annotated version of the processed page. The extracted values can then be exported as plain text/XML/HTML/JSON, or assigned to variables to be used in other extract expressions or be exported to the shell. There is also an online CGI service for testing.