PDF adalah format populer yang banyak digunakan untuk berbagi dokumen antara organisasi dan individu. Mungkin ada skenario di mana Anda harus mencari dan mengganti beberapa teks dalam dokumen PDF sebelum dibagikan. Anda dapat melakukannya secara manual, tetapi akan memakan waktu lebih lama dan kurang efisien. Opsi yang lebih baik dan lebih cepat adalah melakukan ini secara terprogram. Pada artikel ini, Anda akan mempelajari cara mencari dan mengganti teks dalam file PDF menggunakan C++.
- C++ API untuk Menemukan dan Mengganti Teks dalam file PDF
- Temukan dan Ganti Teks dalam PDF menggunakan C++
- C ++ Temukan dan Ganti Teks di Halaman PDF Tertentu
- Ganti Teks di Wilayah Halaman PDF menggunakan C++
- Temukan dan Ganti Teks dalam file PDF menggunakan Ekspresi Reguler
- Dapatkan Lisensi Gratis
C++ API untuk Menemukan dan Mengganti Teks dalam file PDF
Aspose.PDF for C++ adalah library C++ untuk bekerja dengan file PDF. Ini menyediakan banyak fitur yang membantu Anda mengotomatiskan berbagai aspek alur kerja PDF Anda. Salah satu fitur tersebut adalah menemukan dan mengganti teks dalam file PDF. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian unduhan.
PM> Install-Package Aspose.PDF.Cpp
Temukan dan Ganti Teks dalam PDF menggunakan C++
Aspose.PDF for C++ menyediakan kelas TextFragmentAbsorber untuk mencari teks dalam dokumen PDF. Anda menginisialisasi kelas ini dengan teks yang ingin Anda temukan dan menggunakannya untuk mengambil semua fragmen teks yang cocok. Setelah semua fragmen tersedia, Anda mengulanginya dan mengganti teksnya. Berikut langkah-langkah mencari dan mengganti teks pada file PDF menggunakan C++.
- Muat file PDF menggunakan kelas Document.
- Buat instance dari kelas TextFragmentAbsorber dan inisialisasi dengan teks yang ingin Anda temukan di file PDF.
- Terima TextFragmentAbsorber untuk halaman menggunakan Document->getPages()->Accept (System::SharedPtrText::TextFragmentAbsorber pengunjung) metode.
- Ambil semua kemunculan teks menggunakan metode TextFragmentAbsorber->getTextFragments().
- Ulangi TextFragmentCollection dan perbarui teks menggunakan metode TextFragment->setText (System::String value).
- Simpan file PDF yang diperbarui menggunakan metode Document->Save (System::String outputFileName).
Berikut ini adalah contoh kode untuk mencari dan mengganti teks di seluruh file PDF menggunakan C++.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
auto textFragmentAbsorber = MakeObject<TextFragmentAbsorber>(u"Document");
// Terima penyerap untuk semua halaman
pdfDocument->get_Pages()->Accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstraksi
auto textFragmentCollection = textFragmentAbsorber->get_TextFragments();
// Ulangi fragmen
for (auto textFragment : textFragmentCollection)
{
// Perbarui teks dan properti lainnya
textFragment->set_Text(u"UPDATED TEXT");
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_FontSize(22);
}
// Simpan dokumen PDF yang dihasilkan.
pdfDocument->Save(u"OutputDirectory\\UpdatedDocument.pdf");
C ++ Temukan dan Ganti Teks di Halaman PDF Tertentu
Mungkin ada situasi di mana Anda hanya ingin mencari dan mengganti teks pada halaman tertentu daripada seluruh dokumen. Untuk ini, terima objek TextFragmentAbsorber untuk halaman tempat Anda ingin mengganti teks. Berikut adalah langkah-langkah untuk mencari dan mengganti teks pada halaman tertentu dalam dokumen PDF.
- Muat file PDF menggunakan kelas Document.
- Buat instance dari kelas TextFragmentAbsorber dan inisialisasi dengan teks yang ingin Anda temukan di file PDF.
- Terima TextFragmentAbsorber untuk halaman tertentu menggunakan Document->getPages()->idxget (int32t index)->Accept (System::SharedPtrText::TextFragmentAbsorber pengunjung) metode.
- Ambil semua kemunculan teks menggunakan metode TextFragmentAbsorber->getTextFragments().
- Ulangi TextFragmentCollection dan perbarui teks menggunakan metode TextFragment->setText (System::String value).
- Simpan file PDF yang diperbarui menggunakan metode Document->Save (System::String outputFileName).
Berikut ini adalah contoh kode untuk mencari dan mengganti teks pada halaman PDF tertentu menggunakan C++.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
auto textFragmentAbsorber = MakeObject<TextFragmentAbsorber>(u"Document");
// Terima penyerap untuk halaman kedua dokumen
pdfDocument->get_Pages()->idx_get(2)->Accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstraksi
auto textFragmentCollection = textFragmentAbsorber->get_TextFragments();
// Ulangi fragmen
for (auto textFragment : textFragmentCollection)
{
// Perbarui teks dan properti lainnya
textFragment->set_Text(u"UPDATED TEXT");
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_FontSize(22);
}
// Simpan dokumen PDF yang dihasilkan.
pdfDocument->Save(u"OutputDirectory\\UpdatedDocument2.pdf");
Ganti Teks di Wilayah Halaman PDF menggunakan C++
Alih-alih mencari seluruh halaman, Anda dapat menentukan wilayah halaman tempat Anda ingin mengganti teks. Untuk ini, API menyediakan kelas Rectangle. Berikut adalah langkah-langkah untuk mencari dan mengganti teks di bagian tertentu halaman PDF.
- Muat file PDF menggunakan kelas Document.
- Buat instance dari kelas TextFragmentAbsorber dan inisialisasi dengan teks yang ingin Anda temukan dan ganti di file PDF.
- Tetapkan wilayah halaman untuk pencarian menggunakan metode TextFragmentAbsorber->getTextSearchOptions()->setRectangle (System::SharedPtr< Aspose::Pdf::Rectangle>).
- Terima TextFragmentAbsorber untuk halaman tertentu menggunakan Document->getPages()->idxget (int32t index)->Accept (System::SharedPtrText::TextFragmentAbsorber pengunjung) metode.
- Ambil semua kemunculan teks menggunakan metode TextFragmentAbsorber->getTextFragments().
- Ulangi TextFragmentCollection dan perbarui teks menggunakan metode TextFragment->setText (System::String value).
- Simpan file PDF yang diperbarui menggunakan metode Document->Save (System::String outputFileName).
Berikut ini adalah contoh kode untuk mencari dan mengganti teks di wilayah halaman PDF tertentu.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
auto textFragmentAbsorber = MakeObject<TextFragmentAbsorber>(u"Document");
// teks pencarian dalam batas halaman
textFragmentAbsorber->get_TextSearchOptions()->set_LimitToPageBounds(true);
// tentukan wilayah halaman untuk TextSearchOptions
textFragmentAbsorber->get_TextSearchOptions()->set_Rectangle(MakeObject<Rectangle>(100, 100, 800, 700));
// Terima penyerap untuk halaman pertama dokumen
pdfDocument->get_Pages()->idx_get(1)->Accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstraksi
auto textFragmentCollection = textFragmentAbsorber->get_TextFragments();
// Ulangi fragmen
for (auto textFragment : textFragmentCollection)
{
// Perbarui teks dan properti lainnya
textFragment->set_Text(u"UPDATED TEXT");
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_FontSize(22);
}
// Simpan dokumen PDF yang dihasilkan.
pdfDocument->Save(u"OutputDirectory\\UpdatedDocument.pdf");
Temukan dan Ganti Teks dalam file PDF menggunakan Ekspresi Reguler
Aspose.PDF for C++ juga menyediakan kemampuan untuk mencari teks menggunakan ekspresi reguler. Dengan ekspresi reguler, Anda dapat menemukan teks seperti alamat email atau nomor telepon, dll. Untuk ini, Anda harus menentukan ekspresi reguler alih-alih string pencarian dan menggunakan kelas TextSearchOptions untuk menunjukkan bahwa Anda menggunakan ekspresi reguler ekspresi untuk mencari. Berikut adalah langkah-langkah untuk mencari dan mengganti teks dalam file PDF menggunakan ekspresi reguler.
- Muat file PDF menggunakan kelas Document.
- Buat instance dari kelas TextFragmentAbsorber dan inisialisasi dengan ekspresi reguler yang ingin Anda gunakan.
- Inisialisasi kelas TextSearchOptions dan teruskan true ke konstruktornya. Ini akan menunjukkan bahwa Anda mencari menggunakan ekspresi reguler.
- Tetapkan objek TextSearchOptions ke kelas TextFragmentAbsorber menggunakan TextFragmentAbsorber->setTextSearchOptions (System::SharedPtrAspose::Pdf::Text::TextSearchOptions nilai) metode.
- Terima TextFragmentAbsorber untuk halaman menggunakan Document->getPages()->Accept (System::SharedPtrText::TextFragmentAbsorber pengunjung) metode.
- Ambil semua kemunculan teks menggunakan metode TextFragmentAbsorber->getTextFragments().
- Ulangi TextFragmentCollection dan perbarui teks menggunakan metode TextFragment->setText (System::String value).
- Simpan file PDF yang diperbarui menggunakan metode Document->Save (System::String outputFileName).
Berikut ini adalah contoh kode untuk mencari dan mengganti teks dalam file PDF menggunakan ekspresi reguler.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 2.pdf");
// Buat objek TextAbsorber untuk menemukan semua contoh frase pencarian masukan
auto textFragmentAbsorber = MakeObject<TextFragmentAbsorber>(u"\\d{4} - \\d{4}"); // Like 1999-2000
// Setel opsi pencarian teks untuk mengaktifkan penggunaan ekspresi reguler
auto textSearchOptions = MakeObject<TextSearchOptions>(true);
textFragmentAbsorber->set_TextSearchOptions(textSearchOptions);
// Terima penyerap untuk semua halaman dokumen
pdfDocument->get_Pages()->Accept(textFragmentAbsorber);
// Dapatkan fragmen teks yang diekstraksi
auto textFragmentCollection = textFragmentAbsorber->get_TextFragments();
// Ulangi fragmen
for (auto textFragment : textFragmentCollection)
{
// Perbarui teks dan properti lainnya
textFragment->set_Text(u"UPDATED TEXT");
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_FontSize(22);
}
// Simpan dokumen PDF yang dihasilkan.
pdfDocument->Save(u"OutputDirectory\\UpdatedDocument.pdf");
Dapatkan Lisensi Gratis
Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara menemukan dan mengganti teks dalam file PDF menggunakan C++. Anda telah melihat cara mengganti teks di seluruh dokumen PDF, halaman PDF tertentu, atau wilayah halaman tertentu. Selanjutnya, Anda telah mempelajari cara mencari dan mengganti teks menggunakan ekspresi reguler. Aspose.PDF for C++ adalah API yang kuat dengan banyak fitur tambahan yang menjadikan bekerja dengan dokumen PDF sangat mudah. Anda dapat menjelajahi API secara mendetail dengan menggunakan dokumentasi resmi. Jika Anda memiliki pertanyaan, jangan ragu untuk menghubungi kami di forum.