分页方法:
打开网络pdf 思路整体还是来源与的加载。
android中加载网络的框架有很多个。如image-laoder, fresco、glide等,首先都是从内存中找,如果内存中没有,接着从本地找,本地没有在从网络下载。
android中加载pdf也是类似,首先从本地找pdf文件,如果本地存在该pdf文件,直接打开,如果本地不存在,将该pdf文件下载到本地在打开。
下载文件用到了retrofit2的库,已经封装到android_pdf中了。
2依赖android_pdf库方法
21 在项目的gradle中增加如下代码:
compile 'comlidongpdf:android_pdf:101'
22 一句代码就可以加载网络pdf。
```
pdfViewfileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址
```
23对fileFromLocalStorage(this,this,this,fileUrl,fileName)的解析
/
```
加载pdf文件
@param onPageChangeListener
@param onLoadCompleteListener
@param onDrawListener
@param fileUrl
@param fileName
/
public void fileFromLocalStorage(
final OnPageChangeListener onPageChangeListener,
final OnLoadCompleteListener onLoadCompleteListener,
final OnDrawListener onDrawListener,
String fileUrl,
final String fileName)
```
1 OnPageChangeListener onPageChangeListener :翻页回调
2 OnLoadCompleteListener onLoadCompleteListener:加载完成的回调
3 OnDrawListener:页面绘制的回调
4 String fileUrl : 文件的网络地址
5 String fileName 文件名称
3使用android_pdf库方法
31写一个布局文件
```
<xml version="10" encoding="utf-8">
<RelativeLayout xmlns:android=">
xmlns:tools=">
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="comlidongpdfandroidpdfMainActivity">
<comlidongpdfPDFView
android:id="@+id/pdfView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
```
32在MainActivity中加载
```
import androidgraphicsCanvas;
import androidosEnvironment;
import androidsupportv7appAppCompatActivity;
import androidosBundle;
import androidutilLog;
import androidwidgetToast;
import comlidongpdfPDFView;
import comlidongpdfapiApiManager;
import comlidongpdflistenerOnDrawListener;
import comlidongpdflistenerOnLoadCompleteListener;
import comlidongpdflistenerOnPageChangeListener;
import comlidongpdfutilFileUtils;
import javaioFile;
import javaioFileOutputStream;
import javaioIOException;
import javaioInputStream;
import ok>
import rxandroidschedulersAndroidSchedulers;
import rxfunctionsAction1;
import rxschedulersSchedulers;
public class MainActivity extends AppCompatActivity implements OnPageChangeListener
,OnLoadCompleteListener, OnDrawListener {
private PDFView pdfView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
pdfView = (PDFView) findViewById( RidpdfView );
displayFromFile1(">
}
/
获取打开网络的pdf文件
@param fileUrl
@param fileName
/
private void displayFromFile1( String fileUrl ,String fileName) {
pdfViewfileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址
}
/
翻页回调
@param page
@param pageCount
/
@Override
public void onPageChanged(int page, int pageCount) {
ToastmakeText( MainActivitythis , "page= " + page +
" pageCount= " + pageCount , ToastLENGTH_SHORT)show();
}
/
加载完成回调
@param nbPages 总共的页数
/
@Override
public void loadComplete(int nbPages) {
ToastmakeText( MainActivitythis , "加载完成" + nbPages , ToastLENGTH_SHORT)show();
}
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
// ToastmakeText( MainActivitythis , "pageWidth= " + pageWidth + "
// pageHeight= " + pageHeight + " displayedPage=" + displayedPage , ToastLENGTH_SHORT)show();
}
```
Adobe
Acrobat
PRO文本菜单下有
分割SPLIT命令(将PDF平均分割成几个部分由你指定每个部分的页数)
提取EXTRACT命令(输入提取的起启页和终止页,下面有选项可以勾取是否提取为单独的一张一张,如果勾选则会单独将你选中的这几页另生成一页一页PDF文档,如果不勾选则直接提取你输入的这几页为当前文本)
也有单独的删除某页或从某页到某页的命令
@echo off & title 获取PDF文件页数,并写入日志 By 依梦琴瑶
cd /d "%~dp0"
::设置PDF文件所在目录
set Pdf_dir=D:\Pdf_files
::设置正常文件的信息保存日志
set Ok_Log=OkLog
::设置错误文件的信息保存日志
set Err_Log=ErrLog
for /f "delims=" %%a in ('dir /a-d/s/b "%Pdf_dir%\pdf"') do (
call :GetInfo "%%~a"
)
cls & echo PDF信息获取完毕。
pause
exit
:GetInfo
echo 获取 "%~nx1" 的页数
set "Pages="
for /f "tokens=2 delims=: " %%i in ('"pdftkexe" "%~1" dump_data 2^>nul ^| findstr /bi "NumberOfPages:" ^|^| echo E:Err') do set "Pages=%%~i"
if "%Pages%"=="Err" (
>>"%Err_Log%" echo 名称: "%~nx1"
) else (
>>"%Ok_Log%" echo 名称: "%~nx1" 页数: %Pages%
)
goto :eof
脚本保存编码为ANSI。
pdftk的路径请根据您电脑上的路径自定义修改或添加。
以上就是关于android 如何获得pdf文件的页数全部的内容,包括:android 如何获得pdf文件的页数、如何提取pdf文件的若干页出来、对文件夹内的pdf文件进行统计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)