Perkenalan
Tanda tangan teks merupakan metode umum untuk menunjukkan kepengarangan, persetujuan, atau verifikasi dokumen. Dalam manajemen dokumen digital, kemampuan untuk mencari dan mengekstrak tanda tangan teks secara terprogram sangat penting untuk validasi dokumen, otomatisasi alur kerja, dan verifikasi kepatuhan. GroupDocs.Signature untuk .NET menawarkan solusi komprehensif untuk mengimplementasikan fungsi pencarian tanda tangan teks di aplikasi .NET Anda, mendukung berbagai format dokumen dan kemampuan pencarian tingkat lanjut.
Tutorial ini akan memandu Anda melalui proses pencarian tanda tangan teks dalam dokumen menggunakan GroupDocs.Signature untuk .NET, memberikan penjelasan terperinci, petunjuk langkah demi langkah, dan contoh kode praktis.
Prasyarat
Sebelum terjun ke pencarian tanda tangan teks, pastikan Anda memiliki prasyarat berikut:
GroupDocs.Signature untuk Pustaka .NET: Unduh dan instal pustaka dari halaman rilis.
Lingkungan Pengembangan: Siapkan lingkungan pengembangan yang sesuai seperti Visual Studio atau IDE yang kompatibel dengan dukungan .NET.
Contoh Dokumen: Siapkan dokumen uji yang berisi tanda tangan teks untuk verifikasi dan pengujian.
Pengetahuan Dasar C#: Keakraban dengan bahasa pemrograman C# dan konsep kerangka kerja .NET.
Mengimpor Ruang Nama
Mulailah dengan mengimpor namespace yang diperlukan untuk mengakses fungsionalitas GroupDocs.Signature:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
Sekarang, mari kita uraikan proses pencarian tanda tangan teks menjadi langkah-langkah yang jelas dan mudah dikelola:
Langkah 1: Muat Dokumen
Pertama, tentukan jalur dokumen dan inisialisasi Signature
obyek:
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
using (Signature signature = new Signature(filePath))
{
// Kode pencarian tanda tangan teks akan ditambahkan di sini
}
Langkah 2: Konfigurasikan Opsi Pencarian
Buat dan konfigurasikan TextSearchOptions
untuk menentukan bagaimana tanda tangan teks harus dicari:
// Konfigurasikan opsi pencarian teks
TextSearchOptions options = new TextSearchOptions
{
// Cari di semua halaman
AllPages = true,
// Opsional: tentukan teks yang cocok
// Teks = "Disetujui",
// Opsional: tentukan jenis pencocokan
// MatchType = TextMatchType.Berisi
};
Langkah 3: Lakukan Pencarian Tanda Tangan Teks
Jalankan operasi pencarian menggunakan opsi yang dikonfigurasi:
// Cari tanda tangan teks
List<TextSignature> signatures = signature.Search<TextSignature>(options);
Langkah 4: Proses dan Tampilkan Hasil
Ulangi tanda tangan teks yang ditemukan dan tampilkan detailnya:
// Menampilkan hasil pencarian
Console.WriteLine($"\nSource document '{fileName}' contains {signatures.Count} text signature(s):");
foreach (TextSignature textSignature in signatures)
{
Console.WriteLine($"Text signature found at page {textSignature.PageNumber} with text '{textSignature.Text}'");
Console.WriteLine($"Location: X={textSignature.Left}, Y={textSignature.Top}, Width={textSignature.Width}, Height={textSignature.Height}");
Console.WriteLine($"Signature type: {textSignature.SignatureImplementation}");
Console.WriteLine();
}
Contoh Lengkap
Berikut adalah contoh kerja lengkap yang menunjukkan cara mencari tanda tangan teks dalam dokumen:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
namespace TextSignatureSearch
{
class Program
{
static void Main(string[] args)
{
// Jalur dokumen - perbarui dengan jalur file Anda
string filePath = "sample_multiple_signatures.docx";
string fileName = Path.GetFileName(filePath);
// Inisialisasi instance Tanda Tangan
using (Signature signature = new Signature(filePath))
{
try
{
// Konfigurasikan opsi pencarian teks
TextSearchOptions options = new TextSearchOptions
{
// Cari di semua halaman
AllPages = true
};
// Cari tanda tangan teks
List<TextSignature> signatures = signature.Search<TextSignature>(options);
// Menampilkan hasil pencarian
Console.WriteLine($"\nSource document '{fileName}' contains {signatures.Count} text signature(s):");
foreach (TextSignature textSignature in signatures)
{
Console.WriteLine($"Text signature found at page {textSignature.PageNumber} with text '{textSignature.Text}'");
Console.WriteLine($"Location: X={textSignature.Left}, Y={textSignature.Top}, Width={textSignature.Width}, Height={textSignature.Height}");
Console.WriteLine($"Signature type: {textSignature.SignatureImplementation}");
Console.WriteLine();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Teknik Pencarian Tanda Tangan Teks Lanjutan
Pencarian dengan Kriteria Teks Tertentu
Untuk pencarian yang lebih tertarget, Anda dapat menyesuaikan TextSearchOptions
untuk memfilter berdasarkan konten teks tertentu:
// Buat opsi pencarian dengan kriteria teks tertentu
TextSearchOptions options = new TextSearchOptions
{
// Cari di semua halaman
AllPages = true,
// Cari teks tertentu
Text = "Approved",
// Tentukan jenis pencocokan (Berisi, Tepat, DimulaiDengan, BerakhirDengan)
MatchType = TextMatchType.Contains,
// Pencarian peka huruf besar-kecil
MatchCase = true
};
Pencarian di Area Dokumen Tertentu
Anda dapat membatasi pencarian ke area tertentu dalam dokumen:
// Buat opsi pencarian untuk area dokumen tertentu
TextSearchOptions options = new TextSearchOptions
{
// Cari hanya pada halaman tertentu
AllPages = false,
PageNumber = 1,
// Atau tentukan beberapa halaman
PagesSetup = new PagesSetup { Pages = new List<int> { 1, 3, 5 } },
// Tentukan area tertentu untuk pencarian di dalamnya
Rectangle = new Rectangle(100, 100, 400, 200)
};
Pemfilteran Teks Lanjutan
Terapkan logika penyaringan khusus untuk persyaratan pencarian yang lebih kompleks:
// Buat opsi pencarian dengan pemrosesan khusus
TextSearchOptions options = new TextSearchOptions
{
AllPages = true,
// Tentukan pemrosesan kustom menggunakan delegasi
ProcessCompleted = (TextSignature signature) =>
{
// Logika validasi khusus
bool isValid = signature.Text.Length > 5 &&
(signature.Text.Contains("Approved") || signature.Text.Contains("Verified"));
return isValid;
}
};
Mencari Gaya Teks yang Berbeda
Gunakan properti font dan gaya untuk memfilter tanda tangan teks:
// Buat opsi pencarian yang menargetkan tampilan teks tertentu
TextSearchOptions options = new TextSearchOptions
{
// Filter berdasarkan nama font
FontName = "Arial",
// Filter berdasarkan rentang ukuran font
MinFontSize = 10,
MaxFontSize = 14,
// Filter berdasarkan warna font
ForeColor = System.Drawing.Color.Blue
};
Mengekstrak Metadata Tanda Tangan
Ekstrak dan proses metadata yang terkait dengan tanda tangan teks:
foreach (TextSignature signature in signatures)
{
// Akses metadata tanda tangan
if (signature.Metadata != null && signature.Metadata.Count > 0)
{
Console.WriteLine("Signature Metadata:");
foreach (var item in signature.Metadata)
{
Console.WriteLine($" {item.Key}: {item.Value}");
}
}
// Periksa tanggal pembuatan dan modifikasi tanda tangan
if (signature.CreatedOn.HasValue)
{
Console.WriteLine($"Created on: {signature.CreatedOn.Value}");
}
if (signature.ModifiedOn.HasValue)
{
Console.WriteLine($"Modified on: {signature.ModifiedOn.Value}");
}
}
Kesimpulan
Dalam panduan komprehensif ini, kami telah membahas cara mencari tanda tangan teks dalam dokumen menggunakan GroupDocs.Signature untuk .NET. Dari operasi pencarian dasar hingga teknik lanjutan, kini Anda memiliki pengetahuan untuk menerapkan fungsionalitas tanda tangan teks yang andal di aplikasi .NET Anda.
GroupDocs.Signature menyediakan kerangka kerja yang kuat dan fleksibel untuk bekerja dengan tanda tangan teks, memungkinkan Anda membangun sistem verifikasi dokumen yang canggih, solusi alur kerja otomatis, dan alat validasi kepatuhan.
Pertanyaan yang Sering Diajukan
Bisakah saya mencari tanda tangan teks dalam dokumen yang dilindungi kata sandi?
Ya, GroupDocs.Signature mendukung pencarian tanda tangan teks dalam dokumen yang dilindungi kata sandi. Anda dapat memberikan kata sandi saat menginisialisasi Signature
obyek:
LoadOptions loadOptions = new LoadOptions { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// Cari tanda tangan teks
}
Format dokumen apa yang didukung untuk pencarian tanda tangan teks?
GroupDocs.Signature mendukung berbagai format dokumen termasuk PDF, dokumen Microsoft Office (Word, Excel, PowerPoint), format OpenOffice, gambar, dan banyak lagi.
Dapatkah saya mencari tanda tangan teks dengan format tertentu seperti tebal atau miring?
Ya, Anda dapat mencari tanda tangan teks dengan format tertentu dengan menggunakan FontBold
Dan FontItalic
properti di TextSearchOptions
:
TextSearchOptions options = new TextSearchOptions
{
FontBold = true,
FontItalic = true
};
Bagaimana cara meningkatkan kinerja pencarian untuk dokumen berukuran besar?
Untuk dokumen besar, Anda dapat mengoptimalkan kinerja pencarian dengan:
- Membatasi pencarian ke halaman tertentu alih-alih mencari seluruh dokumen
- Menggunakan kriteria pencarian yang lebih spesifik untuk mengurangi jumlah kecocokan
- Menentukan area pencarian menggunakan
Rectangle
properti jika Anda tahu di mana tanda tangan biasanya berada - Menerapkan pagination di aplikasi Anda untuk memproses hasil pencarian secara batch
Dapatkah saya mendeteksi apakah tanda tangan teks ditambahkan secara elektronik atau merupakan bagian dari konten dokumen asli?
GroupDocs.Signature dapat membedakan berbagai jenis elemen teks dalam dokumen. SignatureImplementation
milik TextSignature
menunjukkan apakah teks tersebut merupakan tanda tangan formal atau konten dokumen biasa. Namun, penentuan definitif mungkin bergantung pada bagaimana teks tersebut awalnya ditambahkan ke dalam dokumen.