C # temukan dan ganti teks dalam PDF

Opsi temukan dan ganti memungkinkan untuk mengganti bagian teks tertentu dalam dokumen sekaligus. Dengan cara ini, Anda tidak perlu mencari dan memperbarui setiap kemunculan teks di seluruh dokumen secara manual. Artikel ini bahkan selangkah lebih maju dan mencakup cara mengotomatiskan fitur temukan dan ganti teks dalam dokumen PDF. Khususnya, Anda akan mempelajari cara menemukan dan mengganti teks dalam PDF di C# .NET. Kami juga akan mendemonstrasikan cara mengganti teks di halaman tertentu, atau wilayah halaman menggunakan C#..

C# .NET API untuk Menemukan dan Mengganti Teks dalam PDF - Unduhan Gratis

Aspose.PDF for .NET adalah pustaka kelas C# yang menyediakan fitur manipulasi PDF dasar dan lanjutan untuk aplikasi .NET. API juga memungkinkan Anda menemukan dan mengganti teks dalam file PDF dengan berbagai cara secara mulus. Anda dapat mengunduh DLL API atau menginstalnya menggunakan NuGet.

PM> Install-Package Aspose.PDF

Temukan dan Ganti Teks dalam PDF menggunakan C#

Berikut adalah langkah-langkah untuk mencari dan mengganti teks dalam dokumen PDF.

Contoh kode berikut menunjukkan cara menemukan dan mengganti teks dalam PDF menggunakan C#.

// Buka dokumen
Document pdfDocument = new Document("Document.pdf");

// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Terima penyerap untuk semua halaman
pdfDocument.Pages.Accept(textFragmentAbsorber);

// Dapatkan fragmen teks yang diekstraksi
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Ulangi fragmen
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Perbarui teks dan properti lainnya
    textFragment.Text = "TEXT";
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}
            
// Simpan dokumen PDF yang dihasilkan.
pdfDocument.Save("updated-document.pdf");

C # Ganti Teks di Halaman PDF Tertentu

Berikut adalah langkah-langkah untuk mencari dan mengganti teks pada halaman tertentu dalam dokumen PDF.

  • Gunakan kelas Document untuk memuat dokumen PDF menggunakan jalurnya.
  • Buat instance dari kelas TextFragmentAbsorber dan berikan frasa pencarian ke konstruktornya.
  • Terima penyerap teks untuk halaman yang diinginkan menggunakan [Document.Pages1.Accept(TextFragmentAbsorber)]12.
  • Ulangi koleksi TextFragmentAbsorber.TextFragments yang ditemukan dan ganti teks di setiap fragmen.
  • Simpan dokumen PDF yang diperbarui menggunakan metode Document.Save(String).

Contoh kode berikut menunjukkan cara menemukan dan mengganti teks di halaman tertentu PDF menggunakan C#.

// Buka dokumen
Document pdfDocument = new Document("Document.pdf");

// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Terima penyerap yang diinginkan
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Dapatkan fragmen teks yang diekstraksi
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Ulangi fragmen
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Perbarui teks dan properti lainnya
    textFragment.Text = "TEXT";
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}

// Simpan dokumen PDF yang dihasilkan.
pdfDocument.Save("updated-document.pdf");

Ganti Teks di Wilayah Halaman PDF di C

Anda juga dapat menemukan dan mengganti teks di bagian tertentu halaman dalam dokumen PDF. Langkah-langkah berikut menunjukkan cara menentukan wilayah tertentu dan kemudian mengganti teks di dalamnya.

Contoh kode berikut menunjukkan cara menemukan dan mengganti teks di wilayah halaman tertentu dalam PDF menggunakan C#.

// memuat file PDF
Document pdf = new Document("Document.pdf");

// instantiate objek TextFragment Absorber
TextFragmentAbsorber TextFragmentAbsorberAddress = new TextFragmentAbsorber();

// teks pencarian dalam batas halaman
TextFragmentAbsorberAddress.TextSearchOptions.LimitToPageBounds = true;

// tentukan wilayah halaman untuk TextSearch Options
TextFragmentAbsorberAddress.TextSearchOptions.Rectangle = new Rectangle(100, 100, 200, 200);

// cari teks dari halaman pertama file PDF
pdf.Pages[1].Accept(TextFragmentAbsorberAddress);

// ulangi melalui TextFragment individual
foreach (TextFragment tf in TextFragmentAbsorberAddress.TextFragments)
{
    // perbarui teks ke karakter kosong
    tf.Text = "";
}

// simpan file PDF yang diperbarui setelah penggantian teks
pdf.Save("output.pdf");

C # Ganti Teks dalam PDF dengan Ekspresi Reguler (Regex)

Anda juga dapat menggunakan ekspresi reguler untuk menemukan dan mengganti kemunculan teks yang cocok dengan pola tertentu. Untuk ini, Anda hanya perlu memberikan ekspresi reguler alih-alih frasa pencarian biasa dan menggunakan TextSearchOptions. Berikut ini adalah langkah-langkah untuk melakukannya.

Contoh kode berikut menunjukkan cara menemukan dan mengganti teks dalam PDF menggunakan ekspresi reguler menggunakan C#.

// Buka dokumen
Document pdfDocument = new Document("Document.pdf");

// Buat objek TextAbsorber untuk menemukan semua frasa yang cocok dengan ekspresi reguler
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Like 1999-2000

// Setel opsi pencarian teks untuk menentukan penggunaan ekspresi reguler
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;

// Terima penyerap untuk satu halaman
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Dapatkan fragmen teks yang diekstraksi
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Ulangi fragmen
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Perbarui teks dan properti lainnya
    textFragment.Text = "New Phrase";
    // Setel ke instance objek.
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}

// Simpan PDF
pdfDocument.Save("output.pdf");

Kesimpulan

Otomatisasi PDF diadopsi secara luas akhir-akhir ini untuk memanipulasi dokumen PDF dari dalam aplikasi web atau desktop. Artikel ini membahas fitur otomatisasi PDF yang berguna untuk menemukan dan mengganti teks dalam PDF di C#. Panduan langkah demi langkah dan contoh kode telah menunjukkan cara menemukan dan mengganti teks di seluruh PDF, halaman tertentu di PDF, atau wilayah halaman. Anda dapat menjelajahi lebih banyak fitur lanjutan menggunakan dokumentasi API.

Lihat juga