PDFBox.是一個Open Source的Java PDF Library,可以利用它來協助處理PDF檔案的一些應用(用iText也是可行的,不過它好像不支援擷取純文字「iText in Action, pp. 576」),例如:擷取PDF檔案中的純文字、轉換PDF檔案到Image檔等等.. 諸如此類的應用。
而且「Lucene」就是用它來轉換PDF到純文字再進行索引的~
下述是擷取PDF檔案中的純文字:(FontBox-0.1.0-dev.jar、PDFBox-0.7.3.jar required!)
import java.io.IOException;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;
public class PDFTextExtractor
{
private PDDocument document;
public String extractText(String file) throws IOException
{
document = PDDocument.load(file);
PDFTextStripper stripper = new PDFTextStripper();
stripper.setStartPage(1);
stripper.setEndPage(document.getNumberOfPages());
return stripper.getText(document);
}
public static void main(String[] args)
{
PDFTextExtractor extractor = new PDFTextExtractor();
try
{
String text = extractor.extractText("C:\\test.pdf");
System.out.println(text);
}catch (IOException e)
{
e.printStackTrace();
}
}
}
相關資源
.PDF Reference and Adobe Extensions to the PDF Specification - PDF規格書
.Glyph & Cog: Text Extraction - 解釋為何擷取PDF中的純文字不是那麼容易