I tride meny methods but they do nothing it don't run after feirst line of metod I used pdf rendere but when I run the method to extract pages it get errors fromthe first line
//this is the full code
package com.example.printrev;
public class Printact extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
Button sel,go;
TextView t;
EditText edtex;
ImageView fpg;
PdfRenderer renderer;
public int md= 0;
boolean is_selected = false;
private static final int PERMISSION_REQUEST_CODE = 7;
int f=0;
public String srct ;
public int pgcount=0;
public ArrayList<Bitmap> bitmaps = new ArrayList<>();
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_printact);
fpg =(ImageView) findViewById(R.id.imageView2);
edtex = (EditText) findViewById(R.id.editTextTextPersonName);
sel = (Button) findViewById(R.id.pdf_selc);
go = (Button) findViewById(R.id.go);
t = (TextView) findViewById(R.id.pdfname);
Spinner spinner = findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.selec, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
sel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
f=0;
if (!(ContextCompat.checkSelfPermission(Printact.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
askPermission();
}
Intent intent = new Intent();
intent.setType("application/pdf");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 1);
}
});
go.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
f=0;
if (!(ContextCompat.checkSelfPermission(Printact.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){
askPermission();
}
Toast.makeText(Printact.this, "Arry bilded", Toast.LENGTH_SHORT).show();
build();
}
});
}
private void build() {
/*if(m==3){
for(int x=0,x<pagcount;x++){
if(x%2==1){
front[x]=bitmapArry[]
}else{
}
}else if (m==2){
int i[]=[pagcount];
int c=0
String g= edtex.toString();
int m=0;
string h="";
for(g:string s){
if(s=="."){
if (m!=0){
for(int x=(m+1);x<=(h.toInt();x++){
i[c]=x;
c++;
}
h="";
m=0;
}
i[c]=h.toInt();
c++;
h="";
}else if(s=="-"){
i[c]=h.toInt();
c++;
m=h.toInt();
h="";
}else{
h+=s;
}
}
}*/
Toast.makeText(this, "Sub arry bulded", Toast.LENGTH_SHORT).show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
String pdfPath = data.getData().getPath();
t.setText(pdfPath);
srct = t.toString();
}
try {
Toast.makeText(this, "fgfsgsf", Toast.LENGTH_SHORT).show();
ParcelFileDescriptor parcelFileDescriptor = getContentResolver()
.openFileDescriptor(Uri.parse(srct),"s");
renderer = new PdfRenderer(parcelFileDescriptor);
pgcount = renderer.getPageCount();
Toast.makeText(this, pgcount, Toast.LENGTH_SHORT).show();
ArrayList<Bitmap> bitmaps = new ArrayList<>();
if(renderer!=null){
for(int x=0;x<pgcount;x++){
PdfRenderer.Page page=renderer.openPage(x);
Bitmap bitmap = Bitmap.createBitmap(page.getWidth(),page.getHeight(),Bitmap.Config.ARGB_8888);
page.render(bitmap,null,null,PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
bitmaps.add(bitmap);
}}
fpg.setImageBitmap(bitmaps.get(0));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String m = adapterView.getItemAtPosition(i).toString();
if (m !=""){is_selected = true;}
if (is_selected) {
switch (m) {
case "Print":
md=1;
edtex.setVisibility(View.INVISIBLE);
break;
case "Print selected pages":
md=2;
edtex.setVisibility(View.VISIBLE);
break;
case "Print doble side":
md=3;
edtex.setVisibility(View.INVISIBLE);
break;
default:
md=0;
break;
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
private void askPermission() {
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},PERMISSION_REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull @NotNull String[] permissions, @NonNull @NotNull int[] grantResults) {
if (requestCode == PERMISSION_REQUEST_CODE)
{
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "permission Graneted", Toast.LENGTH_SHORT).show();
}else
{
Toast.makeText(Printact.this,"Permission Denied",Toast.LENGTH_SHORT).show();
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
//this is the method I used to extract pages try {
ParcelFileDescriptor parcelFileDescriptor = getContentResolver()
.openFileDescriptor(Uri.parse(srct),"s");//srct is pdf uri
renderer = new PdfRenderer(parcelFileDescriptor);
pgcount = renderer.getPageCount();
Toast.makeText(this, pgcount, Toast.LENGTH_SHORT).show();
ArrayList<Bitmap> bitmaps = new ArrayList<>();
if(renderer!=null){
for(int x=0;x<pgcount;x++){
PdfRenderer.Page page=renderer.openPage(x);
Bitmap bitmap = Bitmap.createBitmap(page.getWidth(),page.getHeight(),Bitmap.Config.ARGB_8888);
page.render(bitmap,null,null,PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
bitmaps.add(bitmap);
}}
fpg.setImageBitmap(bitmaps.get(0));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}``