Mengganti Teks dalam File PDF

Mengganti Teks dalam File PDF yang Ada (facades)

Untuk mengganti teks dalam file PDF yang ada, Anda perlu membuat objek dari kelas pdfContentEditor, dan mengikat file PDF input menggunakan metode bindPdf. Setelah itu, Anda perlu memanggil metode replaceText. Anda perlu menyimpan file PDF yang diperbarui menggunakan metode save dari kelas pdfContentEditor. Cuplikan kode berikut menunjukkan cara mengganti teks dalam file PDF yang ada.

package com.aspose.pdf.examples;

import com.aspose.pdf.TextState;
import com.aspose.pdf.facades.PdfContentEditor;
import com.aspose.pdf.facades.ReplaceTextStrategy;

public class PdfContentEditorText {

    private static String _dataDir = "/home/aspose/pdf-examples/Samples/";

    public static void ReplaceText01(){
        PdfContentEditor editor = new PdfContentEditor();
        editor.bindPdf(_dataDir+"sample.pdf");        
        editor.replaceText("Value", "Label");

        // simpan file keluaran
        editor.save(_dataDir+"replaced_text_demo.pdf");
    }    

Periksa bagaimana tampilannya dalam dokumen asli:

Ganti Teks

Dan periksa hasil setelah mengganti teks:

Hasil Mengganti Teks

Dalam contoh kedua, Anda akan melihat bagaimana, selain mengganti teks, Anda juga dapat memperbesar atau memperkecil ukuran font:

public static void ReplaceText02(){
        PdfContentEditor editor = new PdfContentEditor();
        editor.bindPdf(_dataDir+"sample.pdf");        
        editor.replaceText("Value", "Label", 12);

        // simpan file output
        editor.save(_dataDir+"replaced_text_demo.pdf");
    }    

Untuk kemungkinan yang lebih canggih dalam bekerja dengan teks kami, kami akan menggunakan metode TextState. Dengan metode ini, kita dapat membuat teks menjadi tebal, miring, berwarna, dan sebagainya.

public static void ReplaceText03(){
        PdfContentEditor editor = new PdfContentEditor();
        editor.bindPdf(_dataDir+"sample.pdf");        
        TextState textState = new TextState();
        textState.setFontSize(12);
        editor.replaceText("Value", "Label", textState);

        // simpan file output
        editor.save(_dataDir+"replaced_text_demo.pdf");
    }    

Jika Anda perlu mengganti semua teks yang ditentukan dalam dokumen, gunakan cuplikan kode berikut. Artinya, penggantian teks akan terjadi di mana pun teks yang ditentukan untuk penggantian akan ditemukan, dan juga akan menghitung jumlah penggantian tersebut.

    public static void ReplaceText04()
    {
        PdfContentEditor editor = new PdfContentEditor();
        editor.bindPdf(_dataDir + "sample.pdf");
        int count = 0;
        while (editor.replaceText("Value", "Label")) count++;

        System.out.println(count+" kejadian telah diganti.");

        // simpan file output
        editor.save(_dataDir + "PdfContentEditorDemo04.pdf");
    }

Ganti semua Teks

Cuplikan kode berikut menunjukkan cara melakukan semua penggantian teks tetapi pada halaman tertentu dari dokumen Anda.

    public static void ReplaceText05()
    {
        PdfContentEditor editor = new PdfContentEditor();
        editor.bindPdf(_dataDir + "sample.pdf");
        int count = 0;
        while (editor.replaceText("9999", 2, "ABCDE")) count++;
        System.out.println(count+" kejadian telah diganti.");

        // simpan file output
        editor.save(_dataDir + "PdfContentEditorDemo05.pdf");
    }

Dalam cuplikan kode berikut, kami akan menunjukkan cara mengganti, misalnya, angka tertentu dengan huruf yang kami butuhkan.

    public static void ReplaceText06()
    {
        PdfContentEditor editor = new PdfContentEditor();
        ReplaceTextStrategy replaceTextStrategy = new ReplaceTextStrategy();
        replaceTextStrategy.setRegularExpressionUsed(true);
        replaceTextStrategy.setReplaceScope(ReplaceTextStrategy.Scope.ReplaceAll);
        editor.setReplaceTextStrategy(replaceTextStrategy);
        
        editor.bindPdf(_dataDir + "sample.pdf");
        editor.replaceText("\\d{4}", "ABCDE");

        // simpan file keluaran
        editor.save(_dataDir + "PdfContentEditorDemo06.pdf");
    }

}