XPDF
XPDF is a free open source cross-platform suite of command-line PDF programs which allow you to view PDF files and includes several tools for converting PDFs into text and extracting images. XPDF was originally written for Linux, but has been ported to Windows and Macintosh. XPDF also has an open source PDF viewer, but it's lacks a strong user interface, so I don't recommend it.
Contents
Programs
PDFDetach
Extracts files embedded in PDF files.
PDFFonts
Gives information about the fonts used in the PDF file.
PDFImages
Extracts images from PDF files. Images are exported as PPM bitmaps, but it includes options for exporting JPEG files without having to re-render them.
PDFInfo
Gives detailed information about the specified PDF file.
PDFToHTML
Converts the PDF into an HTML document.
PDFToPNG
Renders the PDF into a series of PNG images of specified size.
PDFToPPM
Renders the PDF into a series of PPM images.
PDFToPS
Converts the PDF into PS (PostScript) format.
PDFToText
Extracts the text from the PDF document. Includes several features for extracting text while maintaining tabular and line printer layouts.
Examples
Converting to PNG
PDFtoPNG.exe will convert each page of the PDF into a PNG image with a DPI you specify. Example:
pdftopng.exe -r 72 mydocument.pdf x
This will convert every page of the PDF into a series of PNG images named x-000000.png, x-000001.png, etc., at 72 DPI.
Converting to Text
PDFtoText.exe is the best program I've seen at converting a PDF document into a plain text file because is has several features to help retain the original layout of the document. Example:
pdftotext.exe -table mydocument.pdf mytext.txt
This will convert the PDF document into a text file while trying to retain any tabular layouts.
Extracting Images
PDFImages.exe can extract all of the images from a PDF document. Unless specified to retain JPEG format, all images will be exported into PPM. Example:
pdfimages.exe -j mydocument.pdf x
This will extract all of the images from a PDF into a series of files named x-0000.ppm, x-0001.ppm, etc., while retaining all JPEGs.