показать PDF в приложении для Android - PullRequest
1 голос
/ 27 июня 2011

У меня есть файл PDF в resource/raw/color_chart_ciao.pdf в моем приложении. Я хочу показать этот файл в своем приложении.Я написал код для этого:

File file = new File("http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf");
        System.out.println("FIle Path is" + file);
        if (file.exists()) {
            System.out.println("FIle Path is" + file);
            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);
                System.out.println("pdf show");
            } 
            catch (ActivityNotFoundException e) {
                Toast.makeText(CiaoView.this, 
                    "No Application Available to View PDF", 
                    Toast.LENGTH_SHORT).show();
            }
        }

, но я не вижу PDF в своем приложении, когда я запускаю свое приложение.Я более свеж в разработке приложений.Пожалуйста, помогите с этим вопросом.

Ответы [ 2 ]

0 голосов
/ 20 июля 2014

-Скопируйте следующий код в вашей деятельности.Вызовите функцию CopyReadAssets ("File_name.pdf") из любой точки мира.Поместите файл File_name.pdf в папку активов.Это сработает!Удачного кодирования!:)

private void CopyReadAssets(String pdfname)
{
AssetManager assetManager = getAssets();
InputStream in = null;
OutputStream out = null;
File file = new File(getFilesDir(), pdfname);
try
{
    in = assetManager.open(pdfname);
    out = openFileOutput(file.getName(), Context.MODE_WORLD_READABLE);
    copyFile(in, out);
    in.close();
    in = null;
    out.flush();
    out.close();
    out = null;
} catch (Exception e)
{
    Toast.makeText(getApplicationContext(), "Pdf Viewer not installed", Toast.LENGTH_SHORT).show();
}
try
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(
        Uri.parse("file://" + getFilesDir() + "/"+pdfname),
        "application/pdf");

startActivity(intent);
}catch (Exception e) {
    // TODO: handle exception
    Toast.makeText(getApplicationContext(), "Pdf Viewer not installed" ,Toast.LENGTH_SHORT).show();
}

}

0 голосов
/ 27 июня 2011

если в устройстве / эмуляторе установлена ​​программа чтения PDF по умолчанию, то только вы можете открыть PDF по назначению, но ваше приложение не будет автономным приложением.Если вы хотите, чтобы ваше приложение было автономным, вам необходимо внедрить в свое приложение PDF reader.Есть проект с открытым исходным кодом на PDF прочитайте ваши, которые могут следовать.

Вот несколько ссылок для PDF :

  1. apdf
  2. mupdf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...