翻譯|使用教程|編輯:李顯亮|2020-08-04 11:30:39.240|閱讀 892 次
概述:在本文中,將展示如何在Android應用程序中將Word集成為PDF轉換功能。為了演示,本文將在幾個步驟中為Android構建一個簡單的Word轉PDF應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Word轉PDF是一種廣泛使用的文檔轉換方式,這也是MS Word提供內置功能將Word文檔保存為PDF的原因。由于PDF是共享文檔或在線保存文檔的首選格式,因此在各種情況下都需要Word到PDF的轉換。另一方面,基于Android的智能手機通過應用程序在手機中提供了多種功能,使人們的生活更加輕松。
在本文中,將展示如何在Android應用程序中將Word集成為PDF轉換功能。為了演示,本文將在幾個步驟中為Android構建一個簡單的Word轉PDF應用程序,該應用程序具有以下功能。
>>Aspose.Words for Android via Java 更新至新版本v20.6,點擊下方按鈕下載最新版。
點擊下載最新版Aspose.Words for Android via Java
以下是在Java中使用Aspose.Words for Android通過Java創建簡單的Word to PDF Converter應用程序的步驟:
 
 
		 
 
		 
 
		repositories {
    mavenCentral()
    maven { url "http://repository.aspose.com/repo/" }
}
	implementation 'com.google.android.material:material:1.1.0' implementation 'com.android.support:multidex:2.0.0' implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' compile (group: 'com.aspose', name: 'aspose-words', version: '20.6', classifier: 'android.via.java')
// enable multiDex multiDexEnabled true
apply plugin: 'com.android.application'
android {
    compileSdkVersion 30
    buildToolsVersion "30.0.1"
    defaultConfig {
        applicationId "com.example.wordtopdf"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        // enable multiDex
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    mavenCentral()
    maven { url "http://repository.aspose.com/repo/" }
}
dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'com.android.support:multidex:2.0.0'
    implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
    compile (group: 'com.aspose', name: 'aspose-words', version: '20.6', classifier: 'android.via.java')
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
	 
 
		 
 
		package com.example.wordtopdf;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import com.aspose.words.Document;
import com.aspose.words.License;
import com.github.barteksc.pdfviewer.PDFView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import android.os.Environment;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
@TargetApi(Build.VERSION_CODES.FROYO)
public class MainActivity extends AppCompatActivity {
    private static final int PICK_PDF_FILE = 2;
    private final String storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + File.separator;
    private final String outputPDF = storageDir + "Converted_PDF.pdf";
    private TextView textView = null;
    private Uri document = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // apply the license if you have the Aspose.Words license...
        applyLicense();
        // get treeview and set its text
        textView = (TextView) findViewById(R.id.textView);
        textView.setText("Select a Word DOCX file...");
        // define click listener of floating button
        FloatingActionButton myFab = (FloatingActionButton) findViewById(R.id.fab);
        myFab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    // open Word file from file picker and convert to PDF
                    openaAndConvertFile(null);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    private void openaAndConvertFile(Uri pickerInitialUri) {
        // create a new intent to open document
        Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        // mime types for MS Word documents
        String[] mimetypes = {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/msword"};
        intent.setType("*/*");
        intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
        // start activiy
        startActivityForResult(intent, PICK_PDF_FILE);
    }
    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    @Override
    public void onActivityResult(int requestCode, int resultCode,
                                 Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
        if (resultCode == Activity.RESULT_OK) {
            if (intent != null) {
                document = intent.getData();
                // open the selected document into an Input stream
                try (InputStream inputStream =
                             getContentResolver().openInputStream(document);) {
                    Document doc = new Document(inputStream);
                    // save DOCX as PDF
                    doc.save(outputPDF);
                    // show PDF file location in toast as well as treeview (optional)
                    Toast.makeText(MainActivity.this, "File saved in: " + outputPDF, Toast.LENGTH_LONG).show();
                    textView.setText("PDF saved at: " + outputPDF);
                    // view converted PDF
                    viewPDFFile();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, "File not found: " + e.getMessage(), Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
                }
            }
        }
    }
    public void viewPDFFile() {
        // load PDF into the PDFView
        PDFView pdfView = (PDFView) findViewById(R.id.pdfView);
        pdfView.fromFile(new File(outputPDF)).load();
    }
    public void applyLicense()
    {
        // set license
        License lic= new License();
        InputStream inputStream = getResources().openRawResource(R.raw.license);
        try {
            lic.setLicense(inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
	 
 
		以下是如何使用剛剛創建的Word to PDF Converter應用程序將Word DOCX文檔轉換為PDF的演示。(點擊圖片觀看)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn