导航:首页 > 文档加密 > androidpdf源码

androidpdf源码

发布时间:2024-11-13 07:03:41

‘壹’ android开源项目pdfView如何加分页

使用拆分文档功能。
在PDF编辑器中,对pdf文件进行分页,还可以使用拆分文档功能。拆分文档功能在功能栏的“文档”中。在点击拆分文档后,同样会弹出对应的对话框,我们将其中设置调整一下,其中每次拆分页数是可以根据需求进行更改的,在完善好其他设置之后,点击确定即可完成pdf分页的操作。

‘贰’ Android上生成word或者pdf,有开源的api么

Android上生成word或者pdf,有开源的api么?思路有两个:

1、通过jni调用 ms word com接口 生成pdf

2、使用openoffice生成pdf

从生成的质量来看,第一种效果好,毕竟是微软自家产品。第二种对于普通的文档,转换基本没什么问题,但是在对于word文档里有公式式或特殊内容,转换出来会变形。下面的代码是使用
Jacob转换的 代码有点长:我整理的文章:itate-动态-文章《Android上生成word或者pdf,有开源的api么?》

‘叁’ android开发,想要获取手机内的所有pdf文件,该怎么做

先获取读取文件的权限,再遍历文件夹及子文件夹,直到结束就可以了。
private void getAllFiles(File root,ArrayList<File> results){
File files[] = root.listFiles();
if(files != null){
for (File f : files){
if(f.isDirectory()){
getAllFiles(f,results);
}
else{
String name = f.getName();
String extension
= name.substring(name.lastIndexOf("."));
if(extension.Equal("pdf")){
results.add(f);
}
}
}
}
}

‘肆’ android 如何获得pdf文件的页数

