使用拆分文檔功能。
在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文件的頁數
分頁方法:
打開網路pdf 思路整體還是來源與圖片的載入。
android中載入網路圖片的框架有很多個。如image-laoder, fresco、glide等,首先都是從內存中找圖片,如果內存中沒有,接著從本地找,本地沒有在從網路下載。
android中載入pdf也是類似,首先從本地找pdf文件,如果本地存在該pdf文件,直接打開,如果本地不存在,將該pdf文件下載到本地在打開。
下載文件用到了retrofit2的庫,已經封裝到android_pdf中了。
2.依賴android_pdf庫方法
2.1 在項目的gradle中增加如下代碼:
compile 'com.lidong.pdf:android_pdf:1.0.1'
2.2 一句代碼就可以載入網路pdf。
```
pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //設置pdf文件地址
```
2.3對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庫方法
3.1寫一個布局文件
```
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lidong.pdf.androidpdf.MainActivity">
<com.lidong.pdf.PDFView
android:id="@+id/pdfView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
```
3.2在MainActivity中載入
```
import android.graphics.Canvas;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.lidong.pdf.PDFView;
import com.lidong.pdf.api.ApiManager;
import com.lidong.pdf.listener.OnDrawListener;
import com.lidong.pdf.listener.OnLoadCompleteListener;
import com.lidong.pdf.listener.OnPageChangeListener;
import com.lidong.pdf.util.FileUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import okhttp3.ResponseBody;
import rx.android.schelers.AndroidSchelers;
import rx.functions.Action1;
import rx.schelers.Schelers;
public class MainActivity extends AppCompatActivity implements OnPageChangeListener
,OnLoadCompleteListener, OnDrawListener {
private PDFView pdfView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pdfView = (PDFView) findViewById( R.id.pdfView );
displayFromFile1("http://file.chmsp.com.cn/colligate/file/00100000224821.pdf", "00100000224821.pdf");
}
/**
* 獲取打開網路的pdf文件
* @param fileUrl
* @param fileName
*/
private void displayFromFile1( String fileUrl ,String fileName) {
pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //設置pdf文件地址
}
/**
* 翻頁回調
* @param page
* @param pageCount
*/
@Override
public void onPageChanged(int page, int pageCount) {
Toast.makeText( MainActivity.this , "page= " + page +
" pageCount= " + pageCount , Toast.LENGTH_SHORT).show();
}
/**
* 載入完成回調
* @param nbPages 總共的頁數
*/
@Override
public void loadComplete(int nbPages) {
Toast.makeText( MainActivity.this , "載入完成" + nbPages , Toast.LENGTH_SHORT).show();
}
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
// Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "
// pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();
}
```
『伍』 android pdf如何實現發大後下一頁
是接入第三方的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文件
首先在網路手機助手或者在別的別的第三方下載工具里下載ireader,如圖所示。
4.點擊確定之後會自動安裝pdf組件。安裝好之後,再次在文件管理器內打開pdf文件。這時候就可以閱讀該文件了。