我需要在我的项目中使用开源pdf视图,并使用android pdf view库。 我已经添加了jar文件来构建路径,当我运行我的项目时,我得到了一些错误。 有我的代码:
public class MainActivity extends Activity {
private int CODE;
private String PATH;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b2 = (Button) findViewById(R.id.button2);
CODE = 1;
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent in = new Intent(MainActivity.this, pdfAct.class);
in.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, PATH);
startActivity(in);
}
});
b2.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("*/*");
startActivityForResult(i, CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
PATH = data.getDataString();
}
}
pdf查看活动:
import net.sf.andpdf.pdfviewer.PdfViewerActivity;
public class pdfAct extends PdfViewerActivity {
@Override
public int getNextPageImageResource() {
return R.drawable.right_arrow;
}
@Override
public int getPdfPageNumberEditField() {
return R.id.pagenum_edit;
}
@Override
public int getPdfPageNumberResource() {
return R.layout.dialog_pagenumber;
}
@Override
public int getPdfPasswordEditField() {
return R.id.etPassword;
}
@Override
public int getPdfPasswordExitButton() {
return R.id.btExit;
}
@Override
public int getPdfPasswordLayoutResource() {
return R.layout.pdf_file_password;
}
@Override
public int getPdfPasswordOkButton() {
return R.id.btOK;
}
@Override
public int getPreviousPageImageResource() {
return R.drawable.left_arrow;
}
@Override
public int getZoomInImageResource() {
return R.drawable.zoom_in;
}
@Override
public int getZoomOutImageResource() {
return R.drawable.zoom_out;
}
}
并记录错误的日志文件:
10-30 08:23:18.991: E/AndroidRuntime(1613): FATAL EXCEPTION: main
10-30 08:23:18.991: E/AndroidRuntime(1613): java.lang.NoClassDefFoundError: com.example.pdf01.pdfAct
10-30 08:23:18.991: E/AndroidRuntime(1613): at com.example.pdf01.MainActivity$1.onClick(MainActivity.java:27)
10-30 08:23:18.991: E/AndroidRuntime(1613): at android.view.View.performClick(View.java:4204)
10-30 08:23:18.991: E/AndroidRuntime(1613): at android.view.View$PerformClick.run(View.java:17355)
10-30 08:23:18.991: E/AndroidRuntime(1613): at android.os.Handler.handleCallback(Handler.java:725)
10-30 08:23:18.991: E/AndroidRuntime(1613): at android.os.Handler.dispatchMessage(Handler.java:92)
10-30 08:23:18.991: E/AndroidRuntime(1613): at android.os.Looper.loop(Looper.java:137)
10-30 08:23:18.991: E/AndroidRuntime(1613): at android.app.ActivityThread.main(ActivityThread.java:5041)
10-30 08:23:18.991: E/AndroidRuntime(1613): at java.lang.reflect.Method.invokeNative(Native Method)
10-30 08:23:18.991: E/AndroidRuntime(1613): at java.lang.reflect.Method.invoke(Method.java:511)
10-30 08:23:18.991: E/AndroidRuntime(1613): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-30 08:23:18.991: E/AndroidRuntime(1613): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-30 08:23:18.991: E/AndroidRuntime(1613): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:1)
我建议您使用mu-pdf库。如果您想在现有的Android应用程序项目中使用MUPDF,您可以按照this link找到的指南(所有学分转到作者,我没有&# 39;写下这个)。
另外,正如我们两个(如果我理解你的需要)只需要PDF渲染功能,如果有人指出如何(如果可能的话)禁用MuPDF库中构建的一些不必要的功能,那将会很棒来自源代码(作为DjVu支持,仅作为示例)。
GITHUB - > https://github.com/muennich/mupdf
注意商业应用不是免费的 -
检查以获得更好的帮助 - > Integrate MuPDF Reader in an app
Android应用程序中PDF查看器的一些源代码文件。检查链接并尝试:
http://code.google.com/p/apv/source/browse/
http://code.google.com/p/android-pdf/