Извлечение текста из PDF с помощью PdfSharp может быть очень простым, в зависимости от типа документа и того, что вы собираетесь с ним делать.Если текст в документе представлен в виде текста, а не изображения, и вам не важны позиция или формат, тогда все довольно просто.Этот код получает весь текст первой страницы в PDF-файлах, с которыми я работаю:
var doc = PdfReader.Open(docPath);
string pageText = doc.Pages[0].Contents.Elements.GetDictionary(0).Stream.ToString();
doc.Pages.Count
дает вам общее количество страниц, и вы получаете доступ к каждой из них через doc.Pages
массив с индексом.Я не рекомендую использовать foreach
и Linq здесь, так как интерфейсы не очень хорошо реализованы.Индекс, переданный в GetDictionary
, предназначен для элемента PDF-документа - это может отличаться в зависимости от того, как создаются документы.Если вы не получили искомый текст, попробуйте выполнить цикл по всем элементам.
Текст, который он создает, будет полон различных кодов форматирования PDF.Если вам нужно только извлечь строки, вы можете найти те, которые вам нужны, с помощью Regex или любого другого подходящего кода для поиска строк.Если вам нужно что-то сделать с форматированием или позиционированием, тогда удачи - насколько я могу судить, вам это понадобится.