Извлечь абзацы из PDF-файла
Это руководство проведет вас через процесс извлечения абзацев из PDF-файла с помощью Aspose.PDF для .NET. Приведенный исходный код C# демонстрирует необходимые шаги.
Требования
Прежде чем начать, убедитесь, что у вас есть следующее:
- Visual Studio или любой другой компилятор C#, установленный на вашем компьютере.
- Aspose.PDF для библиотеки .NET. Вы можете скачать его с официального сайта Aspose или использовать для установки менеджер пакетов, например NuGet.
Шаг 1. Настройте проект
- Создайте новый проект C# в предпочитаемой вами среде разработки.
- Добавьте ссылку на библиотеку Aspose.PDF для .NET.
Шаг 2. Импортируйте необходимые пространства имен.
В файл кода, из которого вы хотите извлечь абзацы, добавьте в верхней части файла следующие директивы:
using Aspose.Pdf;
using System;
using System.Text;
Шаг 3. Установите каталог документов.
В коде найдите строку с надписьюstring dataDir = "YOUR DOCUMENT DIRECTORY";
и заменить"YOUR DOCUMENT DIRECTORY"
с путем к каталогу, в котором хранятся ваши документы.
Шаг 4. Откройте PDF-документ.
Откройте существующий PDF-документ с помощьюDocument
конструктор и передав путь к входному PDF-файлу.
Document doc = new Document(dataDir + "input.pdf");
Шаг 5. Извлечение абзацев
Создайте экземплярParagraphAbsorber
класс и использовать егоVisit
метод извлечения абзацев из документа.
ParagraphAbsorber absorb = new ParagraphAbsorber();
absorb.Visit(doc);
Шаг 6. Перебирайте абзацы
Прокрутите извлеченные абзацы, чтобы получить доступ к текстовому содержимому. Используйте вложенные циклы для перемещения по разделам и строкам внутри каждого абзаца.
foreach(PageMarkup markup in absorber.PageMarkups)
{
int i = 1;
foreach(MarkupSection section in markup.Sections)
{
int j = 1;
foreach(MarkupParagraph paragraph in section.Paragraphs)
{
StringBuilder paragraphText = new StringBuilder();
foreach(List<TextFragment> line in paragraph.Lines)
{
foreach(TextFragment fragment in line)
{
paragraphText.Append(fragment.Text);
}
paragraphText. Append("\r\n");
}
paragraphText. Append("\r\n");
Console.WriteLine("Paragraph {0} of section {1} on page {2}:", j, i, markup.Number);
Console.WriteLine(paragraphText.ToString());
j++;
}
i++;
}
}
Пример исходного кода для извлечения абзацев с использованием Aspose.PDF для .NET
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
//Открыть существующий PDF-файл
Document doc = new Document(dataDir + "input.pdf");
// Создать экземпляр ParagraphAbsorber
ParagraphAbsorber absorber = new ParagraphAbsorber();
absorber.Visit(doc);
foreach (PageMarkup markup in absorber.PageMarkups)
{
int i = 1;
foreach (MarkupSection section in markup.Sections)
{
int j = 1;
foreach (MarkupParagraph paragraph in section.Paragraphs)
{
StringBuilder paragraphText = new StringBuilder();
foreach (List<TextFragment> line in paragraph.Lines)
{
foreach (TextFragment fragment in line)
{
paragraphText.Append(fragment.Text);
}
paragraphText.Append("\r\n");
}
paragraphText.Append("\r\n");
Console.WriteLine("Paragraph {0} of section {1} on page {2}:", j, i, markup.Number);
Console.WriteLine(paragraphText.ToString());
j++;
}
i++;
}
}
Заключение
Вы успешно извлекли абзацы из PDF-документа с помощью Aspose.PDF для .NET. Извлеченные абзацы отобразились в окне консоли.
Часто задаваемые вопросы
Вопрос: Какова цель этого урока?
О: Это руководство призвано помочь вам извлечь абзацы из файла PDF с помощью Aspose.PDF для .NET. Сопровождающий исходный код C# предоставляет практические шаги для решения этой задачи.
Вопрос: Какие пространства имен мне следует импортировать?
О: В файле кода, из которого вы собираетесь извлечь абзацы, включите в начало файла следующие директивы using:
using Aspose.Pdf;
using System;
using System.Text;
Вопрос: Как указать каталог документа?
A: Найдите строкуstring dataDir = "YOUR DOCUMENT DIRECTORY";
в коде и замените"YOUR DOCUMENT DIRECTORY"
с фактическим путем к каталогу вашего документа.
Вопрос: Как открыть существующий PDF-документ?
О: На шаге 4 вы откроете существующий PDF-документ, используяDocument
конструктор и указав путь к входному PDF-файлу.
Вопрос: Как извлечь абзацы из документа?
О: Шаг 5 включает в себя создание экземпляраParagraphAbsorber
класс и используя егоVisit
метод извлечения абзацев из PDF-документа.
Вопрос: Как перебирать извлеченные абзацы?
О: Шаг 6 поможет вам пройтись по извлеченным абзацам. Вложенные циклы используются для перемещения по разделам и строкам внутри каждого абзаца, обеспечивая в конечном итоге доступ к текстовому содержимому и его отображение.
Вопрос: Каков основной вывод из этого урока?
О: Следуя этому руководству, вы научились извлекать абзацы из PDF-документа с помощью Aspose.PDF для .NET. Извлеченные абзацы отображаются в окне консоли, предоставляя вам ценную информацию о структуре содержимого документа.