繁体   English   中英

Android:如何在特定页面打开 PDF 文件

[英]Android: How to open a PDF file at a specific page

我在这里看到了代码,它将在 PDF 查看器中打开 PDF 文件。 是否可以修改代码以使 PDF 查看器在特定页面打开 PDF?

不可以。除非提供这种可能性,否则您无法控制第 3 方应用程序。

是您可以在 pdf 文件中打开特定页面。

首先创建一个全局变量像

// 给出一个默认值

                int pageNumber=0;

                 //     secondly create   a button in search dilaoge to find exact page in activty.
                    btn.setOnClickListner(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    int position = 1;
                    String input = String.valueOf(textSearch.getText());
                    if (input != null && !input.equals("")) {
                        position = 



                  Integer.valueOf(String.valueOf(textSearch.getText()));
                    }

                    // assign globar var pageNumber to finding position
                    pageNumber = position-1;
                    textSearch.setText("");
                    alertDialog1.dismiss();
                }

// 在第三步中刚刚在默认函数中传递了 pageNumber。

       pdfViewr.from("Your uri String ").default(pageNumber).load();

Andrejs 建议我应该修改一个开源 pdf 查看器应用程序。 当我对 Android 编程变得更有信心时,我可能会尝试这样做。 与此同时,我正在遵循不同的策略。 我将各个 PDF 页面的图像存储为单独的 jpg 文件,并使用 WebView / WebViewClient 来显示各个页面。 这些可以缩放和平移(如在 PDF 查看器中),当我触摸页面边缘附近的屏幕时,很容易让我的应用程序移动到下一页或上一页。

对于ezpdf阅读器:
添加intent.putExtra("page", 110);

但是ezpdf已经很老了。 因此,我建议您查看我的新开源 pdf 查看器和注释器项目:

https://github.com/KnIfER/PolymPic

    Intent it = new Intent(Intent.ACTION_VIEW)
        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
        .putExtra("page", yourPageIndex)
        .setDataAndType(yourUri, "application/pdf");
    startActivity(it);

它基于 PDFium,速度很快,甚至可以在 android 4.4 上很好地运行。

是的,有一种方法可以在 pdf 文件中打开特定页面

  • 内部主要活动
     @Override
     public void onClick(View v) {
         Intent intent = new Intent(getActivity(), pdfActivity.class);
         intent.putExtra("pageno", 5); // add this to pass the page number
         startActivity(intent);
     }
 });
  • 内部 Pdf 活动
pdfView.fromAsset("SAMPLE_FILE.pdf")
     .defaultPage(getIntent().getIntExtra("pageno",0)) // this is used to scroll to the page required
     .enableAnnotationRendering(true)
     .scrollHandle(new DefaultScrollHandle(this))
     .load();

如果您不希望它通过意图

pdfView.fromAsset("SAMPLE_FILE.pdf")
     .defaultPage(65) // Write the number of the page
     .enableAnnotationRendering(true)
     .scrollHandle(new DefaultScrollHandle(this))
     .load();

打开 PDF 文件到特定页面

要将 HTML 链接定位到 PDF 文件中的特定页面,请将 #page=[page number] 添加到链接 URL 的末尾。

例如,此 HTML 标记打开名为 myfile.pdf 的 PDF 文件的第 4 页:

<A HREF="http://www.example.com/myfile.pdf#page=4">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM