Узнать, содержит ли PDF изображения или текст
Contents
[
Hide
]
Фон
PDF файл может содержать как текст, так и изображения. Иногда пользователю может потребоваться узнать, содержит ли файл PDF только текст или только изображения. Мы также можем определить, содержит ли он и то, и другое, или ни того, ни другого.
Следующий фрагмент кода показывает, как выполнить это требование.
public static void CheckIfPdfContainsTextOrImages()
{
// Создаем объект memoryStream для хранения извлеченного текста из документа
MemoryStream ms = new MemoryStream();
// Создаем объект PdfExtractor
PdfExtractor extractor = new PdfExtractor();
// Привязываем входной PDF документ к extractor
extractor.BindPdf(_dataDir + "FilledForm.pdf");
// Извлекаем текст из входного PDF документа
extractor.ExtractText();
// Сохраняем извлеченный текст в текстовый файл
extractor.GetText(ms);
// Проверяем, если длина MemoryStream больше или равна 1
bool containsText = ms.Length >= 1;
// Извлекаем изображения из входного PDF документа
extractor.ExtractImage();
// Вызываем метод HasNextImage в цикле while. Когда изображения закончатся, цикл завершится
bool containsImage = extractor.HasNextImage();
// Теперь узнаем, является ли этот PDF только текстом или только изображением
if (containsText && !containsImage)
Console.WriteLine("PDF содержит только текст");
else if (!containsText && containsImage)
Console.WriteLine("PDF содержит только изображение");
else if (containsText && containsImage)
Console.WriteLine("PDF содержит как текст, так и изображение");
else if (!containsText && !containsImage)
Console.WriteLine("PDF не содержит ни текста, ни изображения");
}