Descobrir se PDF contém imagens ou texto
Contents
[
Hide
]
Background
Um arquivo PDF pode conter tanto texto quanto imagens. Às vezes, um usuário pode precisar descobrir se um arquivo PDF contém apenas texto ou se contém apenas imagens. Também podemos descobrir se contém ambos ou nenhum.
O seguinte trecho de código mostra como atender a esse requisito.
public static void CheckIfPdfContainsTextOrImages()
{
// Instanciar um objeto memoryStream para armazenar o texto extraído do Documento
MemoryStream ms = new MemoryStream();
// Instanciar objeto PdfExtractor
PdfExtractor extractor = new PdfExtractor();
// Vincular o documento PDF de entrada ao extractor
extractor.BindPdf(_dataDir + "FilledForm.pdf");
// Extrair texto do documento PDF de entrada
extractor.ExtractText();
// Salvar o texto extraído em um arquivo de texto
extractor.GetText(ms);
// Verificar se o comprimento do MemoryStream é maior ou igual a 1
bool containsText = ms.Length >= 1;
// Extrair imagens do documento PDF de entrada
extractor.ExtractImage();
// Chamando o método HasNextImage no loop while. Quando as imagens terminarem, o loop será encerrado
bool containsImage = extractor.HasNextImage();
// Agora descubra se este PDF é apenas texto ou apenas imagem
if (containsText && !containsImage)
Console.WriteLine("PDF contém apenas texto");
else if (!containsText && containsImage)
Console.WriteLine("PDF contém apenas imagem");
else if (containsText && containsImage)
Console.WriteLine("PDF contém tanto texto quanto imagem");
else if (!containsText && !containsImage)
Console.WriteLine("PDF não contém nem texto nem imagem");
}