java获取pdf文件的总页数

1.在pom.xml加入依赖

<dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>1.8.11</version>
        </dependency>

2.测试代码:

package api.api;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import com.lowagie.text.pdf.PdfReader;

public class PdfPageTest {
  public static void main(String[] args) throws FileNotFoundException, IOException {
    File file = new File("d:\\PRE-CON281100007-add-1546498235473.pdf");
    PdfReader pdfReader = new PdfReader(new FileInputStream(file));
    int pages = pdfReader.getNumberOfPages();

    System.out.println("pdf文件的总页数为:" + pages);
  }
}
 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要获取 PDF 文件、Word 文件、Excel 文件文件页数,您可以使用 Apache POI 库。 Apache POI 是一个开源的 Java 库,可用于读写 Microsoft Office 文件格式,包括 Word、Excel、PowerPoint 等。 下面是示例代码,该代码使用 Apache POI 读取 Word 文件,并获取文件页数: ```java import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import java.io.FileInputStream; import java.io.IOException; public class WordPageCount { public static void main(String[] args) throws IOException { // 读取文件 FileInputStream fis = new FileInputStream("example.docx"); XWPFDocument document = new XWPFDocument(fis); // 获取页数 int pageCount = 0; for (XWPFParagraph p : document.getParagraphs()) { String text = p.getText(); if (text.contains("page")) { pageCount++; } } System.out.println("Page count: " + pageCount); } } ``` 对于 PDF 文件,您可以使用 Apache PDFBox 库获取页数。下面是示例代码: ```java import org.apache.pdfbox.pdmodel.PDDocument; import java.io.File; public class PDFPageCount { public static void main(String[] args) throws IOException { // 读取文件 File file = new File("example.pdf"); PDDocument document = PDDocument.load(file); // 获取页数 int pageCount = document.getNumberOfPages(); System.out.println("Page count: " + pageCount); } } ``` 对于 Excel 文件,您可以使用下面的代码获取工作簿的页数(即工作表的数量): ```java import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; public class ExcelPageCount { ### 回答2: 要获取PDF文件、Word文件、Excel文件文件页数,可以使用Java中的不同库和API来实现。 1. 获取PDF文件页数: 使用开源的PDFBox库可以很方便地获取PDF文件页数。首先,需要添加PDFBox库的依赖项,如Maven中的依赖项: ```xml <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.15</version> </dependency> ``` 然后,使用以下代码获取PDF文件页数: ```java import org.apache.pdfbox.pdmodel.PDDocument; // 打开PDF文件 PDDocument document = PDDocument.load(new File("file.pdf")); // 获取页数 int totalPages = document.getNumberOfPages(); // 关闭PDF文件 document.close(); ``` 2. 获取Word文件页数: 使用Apache POI库可以读取Word文件,并获取页数。首先,需要添加Apache POI库的依赖项,如Maven中的依赖项: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> ``` ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.0</version> </dependency> ``` 然后,使用以下代码获取Word文件页数: ```java import org.apache.poi.xwpf.usermodel.XWPFDocument; // 打开Word文件 XWPFDocument document = new XWPFDocument(new FileInputStream("file.docx")); // 获取页数 int totalPages = document.getProperties().getExtendedProperties().getUnderlyingProperties().getPages(); // 关闭Word文件 document.close(); ``` 3. 获取Excel文件页数: 使用Apache POI库也可以读取Excel文件,并获取页数。依然需要添加Apache POI库的依赖项。然后,使用以下代码获取Excel文件页数: ```java import org.apache.poi.ss.usermodel.WorkbookFactory; // 打开Excel文件 Workbook workbook = WorkbookFactory.create(new FileInputStream("file.xlsx")); // 获取页数 int totalPages = workbook.getNumberOfSheets(); // 关闭Excel文件 workbook.close(); ``` 以上是在Java获取PDF文件、Word文件和Excel文件页数的方法。根据对应的文件类型,选择合适的库或API,并通过相应的方法获取页数即可。 ### 回答3: 要使用Java获取不同文件类型(如PDF、Word、Excel等)的页数,可以使用以下方法: 1. 对于PDF文件,可以使用Apache PDFBox库。该库提供了一个PDF文档类,可以获取文档的页数。以下是一个示例代码: ```java import org.apache.pdfbox.pdmodel.PDDocument; public class PDFPageCount { public static int getPageCount(String pdfFilePath) { int pageCount = 0; try (PDDocument document = PDDocument.load(new File(pdfFilePath))) { pageCount = document.getNumberOfPages(); } catch (IOException e) { e.printStackTrace(); } return pageCount; } public static void main(String[] args) { String pdfFilePath = "path/to/pdf/file.pdf"; int pageCount = getPageCount(pdfFilePath); System.out.println("PDF文件页数:" + pageCount); } } ``` 2. 对于Word文件,可以使用Apache POI库。POI库提供了HSSFWorkbook和XSSFWorkbook类,分别用于处理旧版(.xls)和新版(.xlsx)的Excel文件。以下是一个示例代码: ```java import org.apache.poi.xwpf.usermodel.XWPFDocument; public class WordPageCount { public static int getPageCount(String wordFilePath) { int pageCount = 0; try (XWPFDocument document = new XWPFDocument(new FileInputStream(wordFilePath))) { pageCount = document.getProperties().getExtendedProperties().getUnderlyingProperties().getPages(); } catch (IOException e) { e.printStackTrace(); } return pageCount; } public static void main(String[] args) { String wordFilePath = "path/to/word/file.docx"; int pageCount = getPageCount(wordFilePath); System.out.println("Word文件页数:" + pageCount); } } ``` 3. 对于Excel文件,可以使用Apache POI库。POI库提供了HSSFWorkbook和XSSFWorkbook类,分别用于处理旧版(.xls)和新版(.xlsx)的Excel文件。以下是一个示例代码: ```java import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class ExcelPageCount { public static int getPageCount(String excelFilePath) { int pageCount = 0; try (Workbook workbook = WorkbookFactory.create(new FileInputStream(excelFilePath))) { pageCount = workbook.getNumberOfSheets(); } catch (IOException e) { e.printStackTrace(); } return pageCount; } public static void main(String[] args) { String excelFilePath = "path/to/excel/file.xlsx"; int pageCount = getPageCount(excelFilePath); System.out.println("Excel文件页数:" + pageCount); } } ``` 以上是使用Java获取不同类型文件页数的方法。需要注意的是,需要提前引入相关的库(如PDFBox和POI库)以及处理异常情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值