Android'de Word'den PDF'e Dönüştürücü

Word’den PDF’e, yaygın olarak uygulanan belge dönüştürmelerinden biridir ve bu nedenle MS Word, Word belgelerini PDF olarak kaydetmek için yerleşik bir özellik sunar. PDF, belgeleri paylaşmak veya çevrimiçi tutmak için tercih edilen bir biçim olduğundan, çeşitli senaryolarda Word’den PDF’ye dönüştürme ihtiyacı ortaya çıkar. Öte yandan, Android destekli akıllı telefonlar, uygulamalar aracılığıyla telefonların içine çok sayıda işlevsellik koyarak insanların hayatını kolaylaştırdı. Bu trendleri takip ederek, bu makalede size bir Android uygulamasında Word belgelerini PDF’ye nasıl dönüştüreceğinizi göstereceğim. Gösterim için, aşağıdaki özelliklere sahip birkaç adımda Android için basit bir Word’den PDF’e Dönüştürücü uygulaması oluşturacağız.

  • Bir Word belgesini PDF’ye dönüştürme
  • PDF’yi telefonun belleğine kaydedin
  • Uygulama içinde PDF’yi görüntüleyin

Android için Word’den PDF’e Dönüştürücü Kitaplığı

MS Word belgelerini PDF biçimine dönüştürmek için, birkaç satır kod kullanarak DOC/DOCX belgelerini sorunsuz bir şekilde PDF dosyalarına dönüştürmenizi sağlayan Aspose.Words for Android via Java kullanacağız. API’yi indirebilir veya Maven yapılandırmasını kullanarak yükleyebilirsiniz.

Android’de Word’ü PDF’ye Dönüştürme Adımları

Java aracılığıyla Aspose.Words for Android kullanarak Android’de basit bir Word to PDF Converter uygulaması oluşturmak için izlenecek adımlar şunlardır:

  • Android Studio’da (veya Eclipse) yeni bir proje oluşturun ve “Boş Etkinlik” şablonunu seçin.
android stüdyosunda yeni proje oluştur
  • Projenizi yapılandırın.
Android Projesini Yapılandır
  • build.gradle dosyasını açın.
android stüdyosunda build.gradle'ı güncelleyin
  • build.gradle dosyasına aşağıdaki depolar bölümünü ekleyin.
repositories {
    mavenCentral()
    maven { url "https://repository.aspose.com/repo/" }
}
  • build.gradle’ın bağımlılıklar bölümüne aşağıdaki girişleri ekleyin.
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')
  • build.gradle’daki defaultConfig bölümünün altına aşağıdaki girişi ekleyerek multidex’i etkinleştirin.
// enable multiDex
multiDexEnabled true
  • Build.gradle dosyasının tamamı aşağıdaki gibi görünecektir:
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'i etkinleştir
        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'
}
  • Activitymain.xml dosyasını açın.
düzen xml'i güncelle
  • Ana aktivitenin düzeni için aşağıdaki betiği yapıştırın.
<?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>
  • MainActivity.java dosyasını açın.
pdf dönüştürücü koduna kelime ekle
  • Aşağıdaki Java kodunu MainActivity.java’ya yapıştırın.
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);
        // Aspose.Words lisansınız varsa lisansı uygulayın...
        applyLicense();
        // ağaç görünümünü al ve metnini ayarla
        textView = (TextView) findViewById(R.id.textView);
        textView.setText("Select a Word DOCX file...");
        // kayan düğmenin tıklama dinleyicisini tanımlayın
        FloatingActionButton myFab = (FloatingActionButton) findViewById(R.id.fab);
        myFab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    // dosya seçiciden Word dosyasını açın ve PDF'ye dönüştürün
                    openaAndConvertFile(null);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    private void openaAndConvertFile(Uri pickerInitialUri) {
        // belgeyi açmak için yeni bir niyet oluştur
        Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        // MS Word belgeleri için mim türleri
        String[] mimetypes = {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/msword"};
        intent.setType("*/*");
        intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
        // faaliyete başla
        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();
                // seçili belgeyi bir Giriş akışında aç
                try (InputStream inputStream =
                             getContentResolver().openInputStream(document);) {
                    Document doc = new Document(inputStream);
                    // DOCX'i PDF olarak kaydet
                    doc.save(outputPDF);
                    // PDF dosya konumunu tost ve ağaç görünümünde göster (isteğe bağlı)
                    Toast.makeText(MainActivity.this, "File saved in: " + outputPDF, Toast.LENGTH_LONG).show();
                    textView.setText("PDF saved at: " + outputPDF);
                    // dönüştürülen PDF'yi görüntüle
                    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() {
        // PDFView'a PDF yükleyin
        PDFView pdfView = (PDFView) findViewById(R.id.pdfView);
        pdfView.fromFile(new File(outputPDF)).load();
    }
    public void applyLicense()
    {
        // lisans ayarla
        License lic= new License();
        InputStream inputStream = getResources().openRawResource(R.raw.license);
        try {
            lic.setLicense(inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  • Uygulamayı oluşturun ve Android akıllı telefonunuzda veya sanal bir cihazda çalıştırın.
  • Ayarlar->Uygulamalar->İzinler->İzin yöneticisi->Depolama’ya giderek bu uygulamanın depolamaya erişmesine izin verin.
Android Word'den PDF'e Dönüştürücü

Word’den PDF’e Dönüştürücü - Kaynak Kodu

Word to PDF Converter uygulamasının tam kaynak kodunu GitHub adresinden indirin.

Çözüm

Bu makalede, Android uygulamalarında Word’ü PDF’ye nasıl dönüştüreceğinizi öğrendiniz. Benzer işlevleri kendi uygulamanıza entegre edebilir veya bu dönüştürücüyü istediğiniz seviyeye kadar geliştirebilirsiniz. Aspose.Words for Android via Java hakkında belgelerden daha fazla bilgi edinebilirsiniz.

Ayrıca bakınız