当前位置: 首页 > 面试题库 >

如何在Android中呈现PDF

魏楷
2023-03-14
问题内容

在我的应用程序中,我将收到一个字节流,并将其转换为手机内存中的pdf文件。如何将其渲染为pdf?并在活动中显示?


问题答案:

某些手机​​(例如Nexus One)预先安装了Quickoffice版本,因此将文件保存到SD卡后,发送适当的Intent可能很容易。

public class OpenPdf extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button) findViewById(R.id.OpenPdfButton);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                File file = new File("/sdcard/example.pdf");

                if (file.exists()) {
                    Uri path = Uri.fromFile(file);
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setDataAndType(path, "application/pdf");
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                    try {
                        startActivity(intent);
                    } 
                    catch (ActivityNotFoundException e) {
                        Toast.makeText(OpenPdf.this, 
                            "No Application Available to View PDF", 
                            Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
    }
}


 类似资料:
  • 问题内容: Android库中没有PDF支持。有什么方法可以在Android应用程序中呈现PDF文件吗? 问题答案: 自API Level 21(Lollipop)起,Android提供了PdfRenderer类: 对于较旧的API,我建议使用Android PdfViewer库,该库非常快速且易于使用,并根据Apache License 2.0授权:

  • 问题内容: 好的,很简单的问题,我正在使用一种AJAX方法,它的作用是通过查询在数据库中搜索特定信息。我可以在控制台中看到正在查询,甚至可以在Chrome开发者控制台中看到“发布”,当我单击它时,可以看到要显示的HTML,但是我不知道如何在页面中显示红外线。 :3000 /已经有我要显示的html,但是我该如何更新呢? 我展示的方式是这样的… @itemsok是我从查询保存项目的变量。 谢谢,我想

  • 假设我有一个从父类扩展的子类。父类呈现 在儿童类,我如何呈现一个HTML DOM像下面的任何例子没有复制粘贴?

  • 在yii中,我正在创建一个项目。 现在我想创建用于显示新密码插入窗口的小部件。要重置密码,用户需要正确输入安全问题的答案。在此之后,他将获得两个单选按钮。一个标签是“在此处更改密码”,另一个标签是“发送密码重置链接到邮件”。 所以当用户点击第一个单选按钮时,这个小部件将被渲染,它将有两个文本字段用于输入新密码和重复密码,以及提交按钮。那么如何实现这个小部件。 我创建了简单的小部件说你好: 所以,如

  • 问题内容: 假设您位于用户控制器中,并且想要获取显示请求的json响应,那么可以在您的views / users /目录中创建一个名为show.json的文件,并在用户之后#show操作完成后,它将呈现文件。 当前,您需要执行以下操作: 但是,如果您可以创建一个show.json文件,它会像这样自动呈现,那就太好了: 这将为我节省大量的痛苦,并且会消除我在控制器中渲染json时得到的那种可怕的肮脏

  • 问题内容: 我从文本区域得到了一些用户生成的html标记,我想在屏幕的另一部分上呈现它。标记将以字符串形式保存在组件的属性中。 由于明显的原因,我不想使用危险地设置HTML。是否有诸如标记为HTML 的解析器,以便它剥离脚本标记和其他无效的html。 问题答案: 使用sanitize-html模块对html进行清理,并使用危险地 SetInnerHTML呈现经过清理的字符串。 您可以创建一个简单的