我正在开发PDF阅读器应用程序。我正在使用Radaee PDF阅读器sdk。我正在尝试使用这个sdk从android中的资产打开PDF。我需要一些帮助。我使用的代码如下:
m_vFiles = new PDFGridView(this, null);
m_vFiles.PDFSetRootPath("/mnt");
m_vFiles.setOnItemClickListener(this);
setContentView(m_vFiles);
但它正在采用SD卡的路径并显示所有的pdf文件。
一位用户使用过此sdk。 http://chat.stackoverflow.com/users/1503155/lazy-ninja
答案 0 :(得分:5)
要使用RadaeePDF
从资源打开pdf,您可以在以下活动中执行以下操作:
private PDFReader m_vPDF = null;
private Document doc = new Document();
private PDFAssetStream stream = new PDFAssetStream();
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Global.Init(this);
m_vPDF = new PDFReader(this);
doc.Close();
stream.open(getAssets(), "test.pdf");
int ret = doc.OpenStream(stream, null);
//int ret = doc.Open("/sdcard/test1.pdf", null);
switch( ret )
{
case -1://need input password
finish();
break;
case -2://unknown encryption
finish();
break;
case -3://damaged or invalid format
finish();
break;
case -10://access denied or invalid file path
finish();
break;
case 0://succeeded, and continue
break;
default://unknown error
finish();
break;
}
m_vPDF.open(doc);
setContentView( m_vPDF );
}
答案 1 :(得分:4)
还有另一种方法可以从任何外部路径打开pdf
m_doc.Close();
int ret = m_doc.Open( book_path[string path of pdf], null );
switch( ret )
{
case -1://need input password
finish();
break;
case -2://unknown encryption
finish();
break;
case -3://damaged or invalid format
finish();
break;
case -10://access denied or invalid file path
finish();
break;
case 0://succeeded, and continue
break;
default://unknown error
finish();
break;
}
m_doc.SetCache( Global.tmp_path + "/temp.dat" );//set temporary cache for editing
System.out.println(">>>>>>>>path"+m_doc.GetPageCount());
m_reader.PDFOpen(m_doc, false, this);