Android Studio

Android Studio PDF Viewer Example PICK FILE PDF

প্রিয় বন্ধুগণ কিভাবে মোবাইল অ্যাপ্লিকেশনে পিডিএফ ভিউ এড করতে হয় অর্থাৎ আপনি যদি একটা এন্ড্রয়েড অ্যাপস তৈরি করেন এবং পিডিএফ রিডার হিসেবে কাজ করে তাহলে কিভাবে প্রোগ্রামিং করতে হবে চলুন দেখিয়ে দিচ্ছি কিভাবে পিডিএফ ভিউ অ্যাপস তৈরি করবেন।

Android Studio PDF Viewer Example

android স্টুডিওর সাহায্যে এই প্রোগ্রামিংটি করা হয়েছে যা এন্ড্রয়েড অ্যাপস তৈরি করতে সহায়তা করতে পারে আমরা এখানে নিচে সম্পূর্ণ বিষয় উল্লেখ করব এবং প্রোগ্রামিং গুলো নিচে শেয়ার করব সোর্স কোড দেয়া থাকবে যা ডাউনলোড করে ব্যবহার করতে পারেন।

কিভাবে পিডিএফ অ্যাপ তৈরি করবেন

  • First create a blank project with Android Studio
  • activity_main.xml Design
  • MainActivity.java Now Programming
  • Now run the apps
  • Now use PDF and Views

অ্যান্ড্রয়েড স্টুডিও পিডিএফ ভিউ 

একটি বিশাল আকার। তাই আকারের সাথে সম্পর্কিত এই সমস্যাটি মোকাবেলা করার জন্য আমরা আমাদের অ্যাপের ভিতরে ফাইলগুলি সংরক্ষণ না করে সরাসরি আমাদের অ্যাপের ভিতরে সার্ভার থেকে পিডিএফ ফাইলগুলি লোড করব।

সার্ভার থেকে পিডিএফ ফাইল লোড করা আমাদের অ্যাপের আকার বৃদ্ধি পরিচালনা করতে সাহায্য করবে। তাই এই প্রবন্ধে, আমরা আমাদের অ্যান্ড্রয়েড অ্যাপের ভিতর ইউআরএল থেকে পিডিএফ ফাইলগুলি কীভাবে লোড করব তা দেখব।

\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="PICK FILE"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="0/0"
        android:textSize="20dp"
        app:layout_constraintStart_toEndOf="@id/button1"
        app:layout_constraintBottom_toTopOf="@id/imageView"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toStartOf="@id/button2"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="PREV"
        app:layout_constraintEnd_toStartOf="@+id/button3"
        app:layout_constraintStart_toEndOf="@+id/textView1"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button3"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="NEXT"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:scaleType="fitCenter"
        android:background="@color/white"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button2"
        android:layout_margin="8dp"
        android:elevation="8dp"
        tools:srcCompat="@tools:sample/backgrounds/scenic" />

</androidx.constraintlayout.widget.ConstraintLayout>

\app\src\main\java\com\example\myapplication\MainActivity.java


import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.pdf.PdfRenderer;
import android.net.Uri;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import java.io.FileNotFoundException;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {
    TextView textview1;
    ImageView imageview1;
    PdfRenderer renderer;
    int total_pages = 0;
    int display_page = 0;
    public static final int PICK_FILE = 99;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button1 = findViewById(R.id.button1);
        Button button2 = findViewById(R.id.button2);
        Button button3 = findViewById(R.id.button3);
        textview1 = findViewById(R.id.textView1);
        imageview1 = findViewById(R.id.imageView);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.setType("application/pdf");
                startActivityForResult(intent, PICK_FILE);
            }
        });

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // move to previous page
                if (display_page > 0) {
                    display_page--;
                    _display(display_page);
                }
            }
        });

        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // move to next page
                if (display_page < (total_pages - 1)) {
                    display_page++;
                    _display(display_page);
                }
            }
        });

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == PICK_FILE && resultCode == RESULT_OK){
            if (data != null){
                Uri uri = data.getData();
                try {
                    ParcelFileDescriptor parcelFileDescriptor = getContentResolver()
                            .openFileDescriptor(uri, "r");
                    renderer = new PdfRenderer(parcelFileDescriptor);
                    total_pages = renderer.getPageCount();
                    display_page = 0;
                    _display(display_page);
                } catch (FileNotFoundException fnfe){

                } catch (IOException e){

                }
            }
        }
    }

    private void _display(int _n) {
        if (renderer != null) {
            PdfRenderer.Page page = renderer.openPage(_n);
            Bitmap mBitmap = Bitmap.createBitmap(page.getWidth(), page.getHeight(), Bitmap.Config.ARGB_8888);
            page.render(mBitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
            imageview1.setImageBitmap(mBitmap);
            page.close();
            textview1.setText((_n + 1) + "/" + total_pages);
        }
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        if (renderer != null){
            renderer.close();
        }
    }

}

ভিডিও এডিটিং কিভাবে শিখব

ভিডিও এডিটিং কিভাবে শিখব
ভিডিও এডিটিং কিভাবে শিখব

কিভাবে প্রফেশনাল ভিডিও এডিটিং শিখবেন আপনি যদি নতুন হয়ে থাকেন এবং প্রফেশনাল ভিডিও এডিটিং শিখতে চান তাহলে অনুরোধ করবো আমাদের এই পোস্টগুলো দেখুন।

ভিডিও এডিটিং সফটওয়্যার

ভিডিও এডিটিং সফটওয়্যার
ভিডিও এডিটিং সফটওয়্যার

আপনি কি প্রফেশনাল ভিডিও এডিটিং সফটওয়্যার খুঁজছেন আপনার জন্য কোন সফটওয়্যার টি কম্ফোর্টেবল অনুরোধ করব এই পোস্টটি দেখুন এখানে দশটি ভিডিও এডিটিং সফটওয়্যার শেয়ার করা হয়েছে। LInk

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button