Для поиска PDF-файла мы будем использовать Aspose.PDF для C++ API, который представляет собой многофункциональный, мощный и простой в использовании API для работы с документами для платформы cpp. Откройте менеджер пакетов NuGet, найдите Aspose.pdf и установите. Вы также можете использовать следующую команду из консоли Package Manager.
PM > Install-Package Aspose.PDF.Cpp
Поиск PDF-файла через C++
Вам понадобится Aspose.PDF для C++, чтобы попробовать код в своей среде.
- Загрузите PDF-файл с экземпляром документа.
- Создайте объект TextFragmentAbsorber с текстом для поиска в качестве параметра.
- Получите коллекцию всех извлеченных фрагментов текста.
- Просмотрите каждый фрагмент, чтобы получить всю информацию о нем.
Поиск PDF-файлов - C++
Document pdfDocument = new Document("source.pdf");
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\d{4}-\d{4}");
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);
pdfDocument.getPages().accept(textFragmentAbsorber);
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
System.out.println("Text :- " + textFragment.getText());
System.out.println("Position :- " + textFragment.getPosition());
System.out.println("XIndent :- " + textFragment.getPosition().getXIndent());
System.out.println("YIndent :- " + textFragment.getPosition().getYIndent());
System.out.println("Font - Name :- " + textFragment.getTextState().getFont().getFontName());
System.out.println("Font - IsAccessible :- " + textFragment.getTextState().getFont().isAccessible());
System.out.println("Font - IsEmbedded - " + textFragment.getTextState().getFont().isEmbedded());
System.out.println("Font - IsSubset :- " + textFragment.getTextState().getFont().isSubset());
System.out.println("Font Size :- " + textFragment.getTextState().getFontSize());
System.out.println("Foreground Color :- " + textFragment.getTextState().getForegroundColor());
}