分页方法:

  1. 打开网络pdf 思路整体还是来源与图片的加载。

  2. android中加载网络图片的框架有很多个。如image-laoder, fresco、glide等,首先都是从内存中找图片,如果内存中没有,接着从本地找,本地没有在从网络下载。

  3. android中加载pdf也是类似,首先从本地找pdf文件,如果本地存在该pdf文件,直接打开,如果本地不存在,将该pdf文件下载到本地在打开。

  4. 下载文件用到了retrofit2的库,已经封装到android_pdf中了。

  5. 2.依赖android_pdf库方法

  6. 2.1 在项目的gradle中增加如下代码:

  7. compile 'com.lidong.pdf:android_pdf:1.0.1'

  8. 2.2 一句代码就可以加载网络pdf。

  9. ```

  10. pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址

  11. ```

  12. 2.3对fileFromLocalStorage(this,this,this,fileUrl,fileName)的解析

  13. /**

  14. ```

  15. * 加载pdf文件

  16. * @param onPageChangeListener

  17. * @param onLoadCompleteListener

  18. * @param onDrawListener

  19. * @param fileUrl

  20. * @param fileName

  21. */

  22. public void fileFromLocalStorage(

  23. final OnPageChangeListener onPageChangeListener,

  24. final OnLoadCompleteListener onLoadCompleteListener,

  25. final OnDrawListener onDrawListener,

  26. String fileUrl,

  27. final String fileName)

  28. ```

  29. 1. OnPageChangeListener onPageChangeListener :翻页回调

  30. 2. OnLoadCompleteListener onLoadCompleteListener:加载完成的回调

  31. 3. OnDrawListener:页面绘制的回调

  32. 4. String fileUrl : 文件的网络地址

  33. 5. String fileName 文件名称

  34. 3.使用android_pdf库方法

  35. 3.1写一个布局文件

  36. ```

  37. <?xml version="1.0" encoding="utf-8"?>

  38. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

  39. xmlns:tools="http://schemas.android.com/tools"

  40. android:id="@+id/activity_main"

  41. android:layout_width="match_parent"

  42. android:layout_height="match_parent"

  43. tools:context="com.lidong.pdf.androidpdf.MainActivity">

  44. <com.lidong.pdf.PDFView

  45. android:id="@+id/pdfView"

  46. android:layout_width="match_parent"

  47. android:layout_height="match_parent"

  48. />

  49. </RelativeLayout>

  50. ```

  51. 3.2在MainActivity中加载

  52. ```

  53. import android.graphics.Canvas;

  54. import android.os.Environment;

  55. import android.support.v7.app.AppCompatActivity;

  56. import android.os.Bundle;

  57. import android.util.Log;

  58. import android.widget.Toast;

  59. import com.lidong.pdf.PDFView;

  60. import com.lidong.pdf.api.ApiManager;

  61. import com.lidong.pdf.listener.OnDrawListener;

  62. import com.lidong.pdf.listener.OnLoadCompleteListener;

  63. import com.lidong.pdf.listener.OnPageChangeListener;

  64. import com.lidong.pdf.util.FileUtils;

  65. import java.io.File;

  66. import java.io.FileOutputStream;

  67. import java.io.IOException;

  68. import java.io.InputStream;

  69. import okhttp3.ResponseBody;

  70. import rx.android.schelers.AndroidSchelers;

  71. import rx.functions.Action1;

  72. import rx.schelers.Schelers;

  73. public class MainActivity extends AppCompatActivity implements OnPageChangeListener

  74. ,OnLoadCompleteListener, OnDrawListener {

  75. private PDFView pdfView ;

  76. @Override

  77. protected void onCreate(Bundle savedInstanceState) {

  78. super.onCreate(savedInstanceState);

  79. setContentView(R.layout.activity_main);

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

  81. displayFromFile1("http://file.chmsp.com.cn/colligate/file/00100000224821.pdf", "00100000224821.pdf");

  82. }

  83. /**

  84. * 获取打开网络的pdf文件

  85. * @param fileUrl

  86. * @param fileName

  87. */

  88. private void displayFromFile1( String fileUrl ,String fileName) {

  89. pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址

  90. }

  91. /**

  92. * 翻页回调

  93. * @param page

  94. * @param pageCount

  95. */

  96. @Override

  97. public void onPageChanged(int page, int pageCount) {

  98. Toast.makeText( MainActivity.this , "page= " + page +

  99. " pageCount= " + pageCount , Toast.LENGTH_SHORT).show();

  100. }

  101. /**

  102. * 加载完成回调

  103. * @param nbPages 总共的页数

  104. */

  105. @Override

  106. public void loadComplete(int nbPages) {

  107. Toast.makeText( MainActivity.this , "加载完成" + nbPages , Toast.LENGTH_SHORT).show();

  108. }

  109. @Override

  110. public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {

  111. // Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "

  112. // pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();

  113. }

  114. ```

‘伍’ android pdf如何实现发大后下一页

  1. 是接入第三方的jar包(如android-pdfview、AndroidPdfViewer
    、PdfViewPager、MuPdf等)这里面接入到项目里增加APP体积最小的就属android-pdfview了,但是也是增加了4m左右,这还是我只加了arm和arm-v7a,但是这个jar包有个致命的大坑,就是不能播放带有超链接的pdf文件,会报类型转换错误的crash,这个是我项目快要上线才发现的问题,而且作者也停更了,网上没有好的解决方法,只能把源码导入到项目里在报错的位置作相应的处理才能解决,而且可能会导致pdf显示不出来。别的jar包都因为实在是太大了,考虑到APP的体积都放弃了。
    2. 是我偶尔发现的官方的simple PdfRendererBasic这个主要是把pdf文件读出来把每一页ppt转成图片显示出来,不过这个每次只能显示一张,虽然可以做一个下一页按钮,但是实在是跟我的需求不符就也放弃了。
    3.
    接入pdf.js。这是个开源的把pdf转换成图片的工具,在网上有很多资料,但是大部分都是服务器解决的,官网上的例子也大部分都是用服务器解决的例子,android端可能用到的人很少,也没有详细的教程,其实很简单,主要是把pdf.js和pdf.worker.js这两个js文件考到你项目里的assets文件里面,然后在你的项目里直接用webview调用就好了。

    详细

‘陆’ 基于android如何读取pdf文件

  1. 首先在网络手机助手或者在别的别的第三方下载工具里下载ireader,如图所示。

4.点击确定之后会自动安装pdf组件。安装好之后,再次在文件管理器内打开pdf文件。这时候就可以阅读该文件了。

阅读全文

与androidpdf源码相关的资料

热点内容
香港中产程序员 浏览:915
python适合什么编译器 浏览:842
双强力夹文件夹使用方法 浏览:328
程序员瑜伽教学 浏览:807
python网页分析工具 浏览:687
服务器如何手动关机 浏览:47
火柴盒app什么都加载不出来 浏览:321
为什么腾讯视频app不显示缓存列表 浏览:408
android网络服务器 浏览:972
618程序员男扮女装 浏览:995
框架梁为什么是非加密区 浏览:993
什么app能把删了的照片恢复 浏览:360
公务员说程序员工资 浏览:400
怎样设置自己手机号码加密 浏览:700
服务器怎么设置登录地址 浏览:997
日本监控摄像头用什么APP 浏览:58
株洲歪胡子游戏源码 浏览:140
朔源码燕窝会假吗 浏览:279
php是否支持gd 浏览:925
旅游查攻略下载什么app 浏览:774