一、aspose.pdf
1、按段落分段
/** * docx文本按段分段 */ public static void main(String[] args) { int i = 1; try { // 打开文件流 FileInputStream file = new FileInputStream("I:\\范文.docx"); // 创建 Word 文档对象 XWPFDocument doc = new XWPFDocument(file); // 获取所有段落 for (XWPFParagraph para : doc.getParagraphs()) { // 输出段落文本 if (!para.getText().equals("")) { System.out.println(i++ + ":" + para.getText()); } } // 关闭文件流 file.close(); } catch (IOException e) { e.printStackTrace(); } }
2、按句子分段
其他
word转pdf工具之aspose
<dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words-crack</artifactId> <version>21.1</version> </dependency> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-slides</artifactId> <version>18.7</version> </dependency> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-cell</artifactId> <version>18.9</version> </dependency>
操作pdf其它api依赖
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.1.15</version> </dependency>
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.10</version> </dependency>
二、PDFBOX
1、提取pdf指定页码的数据
public static void main(String[] args) throws IOException { String pdfPath = "C:\\Users\\Fushihao\\Desktop\\pdf\\test.pdf"; int pageIndex = 4; // 指定要提取文本的页面号码 // 加载 PDF 文件 PDDocument document = PDDocument.load(new File(pdfPath)); // 提取指定页面的文本 PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(pageIndex + 1); stripper.setEndPage(pageIndex + 1); String pageText = stripper.getText(document); // 输出文本到控制台 System.out.println(pageText); // 关闭 PDF 文件 document.close(); }
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.10</version> </dependency>
2、获取 PDF 字数
public static int getPdfWords(File file) throws IOException { // 加载文件 PDDocument document = PDDocument.load(file); PDFTextStripper stripper = new PDFTextStripper(); // 获取字数 String text = stripper.getText(document); // 关闭 document.close(); // 去除特殊符号返回字数 return text.replaceAll("[\\r\\n\\t ]+", "").length(); }