【问题标题】:How to get the number of pages of a pdf file in Android?如何在Android中获取pdf文件的页数?
【发布时间】:2015-05-27 13:05:18
【问题描述】:

你能帮我找出一个 pdf 文档在 Android 上的页数吗,至少支持 api 版本 16。我正在提取文档信息,但看不到获取总页数的解决方案.到目前为止,这就是我所做的:

private void extractDocumentDataFromUri(Uri uri)
    {
        String[] dataFileds = new String[]{
                MediaStore.MediaColumns.DATA,
                OpenableColumns.DISPLAY_NAME,
                OpenableColumns.SIZE};

        Cursor cursor = context.getContentResolver().query(uri, dataFileds, null, null, null);
        cursor.moveToFirst();

        contentUrl = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
        title = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
        size = cursor.getInt(cursor.getColumnIndex(OpenableColumns.SIZE));

        cursor.close();

        contentType = context.getContentResolver().getType(uri);
    }

【问题讨论】:

标签: android pdf fileinfo


【解决方案1】:

试试这个:

private void countPages(File pdfFile) throws IOException {
    try {
       
        ParcelFileDescriptor parcelFileDescriptor = ParcelFileDescriptor.open(pdfFile, ParcelFileDescriptor.MODE_READ_ONLY);
        PdfRenderer pdfRenderer = null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
            pdfRenderer = new PdfRenderer(parcelFileDescriptor);
            totalpages = pdfRenderer.getPageCount();
            pdfRenderer.close()
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

【讨论】:

  • SDK 少于 Lollipop 的设备呢??
【解决方案2】:

如果您将 iTextG 库添加到您的 libs 文件夹,则此解决方案有效。该库包含一个名为 PdfReader 的类。

试试这样的:

PdfReader reader = new PdfReader("Your file path");
int aa = reader.getNumberOfPages();

【讨论】:

  • 希望对您有所帮助!
  • @"Krupa Patel" 会支持到 android api 版本 16 吗?抱歉,不清楚。
  • 我在 Android Studio 或在线文档中都找不到 PdfReader 对象:(
  • PdfReader 是一个 iTextG 类。如果你想让它工作,你需要 iTextG 库。
  • 你应该已经指出使用这个类需要导入一个库..
猜你喜欢
  • 2010-09-27
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多