Самая быстрая PDF-> текстовая библиотека для проекта .NET - PullRequest
3 голосов
/ 22 июля 2010

Я пытаюсь создать приложение, которое будет в основном каталогом моей коллекции PDF.Мы говорим о 15-20 ГБ, содержащих десятки тысяч файлов PDF.Я также планирую включить механизм полнотекстового поиска.Я буду использовать Lucene.NET для поиска (на самом деле, NHibernate.Search) и библиотеку для преобразования PDF-> текста.Какой будет лучшим выбором?Я рассматривал это:

  • PDFBox
  • pdftotext (из xpdf) через оболочку c #
  • iTextSharp

Редактировать Другой хороший вариант - использование iFilters.Насколько хорошо (скорость / качество) они будут работать (Foxit / Adobe) по сравнению с этими библиотеками?

Коммерческие библиотеки, вероятно, не обсуждаются, поскольку это мой частный проект, и у меня нетБюджет для коммерческих решений - хотя PDFTextStream выглядит очень хорошо.

Из того, что я прочитал pdftotext намного быстрее, чем PDFBox.Насколько хорошо работает iTextSharp по сравнению с pdftotext?Или, может быть, кто-то может порекомендовать другие хорошие решения?

Ответы [ 3 ]

3 голосов
/ 22 июля 2010

Если речь идет о частном проекте, идет ли процесс непрерывного преобразования? Например. после того, как вы конвертировали 15-20Gb, вы все еще будете конвертировать?

Причина, по которой я спрашиваю, состоит в том, что я пытаюсь понять, является ли скорость вашей основной проблемой. Если бы я, например, конвертировал библиотеку книг, моей главной заботой было бы качество конвертации, а не скорость. Я всегда могу оставить конверсию на ночь / выходные в случае необходимости!

1 голос
/ 22 июля 2010

Бесплатная версия Foxit PDF IFilter для настольных компьютеров

http://www.foxitsoftware.com/pdf/ifilter/

Она автоматически выполняет индексацию и поиск, но, возможно, их индекс также доступен для использования.Если вы планируете использовать его в приложении, которое вы продаете или распространяете, то, я думаю, это не будет хорошим выбором, но если это только для вас, то это может сработать.

Код Foxit наосновную библиотеку PDF Reader / Text Extraction моей компании , которая не подходит для вашего проекта, но я могу ручаться за скорость и качество результатов базового движка Foxit.

0 голосов
/ 22 июля 2010

Полагаю, использование любой библиотеки - это нормально, но вы хотите искать все эти файлы размером 20 Гб во время поиска?

Для полнотекстового поиска лучше всего создать базу данных, например, sqlite или любую локальную базу данных на клиентском компьютере, прочитать все pdf и преобразовать их в обычный текст и сохранить в базе данных при первом добавлении.

Ваша база данных может быть просто следующей:

Table: PDFFiles
PDFFileID
PDFFilePath
PDFTitle
PDFAuthor
PDFKeywords
PDFFullText....

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

...