Acceda a archivos PDF desde 'res / raw' o carpeta de activos mediante programación para analizar con los métodos dados

Acceda a archivos PDF desde 'res / raw' o carpeta de activos mediante programación para analizar con los métodos dados

Explicación:

En este momento, este programa accede a un archivo desde un administrador de archivos que toma la ruta de los archivos seleccionados y lo establece en el campo EditText 'mFilename'. El botón de escucha del botón Mostrar PDF a continuación muestra que la cadena 'pdffilename' recibe la cadena contenida en el campo EditText 'mFilename'. PdfViewerActivity se inicia y la cadena 'pdffilename' se pasa como Extra. En onCreate () la intención se verifica si es nula o no. Aquí es donde creo que el cambio puede / debe hacerse. A la cadena 'pdffilename' se le asigna lo que ve a continuación. Lo que quiero hacer es almacenar los archivos PDF de una de dos maneras ... en la 'res / raw / example_folder / example.pdf' o en la carpeta de activos. Quiero asignar 'pdffilename' mediante programación con la ruta donde estoy almacenando estos archivos PDF.

Así que básicamente...

  • Quiero almacenar archivos PDF en 'res / raw / folder_example / example.pdf' o la carpeta de activos
  • Quiero acceder a estos archivos desde el código ya que no necesito usar un administrador de archivos
  • De todos modos eso resolverá la mayor ayuda, soy bastante bueno con Java, pero de ninguna manera soy una superestrella, así que explique un poco con su código

Muchas gracias y estaré esperando para responder comentarios y editar esta publicación. Espero que esta publicación sea útil para otros usuarios, por lo que publicaré el código para la solución. cuando esté completo. ¡Gracias de nuevo!

Mostrar escucha de botón PDF en PdfFileSelectActivity ...

OnClickListener ShowPdfListener = new OnClickListener()
{
    public void onClick(View v)
    {
        mFilename = (EditText) findViewById(R.id.filename);
        String pdffilename = mFilename.getText().toString();
        Intent intent = new Intent(PdfFileSelectActivity.this,
        PdfViewerActivity.class)
        .putExtra(EXTRA_PDFFILENAME, pdffilename);
        startActivity(intent);
    }
};

PdfViewerActivity's onCreate () invocado desde show PDF Listener arriba ...

Intent intent = getIntent();

if (intent != null)
{
    if ("android.intent.action.VIEW".equals(intent.getAction()))
    {
        pdffilename = storeUriContentToFile(intent.getData());
    }
    else {
        pdffilename = getIntent().getStringExtra(PdfFileSelectActivity.EXTRA_PDFFILENAME);
    }
}

if (pdffilename == null)
    pdffilename = "no file selected";

setContent(null);

setContent () llamado desde arriba (si es necesario) ...

private void setContent(String password)
{
    try {
        parsePDF(pdffilename, password);
    }
    catch (PDFAuthenticationFailureException e)
    {
        System.out.println("Password needed");
    }
}

parsePDF () llamado desde arriba (si es necesario) ...

    private void parsePDF(String filename, String password) throws PDFAuthenticationFailureException
    {
        long startTime = System.currentTimeMillis();
        try {
            File f = new File(filename);
            long len = f.length();
            if (len == 0) {
                mGraphView.showText("file '" + filename + "' not found");
            }
            else {
                mGraphView.showText("file '" + filename + "' has " + len + " bytes");
                openFile(f, password);
            }
        }
        catch (PDFAuthenticationFailureException e)
        {
            throw e;
        } catch (Throwable e) {
            e.printStackTrace();
            mGraphView.showText("Exception: "+e.getMessage());
        }
        long stopTime = System.currentTimeMillis();
        mGraphView.fileMillis = stopTime-startTime;

   }

¡Gracias de nuevo!

Respuesta 1

Para acceder a él como un flujo de entrada desde los activos:

in = new BufferedReader(new InputStreamReader(activity.getAssets().open(yourfile.pdf)));
Respuesta: 2

Tengo esto, por lo que lo haré con éxito, pero también imprimirá el mensaje de la lista vacía, pero no estoy muy seguro de por qué. Todavía estoy aprendiendo sobre la recursividad, así que me disculpo si me he perdido algo ...

Preguntas: Hola, quiero insertar un mapa dinámico de Google en mi sitio web por dirección IP. Obtuve los datos lat / long usando herramientas de IPlocation. Todavía no pude conectar los datos lat / log de IPlocation a google ...

Necesito una expresión regular que compruebe si es una cadena entre comillas (por ') con posibles escapes \' dentro. Entonces, se me ocurre la siguiente expresión regular, \ '(\\. | [^ \']) * \ '. "" "\ '(\\. | [^ \']) * \ '" "". r.findFirstIn (s "' $ {" a "* 100} '") ...

Estoy creando una CustomizableIntroPart para mi aplicación Eclipse. Defino mis páginas usando XHTML que funciona bien. Pero manejar imágenes está causando algunos problemas. Genero mi contenido usando ...