gpt4 book ai didi

android - 如何在我的 android 应用程序中阅读 pdf?

转载 作者:IT王子 更新时间:2023-10-28 23:45:50 26 4
gpt4 key购买 nike

我正在制作一个需要打开 pdf 的应用程序。

我在 Assets 文件夹中也有一些 pdf,所以我无法直接在 webview 中打开它。

android默认不支持pdf。

是否有任何适用于 android 的 API(MuPdf 除外)??

我的设备没有安装任何 pdf 阅读器,所以 ACTION VIEW 对我没有帮助

以下不起作用.......

How to render a PDF file in Android

Open asset file pdf in application

你能推荐我什么好的api吗?

最佳答案

我只是使用 PdfViewer.jar 完成了该操作。 (使用蓝色按钮下载)并编写如下代码。

First.java

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

File images = Environment.getExternalStorageDirectory();
imagelist = images.listFiles(new FilenameFilter()
{
public boolean accept(File dir, String name)
{
return ((name.endsWith(".pdf")));
}
});
pdflist = new String[imagelist.length];
for(int i = 0;i<imagelist.length;i++)
{
pdflist[i] = imagelist[i].getName();
}
this.setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, pdflist));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
String path = imagelist[(int)id].getAbsolutePath();
openPdfIntent(path);
}

private void openPdfIntent(String path)
{
try
{
final Intent intent = new Intent(First.this, Second.class);
intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path);
startActivity(intent);
}
catch (Exception e)
{
e.printStackTrace();
}
}

Second.java

public class Second extends PdfViewerActivity 
{

@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}

public int getPreviousPageImageResource() {
return R.drawable.left_arrow;
}

public int getNextPageImageResource() {
return R.drawable.right_arrow;
}

public int getZoomInImageResource() {
return R.drawable.zoom_in;
}

public int getZoomOutImageResource() {
return R.drawable.zoom_out;
}

public int getPdfPasswordLayoutResource() {
return R.layout.pdf_file_password;
}

public int getPdfPageNumberResource() {
return R.layout.dialog_pagenumber;
}

public int getPdfPasswordEditField() {
return R.id.etPassword;
}

public int getPdfPasswordOkButton() {
return R.id.btOK;
}

public int getPdfPasswordExitButton() {
return R.id.btExit;
}

public int getPdfPageNumberEditField() {
return R.id.pagenum_edit;
}
}

希望这对您有很大帮助。尝试这个。不要忘记在 list 中添加您的 Second.java。在 second.java 中使用您的可绘制对象添加一些所需的可绘制对象。并且,请引用 GitHub 中的示例

关于android - 如何在我的 android 应用程序中阅读 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com