Подтвердить что ты не робот

Извлечение данных из файлов .PDF

Мне нужно извлечь данные из .PDF файлов и загрузить их в SQL 2008. Может ли кто-нибудь сказать мне, как продолжить?

4b9b3361

Ответ 1

Вот пример использования iTextSharp для извлечения текстовых данных из PDF. Вам придется с этим поиграть, чтобы сделать именно то, что вы хотите, я думаю, что это хороший план. Вы можете увидеть, как StringBuilder используется для хранения текста, но вы можете легко изменить его для использования SQL.

    static void Main(string[] args)
    {
        PdfReader reader = new PdfReader(@"c:\test.pdf");

        StringBuilder builder = new StringBuilder();

        for (int x = 1; x <= reader.NumberOfPages; x++)
        {
            PdfDictionary page = reader.GetPageN(x);
            IRenderListener listener = new SBTextRenderer(builder);
            PdfContentStreamProcessor processor = new PdfContentStreamProcessor(listener);
            PdfDictionary pageDic = reader.GetPageN(x);
            PdfDictionary resourcesDic = pageDic.GetAsDict(PdfName.RESOURCES);
            processor.ProcessContent(ContentByteUtils.GetContentBytesForPage(reader, x), resourcesDic);
        }
    }

public class SBTextRenderer : IRenderListener
{

    private StringBuilder _builder;
    public SBTextRenderer(StringBuilder builder)
    {
        _builder = builder;
    }
    #region IRenderListener Members

    public void BeginTextBlock()
    {
    }

    public void EndTextBlock()
    {
    }

    public void RenderImage(ImageRenderInfo renderInfo)
    {
    }

    public void RenderText(TextRenderInfo renderInfo)
    {
        _builder.Append(renderInfo.GetText());
    }

    #endregion
}

Ответ 2

Представьте, если бы вы задали этот вопрос. Как загрузить данные из произвольных текстовых файлов в таблицу SQL. Проблема заключается не в открытии текстового файла и его чтении, а в получении значимых данных из файлов автоматически.

Итак, вы можете использовать iText или pdfSharp для чтения PDF файлов, но для получения значимых данных это будет проблемой.

Ответ 4

то, что вам нужно сделать, это использовать инструмент для извлечения текста из PDF, а затем прочитать файл в двоичном считывателе. Затем сохраните его в своей базе данных. Для извлечения текста есть несколько инструментов для использования. в первую очередь:

iTextsharp, который является библиотекой, которая может быть загружена и используется для выполнения обширной работы и углубленных изменений и сборки при работе с документами в формате PDF, а также имеется множество примеров, доступных в Интернете, а также полная книга, в которой объясняются все ее функции. Второй инструмент Adobe PDF iFilter, который является инструментом от Adobe для решения PDF-модификаций и манипуляций.
Также Foxit iFilter также представляет собой подобную сборку, которая может делать то, что просят! PDF Box также послужит вам!

это самые известные и хорошо документированные! проверьте следующие примеры: попробуйте следующие примеры в проекте кода:

Разбор PDF файлов в .NET с использованием PDFBox и IKVM.NET. Простой класс для извлечения простого текста из документов PDF с помощью ITextSharp Использование интерфейса IFilter для извлечения текста из разных типов документов Парсер для PDF-форм, написанных на С#.NET
Они выполняют эту работу, и их нетрудно понять. Надеюсь, они вам помогут:-)

Последнее замечание:, как и для меня, я бы iTextSharp, как наиболее хорошо документированная библиотека, с большинством доступных примеров.