PDF C++'dan Metin Çıkarın

Belgelerden (PDF, kelime işlemci, web sayfaları vb.) metin çıkarma, dijital bilgi dünyasında çeşitli kullanım durumlarına sahiptir. Örneğin, belgeleri ayrıştırmak, metin analizi yapmak, bilgi almak, belgelerin içeriğini veritabanlarına depolamak vb. için kullanılabilir. Daraltırsak, PDF, dijital bilgileri saklamak ve paylaşmak için en yaygın kullanılan belge biçimlerinden biridir. Bu popülerlik, PDF belgelerini büyük bir bilgi kaynağı haline getirir. Bu nedenle, PDF belgelerinden metin ayrıştırma veya ayıklama, muhtemelen bir dizi metin analizi senaryosunda yer alabilir.

C++ uygulamalarında PDF ayrıştırmasını otomatikleştirmek için bu makale, C++ kullanılarak PDF belgelerinden nasıl metin çıkarılacağını gösterir. Aşağıdaki metin çıkarma senaryolarını kapsar:

  • C++ kullanarak bir PDF belgesinden metin ayıklayın.
  • C++ kullanarak bir PDF belgesindeki belirli sayfalardan metin çıkarın.
  • C++ kullanarak bir PDF belgesinden sayfa sayfa metin çıkarma.

C++ PDF Okuyucu ve Metin Çıkarıcı Kitaplığı

PDF belgelerinden metin ayıklamak için, PDF belgeleri oluşturmak, dönüştürmek ve ayrıştırmak için güçlü bir PDF kitaplığı olan Aspose.PDF for C++ kullanacağız. İndirilenler bölümünden kitaplık dosyalarını ve çalışan kod örneklerini indirebilirsiniz.

C++ kullanarak PDF’den Metin Çıkarın

Aspose.PDF for C++, PDF belgelerini birkaç basit adımda ayrıştırmanıza olanak tanır. Aşağıda, bir PDF belgesinden metin çıkarmak için reçete verilmiştir.

Aşağıdaki kod örneği, C++ kullanarak bir PDF’den nasıl metin çıkarılacağını gösterir.

auto extractor = MakeObject<Facades::PdfExtractor>();
// Kaynak PDF belgesini bağla
extractor->BindPdf(u"candy.pdf");
// PDF'den PdfExtractor'a metin ayıklayın
extractor->ExtractText();
auto memStream = MakeObject<IO::MemoryStream>();
// Metni bellek akışına kaydet
extractor->GetText(memStream);
auto unicode = System::Text::Encoding::get_Unicode();
String allText = unicode->GetString(memStream->ToArray());
// Ayıklanan metni yazdır
Console::WriteLine(u"Extracted text:");
Console::WriteLine(allText);

C++ kullanarak PDF’deki Belirli Sayfalardan Metin Çıkarma

Yalnızca birkaç PDF sayfasından metin çıkarmanız gerektiğinde durum söz konusu olabilir. Böyle bir durumda, başlangıç ve bitiş sayfa numaralarını ayarlayarak PDF’de bir sayfa aralığı belirleyebilirsiniz. Aşağıdakiler, bir PDF belgesindeki belirli sayfalardan metin ayıklama adımlarıdır.

Aşağıdaki kod örneği, C++‘da belirli PDF sayfalarından metnin nasıl çıkarılacağını gösterir.

auto extractor = MakeObject<Facades::PdfExtractor>();
// Kaynak PDF belgesini bağla
extractor->BindPdf(u"candy.pdf");
// Sayfa aralığını ayarla
extractor->set_StartPage(2);
extractor->set_EndPage(2);
// PDF'den PdfExtractor'a metin ayıklayın
extractor->ExtractText();
auto memStream = MakeObject<IO::MemoryStream>();
// Metni bellek akışına kaydet
extractor->GetText(memStream);
auto unicode = System::Text::Encoding::get_Unicode();
String allText = unicode->GetString(memStream->ToArray());
// Ayıklanan metni yazdır
Console::WriteLine(u"Extracted text:");
Console::WriteLine(allText);

C++ ile PDF’den Sayfa Sayfa Metnini Çıkarın

Bir PDF belgesindeki tüm metni ayıklamak yerine, belgenin her sayfasından ayrı ayrı metin çıkarabilirsiniz. Aşağıda, PDF’den sayfa sayfa metin ayıklama gerçekleştirme adımları verilmiştir.

Aşağıdaki kod örneği, C++‘da PDF’den sayfa sayfa metin ayıklamayı gösterir.

auto extractor = MakeObject<Facades::PdfExtractor>();
// Kaynak PDF belgesini bağla
extractor->BindPdf(u"candy.pdf");
// PDF'den PdfExtractor'a metin ayıklayın
extractor->ExtractText();
auto unicode = System::Text::Encoding::get_Unicode();
int pageNumber = 1; 

while (extractor->HasNextPageText())
{
	auto memStream = MakeObject<IO::MemoryStream>();
	extractor->GetNextPageText(memStream);
	String text;
	// StreamReader yapıcısında Unicode kodlama türünü belirtin
	auto streamReader = MakeObject<StreamReader>(memStream, unicode);
	streamReader->get_BaseStream()->Seek(0, SeekOrigin::Begin);
	text = streamReader->ReadToEnd();
	streamReader->Dispose();
	// Ayıklanan metni yazdır
	std::cout << "Page: " << pageNumber << "\n";
	Console::Write(text);
	std::cout << "\n------------------------\n";
	pageNumber++;
}

Aspose.PDF for C++ hakkında daha fazlasını öğrenin

Belgeleri kullanarak Aspose.PDF for C++ hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız