Мне нужно извлечь данные из .PDF файлов и загрузить их в SQL 2008. Может ли кто-нибудь сказать мне, как продолжить?
Извлечение данных из файлов .PDF
Ответ 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 файлов, но для получения значимых данных это будет проблемой.
Ответ 3
Если вы имеете в виду метаданные, попробуйте этот вопрос (первый ответ)
Чтение/изменение метаданных PDF с помощью iTextSharp
Вам нужно будет делать материал базы данных самостоятельно.
Ответ 4
то, что вам нужно сделать, это использовать инструмент для извлечения текста из PDF, а затем прочитать файл в двоичном считывателе. Затем сохраните его в своей базе данных. Для извлечения текста есть несколько инструментов для использования. в первую очередь:
iTextsharp, который является библиотекой, которая может быть загружена и используется для выполнения обширной работы и углубленных изменений и сборки при работе с документами в формате PDF, а также имеется множество примеров, доступных в Интернете, а также полная книга, в которой объясняются все ее функции. Второй инструмент Adobe PDF iFilter, который является инструментом от Adobe для решения PDF-модификаций и манипуляций.Также Foxit iFilter также представляет собой подобную сборку, которая может делать то, что просят! PDF Box также послужит вам!
это самые известные и хорошо документированные! проверьте следующие примеры: попробуйте следующие примеры в проекте кода:
Разбор PDF файлов в .NET с использованием PDFBox и IKVM.NET. Простой класс для извлечения простого текста из документов PDF с помощью ITextSharp Использование интерфейса IFilter для извлечения текста из разных типов документов Парсер для PDF-форм, написанных на С#.NETОни выполняют эту работу, и их нетрудно понять. Надеюсь, они вам помогут:-)
Последнее замечание:, как и для меня, я бы iTextSharp, как наиболее хорошо документированная библиотека, с большинством доступных примеров.