久しぶりにJavaでPDFを読み込む必要が出たのでPDFBoxを使って読み込んでみた。
ページごとのテキストを抽出したかったがぱっとみページ単位のオブジェクトは見つからなかった。そのためページを指定して以下のイメージで読み込み。
PDDocument pdf = null; try (FileInputStream pdfStream = new FileInputStream(parsePath)) { PDFParser pdfParser = new PDFParser(pdfStream); pdfParser.parse(); pdf = pdfParser.getPDDocument(); int pageNums = pdf.getNumberOfPages(); PDFTextStripper textStripper = new PDFTextStripper(); for (int currentPage = 1; currentPage <= pageNums; currentPage++) { textStripper.setStartPage(currentPage); textStripper.setEndPage(currentPage); String textInPDF = textStripper.getText(pdf);
とりあえず要望は満たしているけどかっこ悪い。