0

我如何将位图添加到 pdfview,当我触摸它时位图可以变换和移动。我使用来自 joan zapata https://github.com/JoanZapata/android-pdfview的 pdfviewer 。有没有办法解决它。还是有其他图书馆适合我。这是我的活动。我尝试在 pdfview 中添加 ontouchlistener,但 pdfview 中的缩放和扫描不起作用。

package com.example.irfan.signatureapp;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import com.joanzapata.pdfview.PDFView;
import com.joanzapata.pdfview.listener.OnDrawListener;
import com.joanzapata.pdfview.model.PagePart;
import java.io.File;

public class PdfEditorActivity extends AppCompatActivity{

String pdfname;
Bitmap signatureBitmap;
PDFView pdfView;
OnDrawListener drawListener;
Canvas gCanvas;
PagePart pagePart;

private long then;
private int longClickDuration = 2000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pdf_editor);

    pdfView = (PDFView) findViewById(R.id.pdfView);

    Intent intent = getIntent();
    pdfname = intent.getStringExtra("filename");

}

@Override
protected void onResume() {
    super.onResume();
    loadPdfFile(pdfname);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.pdf_editor_menu,menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    super.onOptionsItemSelected(item);
    if(item.getItemId()==R.id.menu_add_signature){
        drawSignature();
    }
    return true;
}

void loadPdfFile(String path){
    File file = new File(path);
    pdfView.fromFile(file)
            .defaultPage(0)
            .load();

}

void drawSignature(){
    final String signaturePath = Environment.getExternalStorageDirectory().toString() + "/saved_signature/mysignature.png";
    signatureBitmap = BitmapFactory.decodeFile(signaturePath);
}
}
4

1 回答 1

0

你能用Itext吗?我过去用过。我不知道它是否会达到你想要的,但这是一个想法。您仍在使用该方法的 PDF 查看器 http://www.concretepage.com/itext/add-image-in-pdf-using-itext-in-java

于 2018-01-09T14:53:50.887 回答