Word zu PDF Konverter für Android

Die Konvertierung von Word in PDF ist eine der am häufigsten praktizierten Dokumentenkonvertierungen, und aus diesem Grund bietet MS Word eine integrierte Funktion zum Speichern von Word Dokumenten als PDF. Da PDF ein bevorzugtes Format ist, um die Dokumente zu teilen oder online zu halten, ist die Konvertierung von Word in PDF in verschiedenen Szenarien erforderlich. Auf der anderen Seite haben Android-betriebene Smartphones das Leben der Menschen erleichtert, indem sie eine Vielzahl von Funktionen über Apps in die Telefone integriert haben. Um diese Trends im Auge zu behalten, zeige ich Ihnen in diesem Artikel, wie Sie Word Dokumente in einer Android-App in PDF konvertieren. Zur Demonstration erstellen wir in wenigen Schritten eine einfache Word to PDF Converter-App für Android mit den folgenden Funktionen.

  • Konvertieren Sie ein Word Dokument in ein PDF
  • PDF im Telefonspeicher speichern
  • PDF in der App anzeigen

Word to PDF Converter Bibliothek für Android

Zum Konvertieren von MS Word Dokumenten in das PDF Format verwenden wir Aspose.Words for Android via Java, mit dem Sie DOC/DOCX Dokumente mit ein paar Codezeilen nahtlos in PDF Dateien konvertieren können. Sie können die API entweder herunterladen oder sie mithilfe der Maven-Konfiguration installieren.

Schritte zum Konvertieren von Word in PDF in Android

Im Folgenden sind die Schritte zum Erstellen einer einfachen Word zu PDF Konverter-App in Android mit Aspose.Words für Android über Java aufgeführt:

  • Erstellen Sie ein neues Projekt in Android Studio (oder Eclipse) und wählen Sie die Vorlage „Empty Activity“ aus.
Erstellen Sie ein neues Projekt in Android Studio
  • Konfigurieren Sie Ihr Projekt.
Konfigurieren Sie das Android Projekt
  • Öffnen Sie die build.gradle Datei.
aktualisieren Sie build.gradle in Android Studio
  • Fügen Sie den folgenden Repositories-Abschnitt in build.gradle hinzu.
repositories {
    mavenCentral()
    maven { url "https://repository.aspose.com/repo/" }
}
  • Fügen Sie die folgenden Einträge im Abschnitt „dependencies“ von build.gradle hinzu.
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')
  • Aktivieren Sie Multidex, indem Sie den folgenden Eintrag im Abschnitt defaultConfig in build.gradle hinzufügen.
// enable multiDex
multiDexEnabled true
  • Die vollständige build.gradle Datei sieht wie folgt aus:
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"
        // MultiDex aktivieren
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
    maven { url "https://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'
}
  • Öffnen Sie die Datei activitymain.xml.
Layout-XML aktualisieren
  • Fügen Sie das folgende Skript für das Layout der Hauptaktivität ein.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdfView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="-26dp"
        tools:layout_editor_absoluteY="-16dp" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#D3FFFFFF"
        android:textColor="#A3A2A2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteY="39dp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="408dp"
        android:layout_gravity="bottom|right"
        android:layout_marginEnd="36dp"
        android:layout_marginRight="36dp"
        android:layout_marginBottom="140dp"
        app:backgroundTint="#00BCD4"
        app:layout_anchorGravity="bottom|right|end"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/pdfView"
        app:srcCompat="@android:drawable/stat_sys_upload"
        tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout>
  • Öffnen Sie die MainActivity.java Datei.
fügen sie wort zum pdf Konvertercode hinzu
  • Fügen Sie den folgenden Java-Code in MainActivity.java ein.
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);
        // wenden Sie die Lizenz an, wenn Sie die Aspose.Words-Lizenz haben...
        applyLicense();
        // Holen Sie sich die Baumansicht und legen Sie den Text fest
        textView = (TextView) findViewById(R.id.textView);
        textView.setText("Select a Word DOCX file...");
        // Definieren Sie den Klick-Listener der schwebenden Schaltfläche
        FloatingActionButton myFab = (FloatingActionButton) findViewById(R.id.fab);
        myFab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    // Öffnen Sie eine Word Datei aus der Dateiauswahl und konvertieren Sie sie in PDF
                    openaAndConvertFile(null);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    private void openaAndConvertFile(Uri pickerInitialUri) {
        // Erstellen Sie eine neue Absicht zum Öffnen des Dokuments
        Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        // MIME typen für MS Word Dokumente
        String[] mimetypes = {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/msword"};
        intent.setType("*/*");
        intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
        // Aktivität starten
        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();
                // Öffnen Sie das ausgewählte Dokument in einem Eingabestream
                try (InputStream inputStream =
                             getContentResolver().openInputStream(document);) {
                    Document doc = new Document(inputStream);
                    // DOCX als PDF speichern
                    doc.save(outputPDF);
                    // zeigt den Speicherort der PDF Datei im Toast sowie in der Baumansicht (optional)
                    Toast.makeText(MainActivity.this, "File saved in: " + outputPDF, Toast.LENGTH_LONG).show();
                    textView.setText("PDF saved at: " + outputPDF);
                    // Konvertiertes PDF anzeigen
                    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() {
        // PDF in den PDFView laden
        PDFView pdfView = (PDFView) findViewById(R.id.pdfView);
        pdfView.fromFile(new File(outputPDF)).load();
    }
    public void applyLicense()
    {
        // Lizenz festlegen
        License lic= new License();
        InputStream inputStream = getResources().openRawResource(R.raw.license);
        try {
            lic.setLicense(inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  • Erstellen Sie die App und führen Sie sie auf Ihrem Android-Smartphone oder einem virtuellen Gerät aus.
  • Erlauben Sie dieser App den Zugriff auf den Speicher, indem Sie zu Einstellungen->Apps->Berechtigungen->Berechtigungsmanager->Speicher gehen.
Android-Word zu PDF Konverter

Word to PDF Converter - Quellcode

Laden Sie den vollständigen Quellcode der Word to PDF Converter-App von GitHub herunter.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Word in Android-Apps in PDF konvertieren. Sie können ähnliche Funktionen in Ihre eigene App integrieren oder diesen Konverter auf das gewünschte Niveau erweitern. Weitere Informationen zu Aspose.Words für Android über Java finden Sie in der Dokumentation.

Siehe auch